diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2010-06-26 19:15:57 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2010-06-26 19:15:57 +0000 |
commit | dcc8caac45d52ec343e921b59641e5a1983fc674 (patch) | |
tree | a3d64d8ba59df8dee28c6372d72849c112f53fe2 /target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c | |
parent | 3471627f59e181c8b47983c50e2974d58259d801 (diff) | |
download | mtk-20170518-dcc8caac45d52ec343e921b59641e5a1983fc674.zip mtk-20170518-dcc8caac45d52ec343e921b59641e5a1983fc674.tar.gz mtk-20170518-dcc8caac45d52ec343e921b59641e5a1983fc674.tar.bz2 |
generic: rtl8366: introduce rtl8366_smi_ops
SVN-Revision: 21910
Diffstat (limited to 'target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c')
-rw-r--r-- | target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c index 7091190..d40d9e7 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/rtl8366_smi.c @@ -272,6 +272,9 @@ int rtl8366_smi_init(struct rtl8366_smi *smi) if (!smi->parent) return -EINVAL; + if (!smi->ops) + return -EINVAL; + err = gpio_request(smi->gpio_sda, dev_name(smi->parent)); if (err) { dev_err(smi->parent, "gpio_request failed for %u, err=%d\n", @@ -291,8 +294,16 @@ int rtl8366_smi_init(struct rtl8366_smi *smi) dev_info(smi->parent, "using GPIO pins %u (SDA) and %u (SCK)\n", smi->gpio_sda, smi->gpio_sck); + err = smi->ops->detect(smi); + if (err) { + dev_err(smi->parent, "chip detection failed, err=%d\n", err); + goto err_free_sck; + } + return 0; + err_free_sck: + gpio_free(smi->gpio_sck); err_free_sda: gpio_free(smi->gpio_sda); err_out: |