vlynq: probe for an external clock first, needed to enable acx on the Leonardo board

SVN-Revision: 10707
lede-17.01
Matteo Croce 2008-04-02 11:06:50 +00:00
parent 62240465c4
commit 9b93a436c7
1 changed files with 8 additions and 9 deletions

View File

@ -369,6 +369,14 @@ static int __vlynq_enable_device(struct vlynq_device *dev)
if (result) if (result)
return 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) { switch (dev->divisor) {
case vlynq_div_auto: case vlynq_div_auto:
/* Only try locally supplied clock, others cause problems */ /* Only try locally supplied clock, others cause problems */
@ -413,15 +421,6 @@ static int __vlynq_enable_device(struct vlynq_device *dev)
return 0; return 0;
} }
break; 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); ops->off(dev);