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 | |
| 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>
| -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 | } | ||
