aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/capi/capiutil.c67
-rw-r--r--drivers/isdn/capi/kcapi.c8
-rw-r--r--drivers/isdn/hardware/avm/b1.c2
-rw-r--r--drivers/isdn/hardware/avm/b1dma.c2
-rw-r--r--drivers/isdn/hardware/avm/c4.c4
-rw-r--r--drivers/isdn/hardware/avm/t1isa.c2
-rw-r--r--drivers/isdn/hysdn/hycapi.c4
7 files changed, 75 insertions, 14 deletions
diff --git a/drivers/isdn/capi/capiutil.c b/drivers/isdn/capi/capiutil.c
index 29419a8d31dc..16f2e465e5f9 100644
--- a/drivers/isdn/capi/capiutil.c
+++ b/drivers/isdn/capi/capiutil.c
@@ -490,7 +490,14 @@ static void pars_2_message(_cmsg * cmsg)
490 } 490 }
491} 491}
492 492
493/*-------------------------------------------------------*/ 493/**
494 * capi_cmsg2message() - assemble CAPI 2.0 message from _cmsg structure
495 * @cmsg: _cmsg structure
496 * @msg: buffer for assembled message
497 *
498 * Return value: 0 for success
499 */
500
494unsigned capi_cmsg2message(_cmsg * cmsg, u8 * msg) 501unsigned capi_cmsg2message(_cmsg * cmsg, u8 * msg)
495{ 502{
496 cmsg->m = msg; 503 cmsg->m = msg;
@@ -553,7 +560,14 @@ static void message_2_pars(_cmsg * cmsg)
553 } 560 }
554} 561}
555 562
556/*-------------------------------------------------------*/ 563/**
564 * capi_message2cmsg() - disassemble CAPI 2.0 message into _cmsg structure
565 * @cmsg: _cmsg structure
566 * @msg: buffer for assembled message
567 *
568 * Return value: 0 for success
569 */
570
557unsigned capi_message2cmsg(_cmsg * cmsg, u8 * msg) 571unsigned capi_message2cmsg(_cmsg * cmsg, u8 * msg)
558{ 572{
559 memset(cmsg, 0, sizeof(_cmsg)); 573 memset(cmsg, 0, sizeof(_cmsg));
@@ -573,7 +587,18 @@ unsigned capi_message2cmsg(_cmsg * cmsg, u8 * msg)
573 return 0; 587 return 0;
574} 588}
575 589
576/*-------------------------------------------------------*/ 590/**
591 * capi_cmsg_header() - initialize header part of _cmsg structure
592 * @cmsg: _cmsg structure
593 * @_ApplId: ApplID field value
594 * @_Command: Command field value
595 * @_Subcommand: Subcommand field value
596 * @_Messagenumber: Message Number field value
597 * @_Controller: Controller/PLCI/NCCI field value
598 *
599 * Return value: 0 for success
600 */
601
577unsigned capi_cmsg_header(_cmsg * cmsg, u16 _ApplId, 602unsigned capi_cmsg_header(_cmsg * cmsg, u16 _ApplId,
578 u8 _Command, u8 _Subcommand, 603 u8 _Command, u8 _Subcommand,
579 u16 _Messagenumber, u32 _Controller) 604 u16 _Messagenumber, u32 _Controller)
@@ -641,6 +666,14 @@ static char *mnames[] =
641 [0x4e] = "MANUFACTURER_RESP" 666 [0x4e] = "MANUFACTURER_RESP"
642}; 667};
643 668
669/**
670 * capi_cmd2str() - convert CAPI 2.0 command/subcommand number to name
671 * @cmd: command number
672 * @subcmd: subcommand number
673 *
674 * Return value: static string, NULL if command/subcommand unknown
675 */
676
644char *capi_cmd2str(u8 cmd, u8 subcmd) 677char *capi_cmd2str(u8 cmd, u8 subcmd)
645{ 678{
646 return mnames[command_2_index(cmd, subcmd)]; 679 return mnames[command_2_index(cmd, subcmd)];
@@ -879,6 +912,11 @@ init:
879 return cdb; 912 return cdb;
880} 913}
881 914
915/**
916 * cdebbuf_free() - free CAPI debug buffer
917 * @cdb: buffer to free
918 */
919
882void cdebbuf_free(_cdebbuf *cdb) 920void cdebbuf_free(_cdebbuf *cdb)
883{ 921{
884 if (likely(cdb == g_debbuf)) { 922 if (likely(cdb == g_debbuf)) {
@@ -891,6 +929,16 @@ void cdebbuf_free(_cdebbuf *cdb)
891} 929}
892 930
893 931
932/**
933 * capi_message2str() - format CAPI 2.0 message for printing
934 * @msg: CAPI 2.0 message
935 *
936 * Allocates a CAPI debug buffer and fills it with a printable representation
937 * of the CAPI 2.0 message in @msg.
938 * Return value: allocated debug buffer, NULL on error
939 * The returned buffer should be freed by a call to cdebbuf_free() after use.
940 */
941
894_cdebbuf *capi_message2str(u8 * msg) 942_cdebbuf *capi_message2str(u8 * msg)
895{ 943{
896 _cdebbuf *cdb; 944 _cdebbuf *cdb;
@@ -926,10 +974,23 @@ _cdebbuf *capi_message2str(u8 * msg)
926 return cdb; 974 return cdb;
927} 975}
928 976
977/**
978 * capi_cmsg2str() - format _cmsg structure for printing
979 * @cmsg: _cmsg structure
980 *
981 * Allocates a CAPI debug buffer and fills it with a printable representation
982 * of the CAPI 2.0 message stored in @cmsg by a previous call to
983 * capi_cmsg2message() or capi_message2cmsg().
984 * Return value: allocated debug buffer, NULL on error
985 * The returned buffer should be freed by a call to cdebbuf_free() after use.
986 */
987
929_cdebbuf *capi_cmsg2str(_cmsg * cmsg) 988_cdebbuf *capi_cmsg2str(_cmsg * cmsg)
930{ 989{
931 _cdebbuf *cdb; 990 _cdebbuf *cdb;
932 991
992 if (!cmsg->m)
993 return NULL; /* no message */
933 cdb = cdebbuf_alloc(); 994 cdb = cdebbuf_alloc();
934 if (!cdb) 995 if (!cdb)
935 return NULL; 996 return NULL;
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c
index f33170368cd1..57d26360f64e 100644
--- a/drivers/isdn/capi/kcapi.c
+++ b/drivers/isdn/capi/kcapi.c
@@ -377,14 +377,14 @@ void capi_ctr_ready(struct capi_ctr * card)
377EXPORT_SYMBOL(capi_ctr_ready); 377EXPORT_SYMBOL(capi_ctr_ready);
378 378
379/** 379/**
380 * capi_ctr_reseted() - signal CAPI controller reset 380 * capi_ctr_down() - signal CAPI controller not ready
381 * @card: controller descriptor structure. 381 * @card: controller descriptor structure.
382 * 382 *
383 * Called by hardware driver to signal that the controller is down and 383 * Called by hardware driver to signal that the controller is down and
384 * unavailable for use. 384 * unavailable for use.
385 */ 385 */
386 386
387void capi_ctr_reseted(struct capi_ctr * card) 387void capi_ctr_down(struct capi_ctr * card)
388{ 388{
389 u16 appl; 389 u16 appl;
390 390
@@ -413,7 +413,7 @@ void capi_ctr_reseted(struct capi_ctr * card)
413 notify_push(KCI_CONTRDOWN, card->cnr, 0, 0); 413 notify_push(KCI_CONTRDOWN, card->cnr, 0, 0);
414} 414}
415 415
416EXPORT_SYMBOL(capi_ctr_reseted); 416EXPORT_SYMBOL(capi_ctr_down);
417 417
418/** 418/**
419 * capi_ctr_suspend_output() - suspend controller 419 * capi_ctr_suspend_output() - suspend controller
@@ -517,7 +517,7 @@ EXPORT_SYMBOL(attach_capi_ctr);
517int detach_capi_ctr(struct capi_ctr *card) 517int detach_capi_ctr(struct capi_ctr *card)
518{ 518{
519 if (card->cardstate != CARD_DETECTED) 519 if (card->cardstate != CARD_DETECTED)
520 capi_ctr_reseted(card); 520 capi_ctr_down(card);
521 521
522 ncards--; 522 ncards--;
523 523
diff --git a/drivers/isdn/hardware/avm/b1.c b/drivers/isdn/hardware/avm/b1.c
index abf05ec31760..a7c0083e78a7 100644
--- a/drivers/isdn/hardware/avm/b1.c
+++ b/drivers/isdn/hardware/avm/b1.c
@@ -330,7 +330,7 @@ void b1_reset_ctr(struct capi_ctr *ctrl)
330 spin_lock_irqsave(&card->lock, flags); 330 spin_lock_irqsave(&card->lock, flags);
331 capilib_release(&cinfo->ncci_head); 331 capilib_release(&cinfo->ncci_head);
332 spin_unlock_irqrestore(&card->lock, flags); 332 spin_unlock_irqrestore(&card->lock, flags);
333 capi_ctr_reseted(ctrl); 333 capi_ctr_down(ctrl);
334} 334}
335 335
336void b1_register_appl(struct capi_ctr *ctrl, 336void b1_register_appl(struct capi_ctr *ctrl,
diff --git a/drivers/isdn/hardware/avm/b1dma.c b/drivers/isdn/hardware/avm/b1dma.c
index da34b98e3de7..0e84aaae43fd 100644
--- a/drivers/isdn/hardware/avm/b1dma.c
+++ b/drivers/isdn/hardware/avm/b1dma.c
@@ -759,7 +759,7 @@ void b1dma_reset_ctr(struct capi_ctr *ctrl)
759 memset(cinfo->version, 0, sizeof(cinfo->version)); 759 memset(cinfo->version, 0, sizeof(cinfo->version));
760 capilib_release(&cinfo->ncci_head); 760 capilib_release(&cinfo->ncci_head);
761 spin_unlock_irqrestore(&card->lock, flags); 761 spin_unlock_irqrestore(&card->lock, flags);
762 capi_ctr_reseted(ctrl); 762 capi_ctr_down(ctrl);
763} 763}
764 764
765/* ------------------------------------------------------------- */ 765/* ------------------------------------------------------------- */
diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c
index 9df1d3f66c87..6833301a45fc 100644
--- a/drivers/isdn/hardware/avm/c4.c
+++ b/drivers/isdn/hardware/avm/c4.c
@@ -681,7 +681,7 @@ static irqreturn_t c4_handle_interrupt(avmcard *card)
681 spin_lock_irqsave(&card->lock, flags); 681 spin_lock_irqsave(&card->lock, flags);
682 capilib_release(&cinfo->ncci_head); 682 capilib_release(&cinfo->ncci_head);
683 spin_unlock_irqrestore(&card->lock, flags); 683 spin_unlock_irqrestore(&card->lock, flags);
684 capi_ctr_reseted(&cinfo->capi_ctrl); 684 capi_ctr_down(&cinfo->capi_ctrl);
685 } 685 }
686 card->nlogcontr = 0; 686 card->nlogcontr = 0;
687 return IRQ_HANDLED; 687 return IRQ_HANDLED;
@@ -909,7 +909,7 @@ static void c4_reset_ctr(struct capi_ctr *ctrl)
909 for (i=0; i < card->nr_controllers; i++) { 909 for (i=0; i < card->nr_controllers; i++) {
910 cinfo = &card->ctrlinfo[i]; 910 cinfo = &card->ctrlinfo[i];
911 memset(cinfo->version, 0, sizeof(cinfo->version)); 911 memset(cinfo->version, 0, sizeof(cinfo->version));
912 capi_ctr_reseted(&cinfo->capi_ctrl); 912 capi_ctr_down(&cinfo->capi_ctrl);
913 } 913 }
914 card->nlogcontr = 0; 914 card->nlogcontr = 0;
915} 915}
diff --git a/drivers/isdn/hardware/avm/t1isa.c b/drivers/isdn/hardware/avm/t1isa.c
index e7724493738c..1c53fd49adb6 100644
--- a/drivers/isdn/hardware/avm/t1isa.c
+++ b/drivers/isdn/hardware/avm/t1isa.c
@@ -339,7 +339,7 @@ static void t1isa_reset_ctr(struct capi_ctr *ctrl)
339 spin_lock_irqsave(&card->lock, flags); 339 spin_lock_irqsave(&card->lock, flags);
340 capilib_release(&cinfo->ncci_head); 340 capilib_release(&cinfo->ncci_head);
341 spin_unlock_irqrestore(&card->lock, flags); 341 spin_unlock_irqrestore(&card->lock, flags);
342 capi_ctr_reseted(ctrl); 342 capi_ctr_down(ctrl);
343} 343}
344 344
345static void t1isa_remove(struct pci_dev *pdev) 345static void t1isa_remove(struct pci_dev *pdev)
diff --git a/drivers/isdn/hysdn/hycapi.c b/drivers/isdn/hysdn/hycapi.c
index 53f6ad1235db..4ffaa14b9fc4 100644
--- a/drivers/isdn/hysdn/hycapi.c
+++ b/drivers/isdn/hysdn/hycapi.c
@@ -67,7 +67,7 @@ hycapi_reset_ctr(struct capi_ctr *ctrl)
67 printk(KERN_NOTICE "HYCAPI hycapi_reset_ctr\n"); 67 printk(KERN_NOTICE "HYCAPI hycapi_reset_ctr\n");
68#endif 68#endif
69 capilib_release(&cinfo->ncci_head); 69 capilib_release(&cinfo->ncci_head);
70 capi_ctr_reseted(ctrl); 70 capi_ctr_down(ctrl);
71} 71}
72 72
73/****************************** 73/******************************
@@ -347,7 +347,7 @@ int hycapi_capi_stop(hysdn_card *card)
347 if(cinfo) { 347 if(cinfo) {
348 ctrl = &cinfo->capi_ctrl; 348 ctrl = &cinfo->capi_ctrl;
349/* ctrl->suspend_output(ctrl); */ 349/* ctrl->suspend_output(ctrl); */
350 capi_ctr_reseted(ctrl); 350 capi_ctr_down(ctrl);
351 } 351 }
352 return 0; 352 return 0;
353} 353}