X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Ffiles%2Fdrivers%2Fnet%2Fphy%2Frtl8366rb.c;h=775949792d74251d475366235d2e0a65edc98c20;hb=e2782eae8ee17143d0506078fcf5c0a44b2302fe;hp=020e93a445bdd955cba0f884983468c89085958c;hpb=e2f0264afebf8ad21a0e2dd8b890242cac1112c5;p=lede.git diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c index 020e93a445..775949792d 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c @@ -265,7 +265,7 @@ static int rtl8366rb_reset_chip(struct rtl8366_smi *smi) return 0; } -static int rtl8366rb_hw_init(struct rtl8366_smi *smi) +static int rtl8366rb_setup(struct rtl8366_smi *smi) { int err; @@ -933,30 +933,6 @@ static int rtl8366rb_sw_reset_port_mibs(struct switch_dev *dev, RTL8366RB_MIB_CTRL_PORT_RESET(val->port_vlan)); } -static int rtl8366rb_sw_reset_switch(struct switch_dev *dev) -{ - struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev); - int err; - - err = rtl8366rb_reset_chip(smi); - if (err) - return err; - - err = rtl8366rb_hw_init(smi); - if (err) - return err; - - err = rtl8366_reset_vlan(smi); - if (err) - return err; - - err = rtl8366_enable_vlan(smi, 1); - if (err) - return err; - - return rtl8366_enable_all_ports(smi, 1); -} - static struct switch_attr rtl8366rb_globals[] = { { .type = SWITCH_TYPE_INT, @@ -1084,7 +1060,7 @@ static const struct switch_dev_ops rtl8366_ops = { .set_vlan_ports = rtl8366_sw_set_vlan_ports, .get_port_pvid = rtl8366_sw_get_port_pvid, .set_port_pvid = rtl8366_sw_set_port_pvid, - .reset_switch = rtl8366rb_sw_reset_switch, + .reset_switch = rtl8366_sw_reset_switch, .get_port_link = rtl8366rb_sw_get_port_link, }; @@ -1138,18 +1114,6 @@ static int rtl8366rb_mii_write(struct mii_bus *bus, int addr, int reg, u16 val) return err; } -static int rtl8366rb_setup(struct rtl8366_smi *smi) -{ - int ret; - - ret = rtl8366rb_reset_chip(smi); - if (ret) - return ret; - - ret = rtl8366rb_hw_init(smi); - return ret; -} - static int rtl8366rb_detect(struct rtl8366_smi *smi) { u32 chip_id = 0; @@ -1185,6 +1149,7 @@ static int rtl8366rb_detect(struct rtl8366_smi *smi) static struct rtl8366_smi_ops rtl8366rb_smi_ops = { .detect = rtl8366rb_detect, + .reset_chip = rtl8366rb_reset_chip, .setup = rtl8366rb_setup, .mii_read = rtl8366rb_mii_read, @@ -1229,6 +1194,8 @@ static int __devinit rtl8366rb_probe(struct platform_device *pdev) smi->gpio_sda = pdata->gpio_sda; smi->gpio_sck = pdata->gpio_sck; + smi->hw_reset = pdata->hw_reset; + smi->clk_delay = 10; smi->cmd_read = 0xa9; smi->cmd_write = 0xa8;