generic: rtl8366: add setup to rtl8366_smi_ops struct
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22196 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
6ccacc5e4f
commit
23ba874c9c
|
@ -790,6 +790,12 @@ int rtl8366_smi_init(struct rtl8366_smi *smi)
|
||||||
goto err_free_sck;
|
goto err_free_sck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = smi->ops->setup(smi);
|
||||||
|
if (err) {
|
||||||
|
dev_err(smi->parent, "chip setup failed, err=%d\n", err);
|
||||||
|
goto err_free_sck;
|
||||||
|
}
|
||||||
|
|
||||||
err = rtl8366_smi_mii_init(smi);
|
err = rtl8366_smi_mii_init(smi);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_free_sck;
|
goto err_free_sck;
|
||||||
|
|
|
@ -69,6 +69,7 @@ struct rtl8366_vlan_4k {
|
||||||
|
|
||||||
struct rtl8366_smi_ops {
|
struct rtl8366_smi_ops {
|
||||||
int (*detect)(struct rtl8366_smi *smi);
|
int (*detect)(struct rtl8366_smi *smi);
|
||||||
|
int (*setup)(struct rtl8366_smi *smi);
|
||||||
|
|
||||||
int (*mii_read)(struct mii_bus *bus, int addr, int reg);
|
int (*mii_read)(struct mii_bus *bus, int addr, int reg);
|
||||||
int (*mii_write)(struct mii_bus *bus, int addr, int reg, u16 val);
|
int (*mii_write)(struct mii_bus *bus, int addr, int reg, u16 val);
|
||||||
|
|
|
@ -1103,6 +1103,8 @@ static int rtl8366rb_detect(struct rtl8366_smi *smi)
|
||||||
|
|
||||||
static struct rtl8366_smi_ops rtl8366rb_smi_ops = {
|
static struct rtl8366_smi_ops rtl8366rb_smi_ops = {
|
||||||
.detect = rtl8366rb_detect,
|
.detect = rtl8366rb_detect,
|
||||||
|
.setup = rtl8366rb_setup,
|
||||||
|
|
||||||
.mii_read = rtl8366rb_mii_read,
|
.mii_read = rtl8366rb_mii_read,
|
||||||
.mii_write = rtl8366rb_mii_write,
|
.mii_write = rtl8366rb_mii_write,
|
||||||
|
|
||||||
|
@ -1154,10 +1156,6 @@ static int __init rtl8366rb_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
platform_set_drvdata(pdev, smi);
|
platform_set_drvdata(pdev, smi);
|
||||||
|
|
||||||
err = rtl8366rb_setup(smi);
|
|
||||||
if (err)
|
|
||||||
goto err_clear_drvdata;
|
|
||||||
|
|
||||||
err = rtl8366rb_switch_init(smi);
|
err = rtl8366rb_switch_init(smi);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_clear_drvdata;
|
goto err_clear_drvdata;
|
||||||
|
|
|
@ -1130,6 +1130,8 @@ static int rtl8366s_detect(struct rtl8366_smi *smi)
|
||||||
|
|
||||||
static struct rtl8366_smi_ops rtl8366s_smi_ops = {
|
static struct rtl8366_smi_ops rtl8366s_smi_ops = {
|
||||||
.detect = rtl8366s_detect,
|
.detect = rtl8366s_detect,
|
||||||
|
.setup = rtl8366s_setup,
|
||||||
|
|
||||||
.mii_read = rtl8366s_mii_read,
|
.mii_read = rtl8366s_mii_read,
|
||||||
.mii_write = rtl8366s_mii_write,
|
.mii_write = rtl8366s_mii_write,
|
||||||
|
|
||||||
|
@ -1181,10 +1183,6 @@ static int __init rtl8366s_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
platform_set_drvdata(pdev, smi);
|
platform_set_drvdata(pdev, smi);
|
||||||
|
|
||||||
err = rtl8366s_setup(smi);
|
|
||||||
if (err)
|
|
||||||
goto err_clear_drvdata;
|
|
||||||
|
|
||||||
err = rtl8366s_switch_init(smi);
|
err = rtl8366s_switch_init(smi);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_clear_drvdata;
|
goto err_clear_drvdata;
|
||||||
|
|
Loading…
Reference in New Issue