| /linux/drivers/net/phy/ |
| H A D | mdio_device.c | 33 static int mdio_device_register_reset(struct mdio_device *mdiodev) in mdio_device_register_reset() argument 38 mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev, in mdio_device_register_reset() 40 if (IS_ERR(mdiodev->reset_gpio)) in mdio_device_register_reset() 41 return PTR_ERR(mdiodev->reset_gpio); in mdio_device_register_reset() 43 if (mdiodev->reset_gpio) in mdio_device_register_reset() 44 gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset"); in mdio_device_register_reset() 46 reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy"); in mdio_device_register_reset() 48 gpiod_put(mdiodev->reset_gpio); in mdio_device_register_reset() 49 mdiodev->reset_gpio = NULL; in mdio_device_register_reset() 53 mdiodev->reset_ctrl = reset; in mdio_device_register_reset() [all …]
|
| H A D | xilinx_gmii2rgmii.c | 85 static int xgmiitorgmii_probe(struct mdio_device *mdiodev) in xgmiitorgmii_probe() argument 87 struct device *dev = &mdiodev->dev; in xgmiitorgmii_probe() 120 priv->mdio = mdiodev; in xgmiitorgmii_probe()
|
| H A D | phy_device.c | 216 static void phy_mdio_device_free(struct mdio_device *mdiodev) in phy_mdio_device_free() argument 220 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_free() 230 static void phy_mdio_device_remove(struct mdio_device *mdiodev) in phy_mdio_device_remove() argument 234 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_remove() 753 struct mdio_device *mdiodev; in phy_device_create() local 761 mdiodev = &dev->mdio; in phy_device_create() 762 mdiodev->dev.parent = &bus->dev; in phy_device_create() 763 mdiodev->dev.bus = &mdio_bus_type; in phy_device_create() 764 mdiodev->dev.type = &mdio_bus_phy_type; in phy_device_create() 765 mdiodev->bus = bus; in phy_device_create() [all …]
|
| /linux/drivers/net/dsa/xrs700x/ |
| H A D | xrs700x_mdio.c | 27 struct mdio_device *mdiodev = context; in xrs700x_mdio_reg_read() local 28 struct device *dev = &mdiodev->dev; in xrs700x_mdio_reg_read() 34 ret = mdiodev_write(mdiodev, XRS_MDIO_IBA1, uval); in xrs700x_mdio_reg_read() 42 ret = mdiodev_write(mdiodev, XRS_MDIO_IBA0, uval); in xrs700x_mdio_reg_read() 48 ret = mdiodev_read(mdiodev, XRS_MDIO_IBD); in xrs700x_mdio_reg_read() 62 struct mdio_device *mdiodev = context; in xrs700x_mdio_reg_write() local 63 struct device *dev = &mdiodev->dev; in xrs700x_mdio_reg_write() 67 ret = mdiodev_write(mdiodev, XRS_MDIO_IBD, (u16)val); in xrs700x_mdio_reg_write() 75 ret = mdiodev_write(mdiodev, XRS_MDIO_IBA1, uval); in xrs700x_mdio_reg_write() 83 ret = mdiodev_write(mdiodev, XRS_MDIO_IBA0, uval); in xrs700x_mdio_reg_write() [all …]
|
| /linux/include/linux/ |
| H A D | mdio.h | 33 void (*device_free)(struct mdio_device *mdiodev); 34 void (*device_remove)(struct mdio_device *mdiodev); 66 int (*probe)(struct mdio_device *mdiodev); 69 void (*remove)(struct mdio_device *mdiodev); 72 void (*shutdown)(struct mdio_device *mdiodev); 94 void mdio_device_free(struct mdio_device *mdiodev); 96 int mdio_device_register(struct mdio_device *mdiodev); 97 void mdio_device_remove(struct mdio_device *mdiodev); 98 void mdio_device_reset(struct mdio_device *mdiodev, int value); 102 static inline void mdio_device_get(struct mdio_device *mdiodev) in mdio_device_get() argument [all …]
|
| /linux/drivers/net/dsa/ |
| H A D | mt7530-mdio.c | 31 ret = bus->write(bus, priv->mdiodev->addr, 0x1f, page); in mt7530_regmap_write() 35 ret = bus->write(bus, priv->mdiodev->addr, r, lo); in mt7530_regmap_write() 39 ret = bus->write(bus, priv->mdiodev->addr, 0x10, hi); in mt7530_regmap_write() 54 ret = bus->write(bus, priv->mdiodev->addr, 0x1f, page); in mt7530_regmap_read() 58 ret = bus->read(bus, priv->mdiodev->addr, r); in mt7530_regmap_read() 63 ret = bus->read(bus, priv->mdiodev->addr, 0x10); in mt7530_regmap_read() 155 mt7530_probe(struct mdio_device *mdiodev) in mt7530_probe() argument 161 dn = mdiodev->dev.of_node; in mt7530_probe() 163 priv = devm_kzalloc(&mdiodev->dev, sizeof(*priv), GFP_KERNEL); in mt7530_probe() 167 priv->bus = mdiodev->bus; in mt7530_probe() [all …]
|
| H A D | lan9303_mdio.c | 99 static int lan9303_mdio_probe(struct mdio_device *mdiodev) in lan9303_mdio_probe() argument 104 sw_dev = devm_kzalloc(&mdiodev->dev, sizeof(struct lan9303_mdio), in lan9303_mdio_probe() 109 sw_dev->chip.regmap = devm_regmap_init(&mdiodev->dev, NULL, sw_dev, in lan9303_mdio_probe() 113 dev_err(&mdiodev->dev, "regmap init failed: %d\n", ret); in lan9303_mdio_probe() 118 sw_dev->device = mdiodev; in lan9303_mdio_probe() 119 dev_set_drvdata(&mdiodev->dev, sw_dev); in lan9303_mdio_probe() 120 sw_dev->chip.dev = &mdiodev->dev; in lan9303_mdio_probe() 124 ret = lan9303_probe(&sw_dev->chip, mdiodev->dev.of_node); in lan9303_mdio_probe() 128 dev_info(&mdiodev->dev, "LAN9303 MDIO driver loaded successfully\n"); in lan9303_mdio_probe() 133 static void lan9303_mdio_remove(struct mdio_device *mdiodev) in lan9303_mdio_remove() argument [all …]
|
| H A D | mt7530.c | 72 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write() 78 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write() 84 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write() 90 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_write() 109 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_rmw() 115 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_rmw() 121 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_rmw() 127 ret = bus->read(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_rmw() 136 ret = bus->write(bus, MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in core_rmw() 2817 MT753X_CTRL_PHY_ADDR(priv->mdiodev->addr), in mt7531_setup() [all …]
|
| H A D | mt7530.h | 908 struct mdio_device *mdiodev; member
|
| /linux/drivers/net/dsa/microchip/ |
| H A D | ksz8863_smi.c | 133 static int ksz8863_smi_probe(struct mdio_device *mdiodev) in ksz8863_smi_probe() argument 135 struct device *ddev = &mdiodev->dev; in ksz8863_smi_probe() 146 dev = ksz_switch_alloc(&mdiodev->dev, chip, mdiodev); in ksz8863_smi_probe() 155 dev->regmap[i] = devm_regmap_init(&mdiodev->dev, in ksz8863_smi_probe() 159 return dev_err_probe(&mdiodev->dev, in ksz8863_smi_probe() 166 if (mdiodev->dev.platform_data) in ksz8863_smi_probe() 167 dev->pdata = mdiodev->dev.platform_data; in ksz8863_smi_probe() 175 dev_set_drvdata(&mdiodev->dev, dev); in ksz8863_smi_probe() 180 static void ksz8863_smi_remove(struct mdio_device *mdiodev) in ksz8863_smi_remove() argument 182 struct ksz_device *dev = dev_get_drvdata(&mdiodev->dev); in ksz8863_smi_remove() [all …]
|
| /linux/drivers/net/dsa/b53/ |
| H A D | b53_mdio.c | 292 static int b53_mdio_probe(struct mdio_device *mdiodev) in b53_mdio_probe() argument 301 if (mdiodev->addr != BRCM_PSEUDO_PHY_ADDR && mdiodev->addr != 0) { in b53_mdio_probe() 302 dev_err(&mdiodev->dev, "leaving address %d to PHY\n", in b53_mdio_probe() 303 mdiodev->addr); in b53_mdio_probe() 308 phy_id = mdiobus_read(mdiodev->bus, 0, 2) << 16; in b53_mdio_probe() 309 phy_id |= mdiobus_read(mdiodev->bus, 0, 3); in b53_mdio_probe() 320 dev_err(&mdiodev->dev, "Unsupported device: 0x%08x\n", phy_id); in b53_mdio_probe() 332 strcmp(mdiodev->bus->name, "sf2 user mii")) in b53_mdio_probe() 335 dev = b53_switch_alloc(&mdiodev->dev, &b53_mdio_ops, mdiodev->bus); in b53_mdio_probe() 341 dev->bus = mdiodev->bus; in b53_mdio_probe() [all …]
|
| /linux/drivers/net/dsa/realtek/ |
| H A D | realtek-mdio.h | 18 int realtek_mdio_probe(struct mdio_device *mdiodev); 19 void realtek_mdio_remove(struct mdio_device *mdiodev); 20 void realtek_mdio_shutdown(struct mdio_device *mdiodev); 33 static inline int realtek_mdio_probe(struct mdio_device *mdiodev) in realtek_mdio_probe() argument 38 static inline void realtek_mdio_remove(struct mdio_device *mdiodev) in realtek_mdio_remove() argument 42 static inline void realtek_mdio_shutdown(struct mdio_device *mdiodev) in realtek_mdio_shutdown() argument
|
| H A D | realtek-mdio.c | 121 int realtek_mdio_probe(struct mdio_device *mdiodev) in realtek_mdio_probe() argument 123 struct device *dev = &mdiodev->dev; in realtek_mdio_probe() 131 priv->bus = mdiodev->bus; in realtek_mdio_probe() 132 priv->mdio_addr = mdiodev->addr; in realtek_mdio_probe() 155 void realtek_mdio_remove(struct mdio_device *mdiodev) in realtek_mdio_remove() argument 157 struct realtek_priv *priv = dev_get_drvdata(&mdiodev->dev); in realtek_mdio_remove() 178 void realtek_mdio_shutdown(struct mdio_device *mdiodev) in realtek_mdio_shutdown() argument 180 struct realtek_priv *priv = dev_get_drvdata(&mdiodev->dev); in realtek_mdio_shutdown()
|
| /linux/drivers/phy/broadcom/ |
| H A D | phy-bcm-ns2-pcie.c | 18 struct mdio_device *mdiodev = phy_get_drvdata(p); in ns2_pci_phy_init() local 22 rc = mdiodev_write(mdiodev, BLK_ADDR_REG_OFFSET, PLL_AFE1_100MHZ_BLK); in ns2_pci_phy_init() 27 rc = mdiodev_write(mdiodev, PLL_CLK_AMP_OFFSET, PLL_CLK_AMP_2P05V); in ns2_pci_phy_init() 34 dev_err(&mdiodev->dev, "Error %d writing to phy\n", rc); in ns2_pci_phy_init() 43 static int ns2_pci_phy_probe(struct mdio_device *mdiodev) in ns2_pci_phy_probe() argument 45 struct device *dev = &mdiodev->dev; in ns2_pci_phy_probe() 55 phy_set_drvdata(phy, mdiodev); in ns2_pci_phy_probe()
|
| /linux/drivers/net/pcs/ |
| H A D | pcs-xpcs.c | 214 return mdiodev_c45_read(xpcs->mdiodev, dev, reg); in xpcs_read() 219 return mdiodev_c45_write(xpcs->mdiodev, dev, reg, val); in xpcs_write() 224 return mdiodev_c45_modify(xpcs->mdiodev, dev, reg, mask, set); in xpcs_modify() 230 return mdiodev_c45_modify_changed(xpcs->mdiodev, dev, reg, mask, set); in xpcs_modify_changed() 307 dev_warn(&(__xpcs)->mdiodev->dev, ##__args); \ 403 dev_err(&xpcs->mdiodev->dev, "%s: XPCS access returned %pe\n", in xpcs_link_up_usxgmii() 729 dev_err(&xpcs->mdiodev->dev, "switch interface failed: %pe\n", in xpcs_pre_config() 737 dev_err(&xpcs->mdiodev->dev, "unsupported interface %s\n", in xpcs_pre_config() 744 dev_err(&xpcs->mdiodev->dev, "soft reset failed: %pe\n", in xpcs_pre_config() 1174 phylink_mii_c45_pcs_get_state(xpcs->mdiodev, state); in xpcs_get_state() [all …]
|
| H A D | pcs-xpcs.h | 111 struct mdio_device *mdiodev; member
|
| /linux/drivers/net/dsa/mxl862xx/ |
| H A D | mxl862xx-host.c | 46 dev_warn(&priv->mdiodev->dev, in mxl862xx_crc_err_work_fn() 193 return __mdiodev_c45_read(priv->mdiodev, MDIO_MMD_VEND1, addr); in mxl862xx_reg_read() 198 return __mdiodev_c45_write(priv->mdiodev, MDIO_MMD_VEND1, addr, data); in mxl862xx_reg_write() 322 dev_err(&priv->mdiodev->dev, in mxl862xx_send_cmd() 339 dev_dbg(&priv->mdiodev->dev, "CMD %04x DATA %*ph\n", cmd, size, data); in mxl862xx_api_wrap() 341 mutex_lock_nested(&priv->mdiodev->bus->mdio_lock, MDIO_MUTEX_NESTED); in mxl862xx_api_wrap() 472 dev_dbg(&priv->mdiodev->dev, "RET %d DATA %*ph\n", ret, size, data); in mxl862xx_api_wrap() 475 mutex_unlock(&priv->mdiodev->bus->mdio_lock); in mxl862xx_api_wrap() 484 mutex_lock_nested(&priv->mdiodev->bus->mdio_lock, MDIO_MUTEX_NESTED); in mxl862xx_reset() 493 mutex_unlock(&priv->mdiodev->bus->mdio_lock); in mxl862xx_reset()
|
| /linux/drivers/net/dsa/qca/ |
| H A D | ar9331.c | 1031 static int ar9331_sw_probe(struct mdio_device *mdiodev) in ar9331_sw_probe() argument 1037 priv = devm_kzalloc(&mdiodev->dev, sizeof(*priv), GFP_KERNEL); in ar9331_sw_probe() 1041 priv->regmap = devm_regmap_init(&mdiodev->dev, &ar9331_sw_bus, priv, in ar9331_sw_probe() 1045 dev_err(&mdiodev->dev, "regmap init failed: %d\n", ret); in ar9331_sw_probe() 1049 priv->sw_reset = devm_reset_control_get(&mdiodev->dev, "switch"); in ar9331_sw_probe() 1051 dev_err(&mdiodev->dev, "missing switch reset\n"); in ar9331_sw_probe() 1055 priv->sbus = mdiodev->bus; in ar9331_sw_probe() 1056 priv->dev = &mdiodev->dev; in ar9331_sw_probe() 1063 ds->dev = &mdiodev->dev; in ar9331_sw_probe() 1069 dev_set_drvdata(&mdiodev->dev, priv); in ar9331_sw_probe() [all …]
|
| /linux/drivers/net/dsa/lantiq/ |
| H A D | mxl-gsw1xx.c | 687 static int gsw1xx_probe(struct mdio_device *mdiodev) in gsw1xx_probe() argument 689 struct device *dev = &mdiodev->dev; in gsw1xx_probe() 700 priv->mdio_dev = mdiodev; in gsw1xx_probe() 789 static void gsw1xx_remove(struct mdio_device *mdiodev) in gsw1xx_remove() argument 791 struct gswip_priv *priv = dev_get_drvdata(&mdiodev->dev); in gsw1xx_remove() 803 static void gsw1xx_shutdown(struct mdio_device *mdiodev) in gsw1xx_shutdown() argument 805 struct gswip_priv *priv = dev_get_drvdata(&mdiodev->dev); in gsw1xx_shutdown() 813 dev_set_drvdata(&mdiodev->dev, NULL); in gsw1xx_shutdown()
|
| /linux/drivers/clk/qcom/ |
| H A D | nsscc-qca8k.c | 2188 static int nss_cc_qca8k_probe(struct mdio_device *mdiodev) in nss_cc_qca8k_probe() argument 2193 ret = nss_cc_qca8k_clock_enable_and_reset(&mdiodev->dev); in nss_cc_qca8k_probe() 2195 return dev_err_probe(&mdiodev->dev, ret, "Fail to reset NSSCC\n"); in nss_cc_qca8k_probe() 2197 regmap = devm_regmap_init(&mdiodev->dev, NULL, mdiodev->bus, nss_cc_qca8k_desc.config); in nss_cc_qca8k_probe() 2199 return dev_err_probe(&mdiodev->dev, PTR_ERR(regmap), "Failed to init regmap\n"); in nss_cc_qca8k_probe() 2201 return qcom_cc_really_probe(&mdiodev->dev, &nss_cc_qca8k_desc, regmap); in nss_cc_qca8k_probe()
|