|
@@ -59,16 +59,15 @@ static int temac_mdio_write(struct mii_bus *bus, int phy_id, int reg, u16 val)
|
|
|
int temac_mdio_setup(struct temac_local *lp, struct device_node *np)
|
|
|
{
|
|
|
struct mii_bus *bus;
|
|
|
- const u32 *bus_hz;
|
|
|
+ u32 bus_hz;
|
|
|
int clk_div;
|
|
|
- int rc, size;
|
|
|
+ int rc;
|
|
|
struct resource res;
|
|
|
|
|
|
/* Calculate a reasonable divisor for the clock rate */
|
|
|
clk_div = 0x3f; /* worst-case default setting */
|
|
|
- bus_hz = of_get_property(np, "clock-frequency", &size);
|
|
|
- if (bus_hz && size >= sizeof(*bus_hz)) {
|
|
|
- clk_div = (*bus_hz) / (2500 * 1000 * 2) - 1;
|
|
|
+ if (of_property_read_u32(np, "clock-frequency", &bus_hz) == 0) {
|
|
|
+ clk_div = bus_hz / (2500 * 1000 * 2) - 1;
|
|
|
if (clk_div < 1)
|
|
|
clk_div = 1;
|
|
|
if (clk_div > 0x3f)
|