From: Hansjoerg Lipp And: Tilman Schmidt The following patches add drivers for the Siemens Gigaset 3070 family of ISDN DECT PABXes connected via USB, either directly or over a DECT link using a Gigaset M105 or compatible DECT data adapter. The devices are integrated as ISDN adapters within the isdn4linux framework, supporting incoming and outgoing voice and data connections, and also as tty devices providing access to device specific AT commands. Supported devices include models 3070, 3075, 4170, 4175, SX205, SX255, and SX353 from the Siemens Gigaset product family, as well as the technically identical models 45isdn and 721X from the Deutsche Telekom Sinus series. Supported DECT adapters are the Gigaset M105 data and the technically identical Gigaset USB Adapter DECT, Sinus 45 data 2, and Sinus 721 data (but not the Gigaset M34 and Sinus 702 data which advertise themselves as CDC-ACM devices). These drivers have been developed over the last four years within the SourceForge project http://sourceforge.net/projects/gigaset307x/. They are being used successfully in several installations for dial-in Internet access and for voice call switching with Asterisk. This is our second attempt at submitting these drivers, taking into account the comments we received to our first submission on 2005-12-11. The patch set adds three kernel modules: - a common module "gigaset" encapsulating the common logic for controlling the PABX and the interfaces to userspace and the isdn4linux subsystem. - a connection-specific module "bas_gigaset" which handles communication with the PABX over a direct USB connection. - a connection-specific module "usb_gigaset" which does the same for a DECT connection using the Gigaset M105 USB DECT adapter. We also have a module "ser_gigaset" which supports the Gigaset M101 RS232 DECT adapter, but we didn't judge it fit for inclusion in the kernel, as it does direct programming of a i8250 serial port. It should probably be rewritten as a serial line discipline but so far we lack the neccessary knowledge about writing a line discipline for that. The drivers have been working with kernel releases 2.2 and 2.4 as well as 2.6, and although we took efforts to remove the compatibility code for this submission, it probably still shows in places. Please make allowances. This patch: Prepare the kernel build infrastructure for addition of the Gigaset ISDN drivers. It creates a Makefile and Kconfig file for the Gigaset driver and hooks them into those of the isdn4linux subsystem. It also adds a MAINTAINERS entry for the driver. This patch depends on patches 2 to 9 of the present set, as without the actual source files, activating the options added here will cause the kernel build to fail. Signed-off-by: Hansjoerg Lipp Signed-off-by: Tilman Schmidt Cc: Karsten Keil Cc: Greg KH Signed-off-by: Andrew Morton --- MAINTAINERS | 9 ++++++ drivers/isdn/Makefile | 1 drivers/isdn/gigaset/Kconfig | 42 ++++++++++++++++++++++++++++++++ drivers/isdn/gigaset/Makefile | 6 ++++ drivers/isdn/i4l/Kconfig | 1 5 files changed, 59 insertions(+) diff -puN /dev/null drivers/isdn/gigaset/Kconfig --- /dev/null 2003-09-15 06:40:47.000000000 -0700 +++ devel-akpm/drivers/isdn/gigaset/Kconfig 2006-02-23 19:41:38.000000000 -0800 @@ -0,0 +1,42 @@ +menu "Siemens Gigaset" + depends on ISDN_I4L + +config ISDN_DRV_GIGASET + tristate "Siemens Gigaset support (isdn)" + depends on ISDN_I4L && m +# depends on ISDN_I4L && MODULES + help + Say m here if you have a Gigaset or Sinus isdn device. + +if ISDN_DRV_GIGASET!=n + +config GIGASET_BASE + tristate "Gigaset base station support" + depends on ISDN_DRV_GIGASET && USB + help + Say m here if you need to communicate with the base + directly via USB. + +config GIGASET_M105 + tristate "Gigaset M105 support" + depends on ISDN_DRV_GIGASET && USB + help + Say m here if you need the driver for the Gigaset M105 device. + +config GIGASET_DEBUG + bool "Gigaset debugging" + help + This enables debugging code in the Gigaset drivers. + If in doubt, say yes. + +config GIGASET_UNDOCREQ + bool "Support for undocumented USB requests" + help + This enables support for USB requests we only know from + reverse engineering (currently M105 only). If you need + features like configuration mode of M105, say yes. If you + care about your device, say no. + +endif + +endmenu diff -puN /dev/null drivers/isdn/gigaset/Makefile --- /dev/null 2003-09-15 06:40:47.000000000 -0700 +++ devel-akpm/drivers/isdn/gigaset/Makefile 2006-02-23 19:41:38.000000000 -0800 @@ -0,0 +1,6 @@ +gigaset-y := common.o interface.o proc.o ev-layer.o i4l.o +usb_gigaset-y := usb-gigaset.o asyncdata.o +bas_gigaset-y := bas-gigaset.o isocdata.o + +obj-$(CONFIG_GIGASET_M105) += usb_gigaset.o gigaset.o +obj-$(CONFIG_GIGASET_BASE) += bas_gigaset.o gigaset.o diff -puN drivers/isdn/i4l/Kconfig~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles drivers/isdn/i4l/Kconfig --- devel/drivers/isdn/i4l/Kconfig~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles 2006-02-23 19:41:38.000000000 -0800 +++ devel-akpm/drivers/isdn/i4l/Kconfig 2006-02-23 19:41:38.000000000 -0800 @@ -139,3 +139,4 @@ source "drivers/isdn/hysdn/Kconfig" endmenu +source "drivers/isdn/gigaset/Kconfig" diff -puN drivers/isdn/Makefile~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles drivers/isdn/Makefile --- devel/drivers/isdn/Makefile~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles 2006-02-23 19:41:38.000000000 -0800 +++ devel-akpm/drivers/isdn/Makefile 2006-02-23 19:41:38.000000000 -0800 @@ -13,3 +13,4 @@ obj-$(CONFIG_ISDN_DRV_SC) += sc/ obj-$(CONFIG_ISDN_DRV_LOOP) += isdnloop/ obj-$(CONFIG_ISDN_DRV_ACT2000) += act2000/ obj-$(CONFIG_HYSDN) += hysdn/ +obj-$(CONFIG_ISDN_DRV_GIGASET) += gigaset/ diff -puN MAINTAINERS~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles MAINTAINERS --- MAINTAINERS~isdn4linux-siemens-gigaset-drivers-kconfigs-and-makefiles 2006-02-23 19:41:38.000000000 -0800 +++ devel-akpm/MAINTAINERS 2006-02-23 19:41:38.000000000 -0800 @@ -1034,6 +1034,15 @@ M: khc@pm.waw.pl W: http://www.kernel.org/pub/linux/utils/net/hdlc/ S: Maintained +GIGASET ISDN DRIVERS +P: Hansjoerg Lipp +M: hjlipp@web.de +P: Tilman Schmidt +M: tilman@imap.cc +L: gigaset307x-common@lists.sourceforge.net +W: http://gigaset307x.sourceforge.net/ +S: Maintained + HARDWARE MONITORING P: Jean Delvare M: khali@linux-fr.org _