diff options
author | Matteo Croce <rootkit85@yahoo.it> | 2008-04-02 11:06:50 +0000 |
---|---|---|
committer | Matteo Croce <rootkit85@yahoo.it> | 2008-04-02 11:06:50 +0000 |
commit | 9b93a436c7d6756444252404fde0c69464d176e3 (patch) | |
tree | 801810975cb7f4bd48c4640e3eb3f1ac201cac69 /target | |
parent | 62240465c4e4e322446117a9c40d020d11e5793d (diff) | |
download | upstream-9b93a436c7d6756444252404fde0c69464d176e3.tar.gz upstream-9b93a436c7d6756444252404fde0c69464d176e3.tar.bz2 upstream-9b93a436c7d6756444252404fde0c69464d176e3.zip |
vlynq: probe for an external clock first, needed to enable acx on the Leonardo board
SVN-Revision: 10707
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ar7/files/drivers/vlynq/vlynq.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/target/linux/ar7/files/drivers/vlynq/vlynq.c b/target/linux/ar7/files/drivers/vlynq/vlynq.c index 374562c6cd..c2ac536ba1 100644 --- a/target/linux/ar7/files/drivers/vlynq/vlynq.c +++ b/target/linux/ar7/files/drivers/vlynq/vlynq.c @@ -369,6 +369,14 @@ static int __vlynq_enable_device(struct vlynq_device *dev) if (result) return result; + vlynq_reg_write(dev->local->control, 0); + vlynq_reg_write(dev->remote->control, 0); + if (vlynq_linked(dev)) { + printk(KERN_DEBUG "%s: using external clock\n", + dev->dev.bus_id); + return 0; + } + switch (dev->divisor) { case vlynq_div_auto: /* Only try locally supplied clock, others cause problems */ @@ -413,15 +421,6 @@ static int __vlynq_enable_device(struct vlynq_device *dev) return 0; } break; - case vlynq_div_external: - vlynq_reg_write(dev->local->control, 0); - vlynq_reg_write(dev->remote->control, 0); - if (vlynq_linked(dev)) { - printk(KERN_DEBUG "%s: using external clock\n", - dev->dev.bus_id); - return 0; - } - break; } ops->off(dev); |