Browse Source

generic: rtl8366: add setup to rtl8366_smi_ops struct

SVN-Revision: 22196
Gabor Juhos 15 years ago
parent
commit
534480d3fb

+ 6 - 0
target/linux/generic/files/drivers/net/phy/rtl8366_smi.c

@@ -790,6 +790,12 @@ int rtl8366_smi_init(struct rtl8366_smi *smi)
 		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);
 	if (err)
 		goto err_free_sck;

+ 1 - 0
target/linux/generic/files/drivers/net/phy/rtl8366_smi.h

@@ -69,6 +69,7 @@ struct rtl8366_vlan_4k {
 
 struct rtl8366_smi_ops {
 	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_write)(struct mii_bus *bus, int addr, int reg, u16 val);

+ 2 - 4
target/linux/generic/files/drivers/net/phy/rtl8366rb.c

@@ -1103,6 +1103,8 @@ static int rtl8366rb_detect(struct rtl8366_smi *smi)
 
 static struct rtl8366_smi_ops rtl8366rb_smi_ops = {
 	.detect		= rtl8366rb_detect,
+	.setup		= rtl8366rb_setup,
+
 	.mii_read	= rtl8366rb_mii_read,
 	.mii_write	= rtl8366rb_mii_write,
 
@@ -1154,10 +1156,6 @@ static int __init rtl8366rb_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, smi);
 
-	err = rtl8366rb_setup(smi);
-	if (err)
-		goto err_clear_drvdata;
-
 	err = rtl8366rb_switch_init(smi);
 	if (err)
 		goto err_clear_drvdata;

+ 2 - 4
target/linux/generic/files/drivers/net/phy/rtl8366s.c

@@ -1130,6 +1130,8 @@ static int rtl8366s_detect(struct rtl8366_smi *smi)
 
 static struct rtl8366_smi_ops rtl8366s_smi_ops = {
 	.detect		= rtl8366s_detect,
+	.setup		= rtl8366s_setup,
+
 	.mii_read	= rtl8366s_mii_read,
 	.mii_write	= rtl8366s_mii_write,
 
@@ -1181,10 +1183,6 @@ static int __init rtl8366s_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, smi);
 
-	err = rtl8366s_setup(smi);
-	if (err)
-		goto err_clear_drvdata;
-
 	err = rtl8366s_switch_init(smi);
 	if (err)
 		goto err_clear_drvdata;