[svn-commits] sruffell: linux/trunk r8124 - /linux/trunk/drivers/dahdi/wctdm24xxp/base.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Feb 26 10:40:56 CST 2010
Author: sruffell
Date: Fri Feb 26 10:40:45 2010
New Revision: 8124
URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=8124
Log:
wctdm24xxp: Do not assume CONFIG_HZ==100 for delays.
Modified:
linux/trunk/drivers/dahdi/wctdm24xxp/base.c
Modified: linux/trunk/drivers/dahdi/wctdm24xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wctdm24xxp/base.c?view=diff&rev=8124&r1=8123&r2=8124
==============================================================================
--- linux/trunk/drivers/dahdi/wctdm24xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wctdm24xxp/base.c Fri Feb 26 10:40:45 2010
@@ -1246,13 +1246,11 @@
static int wait_access(struct wctdm *wc, int card)
{
unsigned char data=0;
- long origjiffies;
int count = 0;
#define MAX 10 /* attempts */
- origjiffies = jiffies;
/* Wait for indirect access */
while (count++ < MAX)
{
@@ -2263,9 +2261,7 @@
/*******************************The following is the manual gain mismatch calibration****************************/
/*******************************This is also available as a function *******************************************/
- // Delay 10ms
- origjiffies=jiffies;
- while ((jiffies-origjiffies) < 1);
+ msleep(10);
wctdm_proslic_setreg_indirect(wc, card, 88,0);
wctdm_proslic_setreg_indirect(wc,card,89,0);
wctdm_proslic_setreg_indirect(wc,card,90,0);
@@ -2279,8 +2275,7 @@
for ( i=0x1f; i>0; i--)
{
wctdm_setreg(wc, card, 98,i);
- origjiffies=jiffies;
- while ((jiffies-origjiffies) < 4);
+ msleep(40);
if ((wctdm_getreg(wc, card, 88)) == 0)
break;
} // for
@@ -2288,8 +2283,7 @@
for ( i=0x1f; i>0; i--)
{
wctdm_setreg(wc, card, 99,i);
- origjiffies=jiffies;
- while ((jiffies-origjiffies) < 4);
+ msleep(40);
if ((wctdm_getreg(wc, card, 89)) == 0)
break;
}//for
@@ -2297,8 +2291,7 @@
/*******************************The preceding is the manual gain mismatch calibration****************************/
/**********************************The following is the longitudinal Balance Cal***********************************/
wctdm_setreg(wc,card,64,1);
- while ((jiffies-origjiffies) < 10) /* Sleep 100? */
- ;
+ msleep(100);
wctdm_setreg(wc, card, 64, 0);
wctdm_setreg(wc, card, 23, 0x4); // enable interrupt for the balance Cal
@@ -2329,7 +2322,7 @@
/* Wait for it to finish */
origjiffies = jiffies;
while (wctdm_getreg(wc, card, 96)) {
- if ((jiffies - origjiffies) > 2 * HZ) {
+ if (time_after(jiffies, (origjiffies + (2*HZ)))) {
dev_notice(&wc->vb.pdev->dev, "Timeout waiting for calibration of module %d\n", card);
return -1;
}
More information about the svn-commits
mailing list