diff options
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/capi/capiutil.c | 67 | ||||
-rw-r--r-- | drivers/isdn/capi/kcapi.c | 8 | ||||
-rw-r--r-- | drivers/isdn/hardware/avm/b1.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hardware/avm/b1dma.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hardware/avm/c4.c | 4 | ||||
-rw-r--r-- | drivers/isdn/hardware/avm/t1isa.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hysdn/hycapi.c | 4 |
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 | |||
494 | unsigned capi_cmsg2message(_cmsg * cmsg, u8 * msg) | 501 | unsigned 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 | |||
557 | unsigned capi_message2cmsg(_cmsg * cmsg, u8 * msg) | 571 | unsigned 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 | |||
577 | unsigned capi_cmsg_header(_cmsg * cmsg, u16 _ApplId, | 602 | unsigned 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 | |||
644 | char *capi_cmd2str(u8 cmd, u8 subcmd) | 677 | char *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 | |||
882 | void cdebbuf_free(_cdebbuf *cdb) | 920 | void 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) | |||
377 | EXPORT_SYMBOL(capi_ctr_ready); | 377 | EXPORT_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 | ||
387 | void capi_ctr_reseted(struct capi_ctr * card) | 387 | void 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 | ||
416 | EXPORT_SYMBOL(capi_ctr_reseted); | 416 | EXPORT_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); | |||
517 | int detach_capi_ctr(struct capi_ctr *card) | 517 | int 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 | ||
336 | void b1_register_appl(struct capi_ctr *ctrl, | 336 | void 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 | ||
345 | static void t1isa_remove(struct pci_dev *pdev) | 345 | static 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 | } |