imx: imx9: Add TRDC driver for TRDC init
[platform/kernel/u-boot.git] / net / mdio-mux-uclass.c
index 6674eb6..94b90e0 100644 (file)
@@ -54,18 +54,13 @@ static struct udevice *mmux_get_parent_mdio(struct udevice *mux)
        return pdata->mdio_parent;
 }
 
-static struct mdio_ops *mmux_get_mdio_parent_ops(struct udevice *mux)
-{
-       return mdio_get_ops(mmux_get_parent_mdio(mux));
-}
-
 /* call driver select function before performing MDIO r/w */
 static int mmux_change_sel(struct udevice *ch, bool sel)
 {
        struct udevice *mux = ch->parent;
        struct mdio_mux_perdev_priv *priv = dev_get_uclass_priv(mux);
        struct mdio_mux_ops *ops = mdio_mux_get_ops(mux);
-       struct mdio_mux_ch_data *ch_data = dev_get_parent_platdata(ch);
+       struct mdio_mux_ch_data *ch_data = dev_get_parent_plat(ch);
        int err = 0;
 
        if (sel) {
@@ -90,14 +85,13 @@ static int mmux_read(struct udevice *ch, int addr, int devad,
 {
        struct udevice *mux = ch->parent;
        struct udevice *parent_mdio = mmux_get_parent_mdio(mux);
-       struct mdio_ops *parent_ops = mmux_get_mdio_parent_ops(mux);
        int err;
 
        err = mmux_change_sel(ch, true);
        if (err)
                return err;
 
-       err = parent_ops->read(parent_mdio, addr, devad, reg);
+       err = dm_mdio_read(parent_mdio, addr, devad, reg);
        mmux_change_sel(ch, false);
 
        return err;
@@ -109,14 +103,13 @@ static int mmux_write(struct udevice *ch, int addr, int devad,
 {
        struct udevice *mux = ch->parent;
        struct udevice *parent_mdio = mmux_get_parent_mdio(mux);
-       struct mdio_ops *parent_ops = mmux_get_mdio_parent_ops(mux);
        int err;
 
        err = mmux_change_sel(ch, true);
        if (err)
                return err;
 
-       err = parent_ops->write(parent_mdio, addr, devad, reg, val);
+       err = dm_mdio_write(parent_mdio, addr, devad, reg, val);
        mmux_change_sel(ch, false);
 
        return err;
@@ -127,18 +120,17 @@ static int mmux_reset(struct udevice *ch)
 {
        struct udevice *mux = ch->parent;
        struct udevice *parent_mdio = mmux_get_parent_mdio(mux);
-       struct mdio_ops *parent_ops = mmux_get_mdio_parent_ops(mux);
        int err;
 
        /* reset is optional, if it's not implemented just exit */
-       if (!parent_ops->reset)
+       if (!mdio_get_ops(parent_mdio)->reset)
                return 0;
 
        err = mmux_change_sel(ch, true);
        if (err)
                return err;
 
-       err = parent_ops->reset(parent_mdio);
+       err = dm_mdio_reset(parent_mdio);
        mmux_change_sel(ch, false);
 
        return err;
@@ -147,7 +139,7 @@ static int mmux_reset(struct udevice *ch)
 /* Picks up the mux selection value for each child */
 static int dm_mdio_mux_child_post_bind(struct udevice *ch)
 {
-       struct mdio_mux_ch_data *ch_data = dev_get_parent_platdata(ch);
+       struct mdio_mux_ch_data *ch_data = dev_get_parent_plat(ch);
 
        ch_data->sel = dev_read_u32_default(ch, "reg", MDIO_MUX_SELECT_NONE);
 
@@ -163,7 +155,7 @@ static int dm_mdio_mux_post_bind(struct udevice *mux)
        ofnode ch_node;
        int err, first_err = 0;
 
-       if (!ofnode_valid(mux->node)) {
+       if (!dev_has_ofnode(mux)) {
                debug("%s: no mux node found, no child MDIO busses set up\n",
                      __func__);
                return 0;
@@ -228,6 +220,6 @@ UCLASS_DRIVER(mdio_mux) = {
        .child_post_bind = dm_mdio_mux_child_post_bind,
        .post_bind  = dm_mdio_mux_post_bind,
        .post_probe = dm_mdio_mux_post_probe,
-       .per_device_auto_alloc_size = sizeof(struct mdio_mux_perdev_priv),
-       .per_child_platdata_auto_alloc_size = sizeof(struct mdio_mux_ch_data),
+       .per_device_auto        = sizeof(struct mdio_mux_perdev_priv),
+       .per_child_plat_auto    = sizeof(struct mdio_mux_ch_data),
 };