diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-18 04:44:35 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-18 04:44:35 -0800 |
| commit | bb257be4df047321b9f12d6a22270aacbcd03fd1 (patch) | |
| tree | fd64346ee790f605c7488a6831b0cf182a0fd059 /include/linux/isdn | |
| parent | f7d6fe842e69a9697df83029976d15216edefccb (diff) | |
[PATCH] ISDN udpate
From: Karsten Keil <kkeil@suse.de>
- new port of 2.4 I4L core to 2.6
- new port of 2.4 I4L HiSax to 2.6
- fixes for I4L CAPI subsystem to make it stable in 2.6
- fix parameter handling of AVM ISA cards (calle)
- cleanup ISDN config variables
- SMP in act2000 and pcbit driver
- remove check_region in act2000
- mark hysdn, isdnloop and divert as BROKEN_ON_SMP
Diffstat (limited to 'include/linux/isdn')
| -rw-r--r-- | include/linux/isdn/capilli.h | 18 | ||||
| -rw-r--r-- | include/linux/isdn/fsm.h | 58 |
2 files changed, 17 insertions, 59 deletions
diff --git a/include/linux/isdn/capilli.h b/include/linux/isdn/capilli.h index d4747a9cee9c..35e9b0fd014b 100644 --- a/include/linux/isdn/capilli.h +++ b/include/linux/isdn/capilli.h @@ -1,4 +1,4 @@ -/* $Id: capilli.h,v 1.4.8.1 2001/09/23 22:24:33 kai Exp $ +/* $Id: capilli.h,v 1.1.2.2 2004/01/16 21:09:27 keil Exp $ * * Kernel CAPI 2.0 Driver Interface for Linux * @@ -85,6 +85,22 @@ void capi_ctr_resume_output(struct capi_ctr * card); void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb); // --------------------------------------------------------------------------- +// needed for AVM capi drivers + +struct capi_driver { + char name[32]; /* driver name */ + char revision[32]; + + int (*add_card)(struct capi_driver *driver, capicardparams *data); + + /* management information for kcapi */ + struct list_head list; +}; + +void register_capi_driver(struct capi_driver *driver); +void unregister_capi_driver(struct capi_driver *driver); + +// --------------------------------------------------------------------------- // library functions for use by hardware controller drivers void capilib_new_ncci(struct list_head *head, u16 applid, u32 ncci, u32 winsize); diff --git a/include/linux/isdn/fsm.h b/include/linux/isdn/fsm.h deleted file mode 100644 index 95beb142b392..000000000000 --- a/include/linux/isdn/fsm.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Linux ISDN subsystem, finite state machine - * - * Author Karsten Keil - * Copyright by Karsten Keil <keil@isdn4linux.de> - * 2001-2002 by Kai Germaschewski <kai@germaschewski.name> - * - * This software may be used and distributed according to the terms - * of the GNU General Public License, incorporated herein by reference. - */ - -#ifndef __ISDN_FSM_H__ -#define __ISDN_FSM_H__ - -#include <linux/kernel.h> -#include <linux/timer.h> - -struct fsm_inst; - -typedef int (*fsm_fn)(struct fsm_inst *, int, void *); - -struct fsm { - fsm_fn *jumpmatrix; - int st_cnt, ev_cnt, fn_cnt; - char **st_str, **ev_str; - struct fsm_node *fn_tbl; -}; - -struct fsm_inst { - struct fsm *fsm; - int state; - int debug; - void *userdata; - int userint; - void (*printdebug) (struct fsm_inst *, char *, ...); -}; - -struct fsm_node { - int st, ev; - fsm_fn fn; -}; - -struct fsm_timer { - struct fsm_inst *fi; - struct timer_list tl; - int ev; - void *arg; -}; - -int fsm_new(struct fsm *fsm); -void fsm_free(struct fsm *fsm); -int fsm_event(struct fsm_inst *fi, int event, void *arg); -void fsm_change_state(struct fsm_inst *fi, int newstate); -void fsm_init_timer(struct fsm_inst *fi, struct fsm_timer *ft); -int fsm_add_timer(struct fsm_timer *ft, int timeout, int event); -void fsm_mod_timer(struct fsm_timer *ft, int timeout, int event); -void fsm_del_timer(struct fsm_timer *ft); - -#endif |
