|
@@ -103,13 +103,18 @@ int fsl_pq_local_mdio_read(struct fsl_pq_mdio __iomem *regs,
|
|
|
return value;
|
|
|
}
|
|
|
|
|
|
+static struct fsl_pq_mdio __iomem *fsl_pq_mdio_get_regs(struct mii_bus *bus)
|
|
|
+{
|
|
|
+ return (void __iomem __force *)bus->priv;
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Write value to the PHY at mii_id at register regnum,
|
|
|
* on the bus, waiting until the write is done before returning.
|
|
|
*/
|
|
|
int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value)
|
|
|
{
|
|
|
- struct fsl_pq_mdio __iomem *regs = (void __iomem *)bus->priv;
|
|
|
+ struct fsl_pq_mdio __iomem *regs = fsl_pq_mdio_get_regs(bus);
|
|
|
|
|
|
/* Write to the local MII regs */
|
|
|
return(fsl_pq_local_mdio_write(regs, mii_id, regnum, value));
|
|
@@ -121,7 +126,7 @@ int fsl_pq_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value)
|
|
|
*/
|
|
|
int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
|
|
|
{
|
|
|
- struct fsl_pq_mdio __iomem *regs = (void __iomem *)bus->priv;
|
|
|
+ struct fsl_pq_mdio __iomem *regs = fsl_pq_mdio_get_regs(bus);
|
|
|
|
|
|
/* Read the local MII regs */
|
|
|
return(fsl_pq_local_mdio_read(regs, mii_id, regnum));
|
|
@@ -130,7 +135,7 @@ int fsl_pq_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
|
|
|
/* Reset the MIIM registers, and wait for the bus to free */
|
|
|
static int fsl_pq_mdio_reset(struct mii_bus *bus)
|
|
|
{
|
|
|
- struct fsl_pq_mdio __iomem *regs = (void __iomem *)bus->priv;
|
|
|
+ struct fsl_pq_mdio __iomem *regs = fsl_pq_mdio_get_regs(bus);
|
|
|
int timeout = PHY_INIT_TIMEOUT;
|
|
|
|
|
|
mutex_lock(&bus->mdio_lock);
|
|
@@ -404,7 +409,7 @@ static int fsl_pq_mdio_remove(struct of_device *ofdev)
|
|
|
|
|
|
dev_set_drvdata(device, NULL);
|
|
|
|
|
|
- iounmap((void __iomem *)bus->priv);
|
|
|
+ iounmap(fsl_pq_mdio_get_regs(bus));
|
|
|
bus->priv = NULL;
|
|
|
mdiobus_free(bus);
|
|
|
|