summaryrefslogtreecommitdiff
path: root/include/linux/isdn
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-02-18 04:44:35 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-02-18 04:44:35 -0800
commitbb257be4df047321b9f12d6a22270aacbcd03fd1 (patch)
treefd64346ee790f605c7488a6831b0cf182a0fd059 /include/linux/isdn
parentf7d6fe842e69a9697df83029976d15216edefccb (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.h18
-rw-r--r--include/linux/isdn/fsm.h58
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