void setstack_l3dc(struct PStack *st, struct Channel *chanp) { char tmp[64]; st->l3.proc = NULL; st->l3.global = NULL; skb_queue_head_init(&st->l3.squeue); st->l3.l3m.fsm = &l3fsm; st->l3.l3m.state = ST_L3_LC_REL; st->l3.l3m.debug = 1; st->l3.l3m.userdata = st; st->l3.l3m.userint = 0; st->l3.l3m.printdebug = l3m_debug; FsmInitTimer(&st->l3.l3m, &st->l3.l3m_timer); strcpy(st->l3.debug_id, "L3DC "); st->lli.l4l3_proto = no_l3_proto_spec; #ifdef CONFIG_HISAX_EURO if (st->protocol == ISDN_PTYPE_EURO) { setstack_dss1(st); } else #endif #ifdef CONFIG_HISAX_NI1 if (st->protocol == ISDN_PTYPE_NI1) { setstack_ni1(st); } else #endif #ifdef CONFIG_HISAX_1TR6 if (st->protocol == ISDN_PTYPE_1TR6) { setstack_1tr6(st); } else #endif if (st->protocol == ISDN_PTYPE_LEASED) { st->lli.l4l3 = no_l3_proto; st->l2.l2l3 = no_l3_proto; st->l3.l3ml3 = no_l3_proto; printk(KERN_INFO "HiSax: Leased line mode\n"); } else { st->lli.l4l3 = no_l3_proto; st->l2.l2l3 = no_l3_proto; st->l3.l3ml3 = no_l3_proto; sprintf(tmp, "protocol %s not supported", (st->protocol == ISDN_PTYPE_1TR6) ? "1tr6" : (st->protocol == ISDN_PTYPE_EURO) ? "euro" : (st->protocol == ISDN_PTYPE_NI1) ? "ni1" : "unknown"); printk(KERN_WARNING "HiSax: %s\n", tmp); st->protocol = -1; } }
void setstack_tei(struct PStack *st) { st->l2.l2tei = tei_l2tei; st->ma.T202 = 2000; /* T202 2000 milliseconds */ st->l1.l1tei = tei_l1l2; st->ma.debug = 1; st->ma.tei_m.fsm = &teifsm; st->ma.tei_m.state = ST_TEI_NOP; st->ma.tei_m.debug = 1; st->ma.tei_m.userdata = st; st->ma.tei_m.userint = 0; st->ma.tei_m.printdebug = tei_debug; FsmInitTimer(&st->ma.tei_m, &st->ma.t202); }
int __devinit st5481_setup_d(struct st5481_adapter *adapter) { int retval; DBG(2,""); retval = st5481_setup_d_out(adapter); if (retval) goto err; adapter->d_in.bufsize = MAX_DFRAME_LEN_L1; adapter->d_in.num_packets = NUM_ISO_PACKETS_D; adapter->d_in.packet_size = SIZE_ISO_PACKETS_D_IN; adapter->d_in.ep = EP_D_IN | USB_DIR_IN; adapter->d_in.counter = IN_D_COUNTER; adapter->d_in.adapter = adapter; adapter->d_in.hisax_if = &adapter->hisax_d_if.ifc; retval = st5481_setup_in(&adapter->d_in); if (retval) goto err_d_out; adapter->l1m.fsm = &l1fsm; adapter->l1m.state = ST_L1_F3; adapter->l1m.debug = 1; adapter->l1m.userdata = adapter; adapter->l1m.printdebug = l1m_debug; FsmInitTimer(&adapter->l1m, &adapter->timer); adapter->d_out.fsm.fsm = &dout_fsm; adapter->d_out.fsm.state = ST_DOUT_NONE; adapter->d_out.fsm.debug = 1; adapter->d_out.fsm.userdata = adapter; adapter->d_out.fsm.printdebug = dout_debug; return 0; err_d_out: st5481_release_d_out(adapter); err: return retval; }