diff options
author | Tilman Schmidt <tilman@imap.cc> | 2009-10-06 08:19:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-07 01:43:51 -0400 |
commit | aaba2b3f8213e1d66e71c351fa7a2b1cbd974d3c (patch) | |
tree | 024458582d76d07647e2b5da45534c903508b334 /drivers | |
parent | 088ec0cc96e2befd5f3c035123f95c17bdf26e64 (diff) |
gigaset: allow building without I4L
Add a dummy LL interface to the Gigaset driver so that it can be
built and, in a limited way, used without the ISDN4Linux subsystem.
Impact: new configuration alternative
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isdn/gigaset/Kconfig | 13 | ||||
-rw-r--r-- | drivers/isdn/gigaset/Makefile | 4 | ||||
-rw-r--r-- | drivers/isdn/gigaset/dummyll.c | 68 |
3 files changed, 83 insertions, 2 deletions
diff --git a/drivers/isdn/gigaset/Kconfig b/drivers/isdn/gigaset/Kconfig index 18ab8652aa57..6fd2dc1e97fb 100644 --- a/drivers/isdn/gigaset/Kconfig +++ b/drivers/isdn/gigaset/Kconfig | |||
@@ -1,6 +1,5 @@ | |||
1 | menuconfig ISDN_DRV_GIGASET | 1 | menuconfig ISDN_DRV_GIGASET |
2 | tristate "Siemens Gigaset support" | 2 | tristate "Siemens Gigaset support" |
3 | depends on ISDN_I4L | ||
4 | select CRC_CCITT | 3 | select CRC_CCITT |
5 | select BITREVERSE | 4 | select BITREVERSE |
6 | help | 5 | help |
@@ -11,9 +10,21 @@ menuconfig ISDN_DRV_GIGASET | |||
11 | If you have one of these devices, say M here and for at least | 10 | If you have one of these devices, say M here and for at least |
12 | one of the connection specific parts that follow. | 11 | one of the connection specific parts that follow. |
13 | This will build a module called "gigaset". | 12 | This will build a module called "gigaset". |
13 | Note: If you build the ISDN4Linux subsystem (ISDN_I4L) | ||
14 | as a module, you have to build this driver as a module too, | ||
15 | otherwise the Gigaset device won't show up as an ISDN device. | ||
14 | 16 | ||
15 | if ISDN_DRV_GIGASET | 17 | if ISDN_DRV_GIGASET |
16 | 18 | ||
19 | config GIGASET_I4L | ||
20 | bool | ||
21 | depends on ISDN_I4L='y'||(ISDN_I4L='m'&&ISDN_DRV_GIGASET='m') | ||
22 | default y | ||
23 | |||
24 | config GIGASET_DUMMYLL | ||
25 | bool | ||
26 | default !GIGASET_I4L | ||
27 | |||
17 | config GIGASET_BASE | 28 | config GIGASET_BASE |
18 | tristate "Gigaset base station support" | 29 | tristate "Gigaset base station support" |
19 | depends on USB | 30 | depends on USB |
diff --git a/drivers/isdn/gigaset/Makefile b/drivers/isdn/gigaset/Makefile index e9d3189f56b7..d429202ba8ef 100644 --- a/drivers/isdn/gigaset/Makefile +++ b/drivers/isdn/gigaset/Makefile | |||
@@ -1,4 +1,6 @@ | |||
1 | gigaset-y := common.o interface.o proc.o ev-layer.o i4l.o asyncdata.o | 1 | gigaset-y := common.o interface.o proc.o ev-layer.o asyncdata.o |
2 | gigaset-$(CONFIG_GIGASET_I4L) += i4l.o | ||
3 | gigaset-$(CONFIG_GIGASET_DUMMYLL) += dummyll.o | ||
2 | usb_gigaset-y := usb-gigaset.o | 4 | usb_gigaset-y := usb-gigaset.o |
3 | ser_gigaset-y := ser-gigaset.o | 5 | ser_gigaset-y := ser-gigaset.o |
4 | bas_gigaset-y := bas-gigaset.o isocdata.o | 6 | bas_gigaset-y := bas-gigaset.o isocdata.o |
diff --git a/drivers/isdn/gigaset/dummyll.c b/drivers/isdn/gigaset/dummyll.c new file mode 100644 index 000000000000..5b27c996af6d --- /dev/null +++ b/drivers/isdn/gigaset/dummyll.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | * Dummy LL interface for the Gigaset driver | ||
3 | * | ||
4 | * Copyright (c) 2009 by Tilman Schmidt <tilman@imap.cc>. | ||
5 | * | ||
6 | * ===================================================================== | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License as | ||
9 | * published by the Free Software Foundation; either version 2 of | ||
10 | * the License, or (at your option) any later version. | ||
11 | * ===================================================================== | ||
12 | */ | ||
13 | |||
14 | #include "gigaset.h" | ||
15 | |||
16 | void gigaset_skb_sent(struct bc_state *bcs, struct sk_buff *skb) | ||
17 | { | ||
18 | } | ||
19 | EXPORT_SYMBOL_GPL(gigaset_skb_sent); | ||
20 | |||
21 | void gigaset_skb_rcvd(struct bc_state *bcs, struct sk_buff *skb) | ||
22 | { | ||
23 | } | ||
24 | EXPORT_SYMBOL_GPL(gigaset_skb_rcvd); | ||
25 | |||
26 | void gigaset_isdn_rcv_err(struct bc_state *bcs) | ||
27 | { | ||
28 | } | ||
29 | EXPORT_SYMBOL_GPL(gigaset_isdn_rcv_err); | ||
30 | |||
31 | int gigaset_isdn_icall(struct at_state_t *at_state) | ||
32 | { | ||
33 | return ICALL_IGNORE; | ||
34 | } | ||
35 | |||
36 | void gigaset_isdn_connD(struct bc_state *bcs) | ||
37 | { | ||
38 | } | ||
39 | |||
40 | void gigaset_isdn_hupD(struct bc_state *bcs) | ||
41 | { | ||
42 | } | ||
43 | |||
44 | void gigaset_isdn_connB(struct bc_state *bcs) | ||
45 | { | ||
46 | } | ||
47 | |||
48 | void gigaset_isdn_hupB(struct bc_state *bcs) | ||
49 | { | ||
50 | } | ||
51 | |||
52 | void gigaset_isdn_start(struct cardstate *cs) | ||
53 | { | ||
54 | } | ||
55 | |||
56 | void gigaset_isdn_stop(struct cardstate *cs) | ||
57 | { | ||
58 | } | ||
59 | |||
60 | int gigaset_isdn_register(struct cardstate *cs, const char *isdnid) | ||
61 | { | ||
62 | pr_info("no ISDN subsystem interface\n"); | ||
63 | return 1; | ||
64 | } | ||
65 | |||
66 | void gigaset_isdn_unregister(struct cardstate *cs) | ||
67 | { | ||
68 | } | ||