• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/capi/

Lines Matching defs:ctr

78 capi_ctr_get(struct capi_ctr *ctr)
80 if (!try_module_get(ctr->owner))
82 return ctr;
86 capi_ctr_put(struct capi_ctr *ctr)
88 module_put(ctr->owner);
149 register_appl(struct capi_ctr *ctr, u16 applid, capi_register_params *rparam)
151 ctr = capi_ctr_get(ctr);
153 if (ctr)
154 ctr->register_appl(ctr, applid, rparam);
161 static void release_appl(struct capi_ctr *ctr, u16 applid)
165 ctr->release_appl(ctr, applid);
166 capi_ctr_put(ctr);
172 struct capi_ctr *ctr;
180 ctr = get_capi_ctr_by_nr(contr);
181 if (ctr) {
182 if (ctr->state == CAPI_CTR_RUNNING)
185 ctr->state = CAPI_CTR_RUNNING;
191 register_appl(ctr, applid, &ap->rparam);
194 wake_up_interruptible_all(&ctr->state_wait_queue);
202 static void ctr_down(struct capi_ctr *ctr, int new_state)
207 if (ctr->state == CAPI_CTR_DETECTED || ctr->state == CAPI_CTR_DETACHED)
210 ctr->state = new_state;
212 memset(ctr->manu, 0, sizeof(ctr->manu));
213 memset(&ctr->version, 0, sizeof(ctr->version));
214 memset(&ctr->profile, 0, sizeof(ctr->profile));
215 memset(ctr->serial, 0, sizeof(ctr->serial));
220 capi_ctr_put(ctr);
223 wake_up_interruptible_all(&ctr->state_wait_queue);
228 struct capi_ctr *ctr;
235 ctr = get_capi_ctr_by_nr(contr);
236 if (ctr)
237 ctr_down(ctr, CAPI_CTR_DETECTED);
326 * @ctr: controller descriptor structure.
333 void capi_ctr_handle_message(struct capi_ctr *ctr, u16 appl,
341 if (ctr->state != CAPI_CTR_RUNNING) {
345 ctr->cnr, cdb->buf);
349 ctr->cnr);
356 ctr->nrecvdatapkt++;
357 if (ctr->traceflag > 2)
360 ctr->nrecvctlpkt++;
361 if (ctr->traceflag)
364 showctl |= (ctr->traceflag & 1);
368 ctr->cnr, CAPIMSG_APPID(skb->data),
375 ctr->cnr, cdb->buf);
379 ctr->cnr, CAPIMSG_APPID(skb->data),
415 * @ctr: controller descriptor structure.
420 void capi_ctr_ready(struct capi_ctr *ctr)
423 ctr->cnr, ctr->name);
425 notify_push(CAPICTR_UP, ctr->cnr);
432 * @ctr: controller descriptor structure.
438 void capi_ctr_down(struct capi_ctr *ctr)
440 printk(KERN_NOTICE "kcapi: controller [%03d] down.\n", ctr->cnr);
442 notify_push(CAPICTR_DOWN, ctr->cnr);
449 * @ctr: controller descriptor structure.
457 void capi_ctr_suspend_output(struct capi_ctr *ctr)
459 if (!ctr->blocked) {
461 ctr->cnr);
462 ctr->blocked = 1;
470 * @ctr: controller descriptor structure.
478 void capi_ctr_resume_output(struct capi_ctr *ctr)
480 if (ctr->blocked) {
482 ctr->cnr);
483 ctr->blocked = 0;
493 * @ctr: controller descriptor structure.
499 int attach_capi_ctr(struct capi_ctr *ctr)
514 capi_controller[i] = ctr;
516 ctr->nrecvctlpkt = 0;
517 ctr->nrecvdatapkt = 0;
518 ctr->nsentctlpkt = 0;
519 ctr->nsentdatapkt = 0;
520 ctr->cnr = i + 1;
521 ctr->state = CAPI_CTR_DETECTED;
522 ctr->blocked = 0;
523 ctr->traceflag = showcapimsgs;
524 init_waitqueue_head(&ctr->state_wait_queue);
526 sprintf(ctr->procfn, "capi/controllers/%d", ctr->cnr);
527 ctr->procent = proc_create_data(ctr->procfn, 0, NULL, ctr->proc_fops, ctr);
534 ctr->cnr, ctr->name);
542 * @ctr: controller descriptor structure.
549 int detach_capi_ctr(struct capi_ctr *ctr)
555 ctr_down(ctr, CAPI_CTR_DETACHED);
557 if (capi_controller[ctr->cnr - 1] != ctr) {
561 capi_controller[ctr->cnr - 1] = NULL;
564 if (ctr->procent)
565 remove_proc_entry(ctr->procfn, NULL);
568 ctr->cnr, ctr->name);
760 struct capi_ctr *ctr;
780 ctr = get_capi_ctr_by_nr(CAPIMSG_CONTROLLER(skb->data));
781 if (!ctr || ctr->state != CAPI_CTR_RUNNING)
783 if (ctr->blocked)
790 ctr->nsentdatapkt++;
792 if (ctr->traceflag > 2)
795 ctr->nsentctlpkt++;
797 if (ctr->traceflag)
800 showctl |= (ctr->traceflag & 1);
823 return ctr->send_message(ctr, skb);
840 struct capi_ctr *ctr;
850 ctr = get_capi_ctr_by_nr(contr);
851 if (ctr && ctr->state == CAPI_CTR_RUNNING) {
852 strlcpy(buf, ctr->manu, CAPI_MANUFACTURER_LEN);
875 struct capi_ctr *ctr;
885 ctr = get_capi_ctr_by_nr(contr);
886 if (ctr && ctr->state == CAPI_CTR_RUNNING) {
887 memcpy(verp, &ctr->version, sizeof(capi_version));
910 struct capi_ctr *ctr;
920 ctr = get_capi_ctr_by_nr(contr);
921 if (ctr && ctr->state == CAPI_CTR_RUNNING) {
922 strlcpy(serial, ctr->serial, CAPI_SERIAL_LEN);
945 struct capi_ctr *ctr;
955 ctr = get_capi_ctr_by_nr(contr);
956 if (ctr && ctr->state == CAPI_CTR_RUNNING) {
957 memcpy(profp, &ctr->profile, sizeof(struct capi_profile));
969 static int wait_on_ctr_state(struct capi_ctr *ctr, unsigned int state)
974 ctr = capi_ctr_get(ctr);
975 if (!ctr)
979 prepare_to_wait(&ctr->state_wait_queue, &wait,
982 if (ctr->state == state)
984 if (ctr->state == CAPI_CTR_DETACHED) {
997 finish_wait(&ctr->state_wait_queue, &wait);
999 capi_ctr_put(ctr);
1011 struct capi_ctr *ctr;
1084 ctr = get_capi_ctr_by_nr(ldef.contr);
1085 if (!ctr) {
1090 if (ctr->load_firmware == NULL) {
1114 if (ctr->state != CAPI_CTR_DETECTED) {
1119 ctr->state = CAPI_CTR_LOADING;
1121 retval = ctr->load_firmware(ctr, &ldata);
1123 ctr->state = CAPI_CTR_DETECTED;
1127 retval = wait_on_ctr_state(ctr, CAPI_CTR_RUNNING);
1141 ctr = get_capi_ctr_by_nr(rdef.contr);
1142 if (!ctr) {
1147 if (ctr->state == CAPI_CTR_DETECTED)
1150 if (ctr->reset_ctr == NULL) {
1156 ctr->reset_ctr(ctr);
1158 retval = wait_on_ctr_state(ctr, CAPI_CTR_DETECTED);
1179 struct capi_ctr *ctr;
1200 ctr = get_capi_ctr_by_nr(fdef.contr);
1201 if (ctr) {
1202 ctr->traceflag = fdef.flag;
1204 ctr->cnr, ctr->traceflag);