linux: rtl836x: add a reset_chip callback to rtl8366_smi_ops
SVN-Revision: 31534
This commit is contained in:
parent
3e3a4d3d6b
commit
badd7a3cf2
@ -1277,6 +1277,10 @@ int rtl8366_smi_init(struct rtl8366_smi *smi)
|
|||||||
goto err_free_sck;
|
goto err_free_sck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = smi->ops->reset_chip(smi);
|
||||||
|
if (err)
|
||||||
|
goto err_free_sck;
|
||||||
|
|
||||||
err = smi->ops->setup(smi);
|
err = smi->ops->setup(smi);
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(smi->parent, "chip setup failed, err=%d\n", err);
|
dev_err(smi->parent, "chip setup failed, err=%d\n", err);
|
||||||
|
@ -76,6 +76,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 (*reset_chip)(struct rtl8366_smi *smi);
|
||||||
int (*setup)(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);
|
||||||
|
@ -1140,14 +1140,7 @@ static int rtl8366rb_mii_write(struct mii_bus *bus, int addr, int reg, u16 val)
|
|||||||
|
|
||||||
static int rtl8366rb_setup(struct rtl8366_smi *smi)
|
static int rtl8366rb_setup(struct rtl8366_smi *smi)
|
||||||
{
|
{
|
||||||
int ret;
|
return rtl8366rb_hw_init(smi);
|
||||||
|
|
||||||
ret = rtl8366rb_reset_chip(smi);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = rtl8366rb_hw_init(smi);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtl8366rb_detect(struct rtl8366_smi *smi)
|
static int rtl8366rb_detect(struct rtl8366_smi *smi)
|
||||||
@ -1185,6 +1178,7 @@ 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,
|
||||||
|
.reset_chip = rtl8366rb_reset_chip,
|
||||||
.setup = rtl8366rb_setup,
|
.setup = rtl8366rb_setup,
|
||||||
|
|
||||||
.mii_read = rtl8366rb_mii_read,
|
.mii_read = rtl8366rb_mii_read,
|
||||||
|
@ -1020,14 +1020,7 @@ static int rtl8366s_mii_write(struct mii_bus *bus, int addr, int reg, u16 val)
|
|||||||
|
|
||||||
static int rtl8366s_setup(struct rtl8366_smi *smi)
|
static int rtl8366s_setup(struct rtl8366_smi *smi)
|
||||||
{
|
{
|
||||||
int ret;
|
return rtl8366s_hw_init(smi);
|
||||||
|
|
||||||
ret = rtl8366s_reset_chip(smi);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = rtl8366s_hw_init(smi);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtl8366s_detect(struct rtl8366_smi *smi)
|
static int rtl8366s_detect(struct rtl8366_smi *smi)
|
||||||
@ -1065,6 +1058,7 @@ 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,
|
||||||
|
.reset_chip = rtl8366s_reset_chip,
|
||||||
.setup = rtl8366s_setup,
|
.setup = rtl8366s_setup,
|
||||||
|
|
||||||
.mii_read = rtl8366s_mii_read,
|
.mii_read = rtl8366s_mii_read,
|
||||||
|
@ -1637,14 +1637,7 @@ static int rtl8367_mii_write(struct mii_bus *bus, int addr, int reg, u16 val)
|
|||||||
|
|
||||||
static int rtl8367_setup(struct rtl8366_smi *smi)
|
static int rtl8367_setup(struct rtl8366_smi *smi)
|
||||||
{
|
{
|
||||||
int ret;
|
return rtl8367_hw_init(smi);
|
||||||
|
|
||||||
ret = rtl8367_reset_chip(smi);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = rtl8367_hw_init(smi);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtl8367_detect(struct rtl8366_smi *smi)
|
static int rtl8367_detect(struct rtl8366_smi *smi)
|
||||||
@ -1686,6 +1679,7 @@ static int rtl8367_detect(struct rtl8366_smi *smi)
|
|||||||
|
|
||||||
static struct rtl8366_smi_ops rtl8367_smi_ops = {
|
static struct rtl8366_smi_ops rtl8367_smi_ops = {
|
||||||
.detect = rtl8367_detect,
|
.detect = rtl8367_detect,
|
||||||
|
.reset_chip = rtl8367_reset_chip,
|
||||||
.setup = rtl8367_setup,
|
.setup = rtl8367_setup,
|
||||||
|
|
||||||
.mii_read = rtl8367_mii_read,
|
.mii_read = rtl8367_mii_read,
|
||||||
|
Loading…
Reference in New Issue
Block a user