diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-07-05 12:13:56 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-07-05 12:13:56 +0000 |
commit | 286ff7e322389e8f04326bd81a2a22e62ee64613 (patch) | |
tree | d83646b694b0e8cd126ef4abe54e5b6bc6b94dcb /target/linux | |
parent | 069e862ad5a119d345d3e55ad3182f41b6950be8 (diff) | |
download | upstream-286ff7e322389e8f04326bd81a2a22e62ee64613.tar.gz upstream-286ff7e322389e8f04326bd81a2a22e62ee64613.tar.bz2 upstream-286ff7e322389e8f04326bd81a2a22e62ee64613.zip |
adm6996: the GPIO interface for the adm6996l does not support switch statistics.
This patch deactivates the statistics, adds a missing lock
initialization and fixes a waring.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41511
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/adm6996.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/adm6996.c b/target/linux/generic/files/drivers/net/phy/adm6996.c index 7e47f3dc1a..cbb3e85fba 100644 --- a/target/linux/generic/files/drivers/net/phy/adm6996.c +++ b/target/linux/generic/files/drivers/net/phy/adm6996.c @@ -804,7 +804,6 @@ adm6996_get_port_link(struct switch_dev *dev, int port, struct adm6996_priv *priv = to_adm(dev); u16 reg = 0; - u32 speed; if (port >= ADM_NUM_PORTS) return -EINVAL; @@ -938,7 +937,7 @@ static struct switch_attr adm6996_vlan[] = { }, }; -static const struct switch_dev_ops adm6996_ops = { +static struct switch_dev_ops adm6996_ops = { .attr_global = { .attr = adm6996_globals, .n_attr = ARRAY_SIZE(adm6996_globals), @@ -992,6 +991,13 @@ static int adm6996_switch_init(struct adm6996_priv *priv, const char *alias, str swdev->ops = &adm6996_ops; swdev->alias = alias; + /* The ADM6996L connected through GPIOs does not support any switch + status calls */ + if (priv->model == ADM6996L) { + adm6996_ops.attr_port.n_attr = 0; + adm6996_ops.get_port_link = NULL; + } + pr_info ("%s: %s model PHY found.\n", alias, swdev->name); mutex_lock(&priv->reg_mutex); @@ -1121,6 +1127,7 @@ static int adm6996_gpio_probe(struct platform_device *pdev) return -ENOMEM; mutex_init(&priv->reg_mutex); + mutex_init(&priv->mib_lock); priv->eecs = pdata->eecs; priv->eedi = pdata->eedi; |