Lines Matching +full:dsa +full:- +full:v2
1 // SPDX-License-Identifier: GPL-2.0
34 mdev = dev->priv; in ksz8863_mdio_read()
36 mutex_lock_nested(&mdev->bus->mdio_lock, MDIO_MUTEX_NESTED); in ksz8863_mdio_read()
40 ret = __mdiobus_read(mdev->bus, ((tmp & 0xE0) >> 5) | in ksz8863_mdio_read()
50 mutex_unlock(&mdev->bus->mdio_lock); in ksz8863_mdio_read()
63 mdev = dev->priv; in ksz8863_mdio_write()
68 mutex_lock_nested(&mdev->bus->mdio_lock, MDIO_MUTEX_NESTED); in ksz8863_mdio_write()
69 for (i = 0; i < (count - 4); i++) { in ksz8863_mdio_write()
72 ret = __mdiobus_write(mdev->bus, ((tmp & 0xE0) >> 5), in ksz8863_mdio_write()
79 mutex_unlock(&mdev->bus->mdio_lock); in ksz8863_mdio_write()
136 struct device *ddev = &mdiodev->dev; in ksz8863_smi_probe()
143 dev = ksz_switch_alloc(&mdiodev->dev, mdiodev); in ksz8863_smi_probe()
145 return -ENOMEM; in ksz8863_smi_probe()
149 return -EINVAL; in ksz8863_smi_probe()
153 rc.lock_arg = &dev->regmap_mutex; in ksz8863_smi_probe()
154 rc.wr_table = chip->wr_table; in ksz8863_smi_probe()
155 rc.rd_table = chip->rd_table; in ksz8863_smi_probe()
156 dev->regmap[i] = devm_regmap_init(&mdiodev->dev, in ksz8863_smi_probe()
159 if (IS_ERR(dev->regmap[i])) { in ksz8863_smi_probe()
160 return dev_err_probe(&mdiodev->dev, in ksz8863_smi_probe()
161 PTR_ERR(dev->regmap[i]), in ksz8863_smi_probe()
167 if (mdiodev->dev.platform_data) in ksz8863_smi_probe()
168 dev->pdata = mdiodev->dev.platform_data; in ksz8863_smi_probe()
172 /* Main DSA driver may not be started yet. */ in ksz8863_smi_probe()
176 dev_set_drvdata(&mdiodev->dev, dev); in ksz8863_smi_probe()
183 struct ksz_device *dev = dev_get_drvdata(&mdiodev->dev); in ksz8863_smi_remove()
191 struct ksz_device *dev = dev_get_drvdata(&mdiodev->dev); in ksz8863_smi_shutdown()
194 dsa_switch_shutdown(dev->ds); in ksz8863_smi_shutdown()
196 dev_set_drvdata(&mdiodev->dev, NULL); in ksz8863_smi_shutdown()
217 .name = "ksz8863-switch",
226 MODULE_LICENSE("GPL v2");