dahdi: Removing loopstop maint function
DAHDI_MAINT_LOOPSTOP is being removed due to the redundancy with DAHDI_MAINT_NONE. Also removing some timing logic, as amount of time a loopup or loopdown signal is held on the line, is now defined in userspace with dahdi_maint. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9515 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
parent
5ee55a6147
commit
bbdcb0c7ba
@ -8455,8 +8455,6 @@ int dahdi_transmit(struct dahdi_span *span)
|
|||||||
span->mainttimer -= DAHDI_CHUNKSIZE;
|
span->mainttimer -= DAHDI_CHUNKSIZE;
|
||||||
if (span->mainttimer <= 0) {
|
if (span->mainttimer <= 0) {
|
||||||
span->mainttimer = 0;
|
span->mainttimer = 0;
|
||||||
if (span->ops->maint)
|
|
||||||
span->ops->maint(span, DAHDI_MAINT_LOOPSTOP);
|
|
||||||
span->maintstat = 0;
|
span->maintstat = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1042,7 +1042,6 @@ static int tor2_maint(struct dahdi_span *span, int cmd)
|
|||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
default:
|
default:
|
||||||
printk(KERN_NOTICE "Tor2: Unknown maint command: %d\n", cmd);
|
printk(KERN_NOTICE "Tor2: Unknown maint command: %d\n", cmd);
|
||||||
@ -1054,6 +1053,7 @@ static int tor2_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_NONE:
|
case DAHDI_MAINT_NONE:
|
||||||
t1out(p->tor,tspan,0x19,(japan ? 0x80 : 0x00)); /* no local loop */
|
t1out(p->tor,tspan,0x19,(japan ? 0x80 : 0x00)); /* no local loop */
|
||||||
t1out(p->tor,tspan,0x0a,0); /* no remote loop */
|
t1out(p->tor,tspan,0x0a,0); /* no remote loop */
|
||||||
|
t1out(p->tor, tspan, 0x30, 0); /* stop sending loopup code */
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOCALLOOP:
|
case DAHDI_MAINT_LOCALLOOP:
|
||||||
t1out(p->tor,tspan,0x19,0x40 | (japan ? 0x80 : 0x00)); /* local loop */
|
t1out(p->tor,tspan,0x19,0x40 | (japan ? 0x80 : 0x00)); /* local loop */
|
||||||
@ -1073,9 +1073,6 @@ static int tor2_maint(struct dahdi_span *span, int cmd)
|
|||||||
t1out(p->tor,tspan,0x12,0x62); /* send loopdown code */
|
t1out(p->tor,tspan,0x12,0x62); /* send loopdown code */
|
||||||
t1out(p->tor,tspan,0x13,0x90); /* send loopdown code */
|
t1out(p->tor,tspan,0x13,0x90); /* send loopdown code */
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
t1out(p->tor,tspan,0x30,0); /* stop sending loopup code */
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printk(KERN_NOTICE "Tor2: Unknown maint command: %d\n", cmd);
|
printk(KERN_NOTICE "Tor2: Unknown maint command: %d\n", cmd);
|
||||||
break;
|
break;
|
||||||
|
@ -674,7 +674,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
res = -ENOSYS;
|
res = -ENOSYS;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -687,6 +686,7 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_NONE:
|
case DAHDI_MAINT_NONE:
|
||||||
__t1_set_reg(wc,0x19,0); /* no local loop */
|
__t1_set_reg(wc,0x19,0); /* no local loop */
|
||||||
__t1_set_reg(wc,0x0a,0); /* no remote loop */
|
__t1_set_reg(wc,0x0a,0); /* no remote loop */
|
||||||
|
__t1_set_reg(wc, 0x30, 0); /* stop sending loopup code*/
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOCALLOOP:
|
case DAHDI_MAINT_LOCALLOOP:
|
||||||
__t1_set_reg(wc,0x19,0x40); /* local loop */
|
__t1_set_reg(wc,0x19,0x40); /* local loop */
|
||||||
@ -706,9 +706,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
__t1_set_reg(wc,0x12,0x62); /* send loopdown code */
|
__t1_set_reg(wc,0x12,0x62); /* send loopdown code */
|
||||||
__t1_set_reg(wc,0x13,0x90); /* send loopdown code */
|
__t1_set_reg(wc,0x13,0x90); /* send loopdown code */
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
__t1_set_reg(wc,0x30,0); /* stop sending loopup code */
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printk(KERN_NOTICE "wct1xxp/T1: Unknown maint command: %d\n", cmd);
|
printk(KERN_NOTICE "wct1xxp/T1: Unknown maint command: %d\n", cmd);
|
||||||
res = -EINVAL;
|
res = -EINVAL;
|
||||||
|
@ -1538,9 +1538,8 @@ static int t4_maint(struct dahdi_span *span, int cmd)
|
|||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
dev_info(&wc->dev->dev,
|
dev_info(&wc->dev->dev,
|
||||||
"Loopup & loopdown supported in E1 mode\n");
|
"Loopup & loopdown not supported in E1 mode\n");
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
case DAHDI_MAINT_FAS_DEFECT:
|
case DAHDI_MAINT_FAS_DEFECT:
|
||||||
t4_framer_out(wc, span->offset, IERR_T, IFASE);
|
t4_framer_out(wc, span->offset, IERR_T, IFASE);
|
||||||
@ -1610,11 +1609,6 @@ static int t4_maint(struct dahdi_span *span, int cmd)
|
|||||||
t4_clear_maint(span);
|
t4_clear_maint(span);
|
||||||
t4_framer_out(wc, span->offset, 0x21, 0x60);
|
t4_framer_out(wc, span->offset, 0x21, 0x60);
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
dev_info(&wc->dev->dev, "Transmitting loopstop code\n");
|
|
||||||
t4_clear_maint(span);
|
|
||||||
t4_framer_out(wc, span->offset, 0x21, 0x40);
|
|
||||||
break;
|
|
||||||
case DAHDI_MAINT_FAS_DEFECT:
|
case DAHDI_MAINT_FAS_DEFECT:
|
||||||
t4_framer_out(wc, span->offset, IERR_T, IFASE);
|
t4_framer_out(wc, span->offset, IERR_T, IFASE);
|
||||||
break;
|
break;
|
||||||
|
@ -468,9 +468,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
printk(KERN_INFO "XXX Send loopdown code E1 XXX\n");
|
printk(KERN_INFO "XXX Send loopdown code E1 XXX\n");
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
printk(KERN_INFO "XXX Stop sending loop codes E1 XXX\n");
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printk(KERN_NOTICE "TE110P: Unknown E1 maint command: %d\n", cmd);
|
printk(KERN_NOTICE "TE110P: Unknown E1 maint command: %d\n", cmd);
|
||||||
break;
|
break;
|
||||||
@ -479,6 +476,7 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
switch(cmd) {
|
switch(cmd) {
|
||||||
case DAHDI_MAINT_NONE:
|
case DAHDI_MAINT_NONE:
|
||||||
printk(KERN_INFO "XXX Turn off local and remote loops T1 XXX\n");
|
printk(KERN_INFO "XXX Turn off local and remote loops T1 XXX\n");
|
||||||
|
t1_framer_out(wc, 0x21, 0x40);
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOCALLOOP:
|
case DAHDI_MAINT_LOCALLOOP:
|
||||||
printk(KERN_INFO "XXX Turn on local loop and no remote loop XXX\n");
|
printk(KERN_INFO "XXX Turn on local loop and no remote loop XXX\n");
|
||||||
@ -492,9 +490,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
t1_framer_out(wc, 0x21, 0x60); /* FMR5: Nothing but RBS mode */
|
t1_framer_out(wc, 0x21, 0x60); /* FMR5: Nothing but RBS mode */
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
t1_framer_out(wc, 0x21, 0x40); /* FMR5: Nothing but RBS mode */
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
printk(KERN_NOTICE "TE110P: Unknown T1 maint command: %d\n", cmd);
|
printk(KERN_NOTICE "TE110P: Unknown T1 maint command: %d\n", cmd);
|
||||||
break;
|
break;
|
||||||
|
@ -1161,7 +1161,6 @@ static void t1xxp_maint_work(struct work_struct *work)
|
|||||||
case DAHDI_MAINT_REMOTELOOP:
|
case DAHDI_MAINT_REMOTELOOP:
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
t1_info(wc, "Only local loop supported in E1 mode\n");
|
t1_info(wc, "Only local loop supported in E1 mode\n");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
default:
|
default:
|
||||||
@ -1202,10 +1201,6 @@ static void t1xxp_maint_work(struct work_struct *work)
|
|||||||
t1xxp_clear_maint(span);
|
t1xxp_clear_maint(span);
|
||||||
t1_setreg(wc, 0x21, 0x60);
|
t1_setreg(wc, 0x21, 0x60);
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
t1xxp_clear_maint(w->span);
|
|
||||||
t1_setreg(w->wc, 0x21, 0x40);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
t1_info(wc, "Unknown T1 maint command: %d\n", cmd);
|
t1_info(wc, "Unknown T1 maint command: %d\n", cmd);
|
||||||
return;
|
return;
|
||||||
@ -1230,7 +1225,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_REMOTELOOP:
|
case DAHDI_MAINT_REMOTELOOP:
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
t1_info(wc, "Only local loop supported in E1 mode\n");
|
t1_info(wc, "Only local loop supported in E1 mode\n");
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
default:
|
default:
|
||||||
@ -1245,7 +1239,6 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_NETWORKPAYLOADLOOP:
|
case DAHDI_MAINT_NETWORKPAYLOADLOOP:
|
||||||
case DAHDI_MAINT_LOOPUP:
|
case DAHDI_MAINT_LOOPUP:
|
||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
t1_info(wc, "Unknown T1 maint command: %d\n", cmd);
|
t1_info(wc, "Unknown T1 maint command: %d\n", cmd);
|
||||||
@ -1255,8 +1248,7 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd)
|
|||||||
|
|
||||||
work = kmalloc(sizeof(*work), GFP_ATOMIC);
|
work = kmalloc(sizeof(*work), GFP_ATOMIC);
|
||||||
if (!work) {
|
if (!work) {
|
||||||
t1_info(wc, "Failed to allocate memory for "
|
t1_info(wc, "Failed to allocate memory for workqueue\n");
|
||||||
"DAHDI_MAINT_LOOPSTOP\n");
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -999,9 +999,6 @@ int xpp_maint(struct dahdi_span *span, int cmd)
|
|||||||
case DAHDI_MAINT_LOOPDOWN:
|
case DAHDI_MAINT_LOOPDOWN:
|
||||||
INFO("XXX Send loopdown code XXX\n");
|
INFO("XXX Send loopdown code XXX\n");
|
||||||
break;
|
break;
|
||||||
case DAHDI_MAINT_LOOPSTOP:
|
|
||||||
INFO("XXX Stop sending loop codes XXX\n");
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
ERR("XPP: Unknown maint command: %d\n", cmd);
|
ERR("XPP: Unknown maint command: %d\n", cmd);
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
|
@ -334,7 +334,6 @@ enum {
|
|||||||
#define DAHDI_MAINT_NETWORKLINELOOP 2 /* Remote Loopback */
|
#define DAHDI_MAINT_NETWORKLINELOOP 2 /* Remote Loopback */
|
||||||
#define DAHDI_MAINT_LOOPUP 3 /* send loopup code */
|
#define DAHDI_MAINT_LOOPUP 3 /* send loopup code */
|
||||||
#define DAHDI_MAINT_LOOPDOWN 4 /* send loopdown code */
|
#define DAHDI_MAINT_LOOPDOWN 4 /* send loopdown code */
|
||||||
#define DAHDI_MAINT_LOOPSTOP 5 /* stop sending loop codes */
|
|
||||||
#define DAHDI_MAINT_FAS_DEFECT 6 /* insert a FAS defect */
|
#define DAHDI_MAINT_FAS_DEFECT 6 /* insert a FAS defect */
|
||||||
#define DAHDI_MAINT_MULTI_DEFECT 7 /* insert a Multiframe defect */
|
#define DAHDI_MAINT_MULTI_DEFECT 7 /* insert a Multiframe defect */
|
||||||
#define DAHDI_MAINT_CRC_DEFECT 8 /* insert a FAS defect */
|
#define DAHDI_MAINT_CRC_DEFECT 8 /* insert a FAS defect */
|
||||||
|
Loading…
Reference in New Issue
Block a user