Skip to content

Commit 2ed0e21

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1244 commits) pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US ipv4: Fix fib_trie rebalancing Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver Bluetooth: Fix Kconfig issue with RFKILL integration PIM-SM: namespace changes ipv4: update ARPD help text net: use a deferred timer in rt_check_expire ieee802154: fix kconfig bool/tristate muckup bonding: initialization rework bonding: use is_zero_ether_addr bonding: network device names are case sensative bonding: elminate bad refcount code bonding: fix style issues bonding: fix destructor bonding: remove bonding read/write semaphore bonding: initialize before registration bonding: bond_create always called with default parameters x_tables: Convert printk to pr_err netfilter: conntrack: optional reliable conntrack event delivery list_nulls: add hlist_nulls_add_head and hlist_nulls_del ...
2 parents 0fa2133 + 9cbc1cb commit 2ed0e21

File tree

1,136 files changed

+106264
-47651
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,136 files changed

+106264
-47651
lines changed

CREDITS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,6 +1253,10 @@ S: 8124 Constitution Apt. 7
12531253
S: Sterling Heights, Michigan 48313
12541254
S: USA
12551255

1256+
N: Wolfgang Grandegger
1257+
1258+
D: Controller Area Network (device drivers)
1259+
12561260
N: William Greathouse
12571261
12581262

Documentation/DocBook/mac80211.tmpl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ usage should require reading the full document.
145145
interface in STA mode at first!
146146
</para>
147147
!Finclude/net/mac80211.h ieee80211_if_init_conf
148-
!Finclude/net/mac80211.h ieee80211_if_conf
149148
</chapter>
150149

151150
<chapter id="rx-tx">

Documentation/feature-removal-schedule.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,13 @@ Why: Superseded by tdfxfb. I2C/DDC support used to live in a separate
438438
Who: Jean Delvare <[email protected]>
439439
Krzysztof Helt <[email protected]>
440440

441+
---------------------------
442+
443+
What: CONFIG_RFKILL_INPUT
444+
When: 2.6.33
445+
Why: Should be implemented in userspace, policy daemon.
446+
Who: Johannes Berg <[email protected]>
447+
441448
----------------------------
442449

443450
What: CONFIG_X86_OLD_MCE

Documentation/isdn/00-INDEX

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,11 @@ README.gigaset
2222
- info on the drivers for Siemens Gigaset ISDN adapters.
2323
README.icn
2424
- info on the ICN-ISDN-card and its driver.
25+
>>>>>>> 93af7aca44f0e82e67bda10a0fb73d383edcc8bd:Documentation/isdn/00-INDEX
2526
README.HiSax
2627
- info on the HiSax driver which replaces the old teles.
27-
README.hfc-pci
28-
- info on hfc-pci based cards.
29-
README.pcbit
30-
- info on the PCBIT-D ISDN adapter and driver.
31-
README.syncppp
32-
- info on running Sync PPP over ISDN.
33-
syncPPP.FAQ
34-
- frequently asked questions about running PPP over ISDN.
28+
README.audio
29+
- info for running audio over ISDN.
3530
README.avmb1
3631
- info on driver for AVM-B1 ISDN card.
3732
README.act2000
@@ -42,10 +37,28 @@ README.concap
4237
- info on "CONCAP" encapsulation protocol interface used for X.25.
4338
README.diversion
4439
- info on module for isdn diversion services.
40+
README.fax
41+
- info for using Fax over ISDN.
42+
README.gigaset
43+
- info on the drivers for Siemens Gigaset ISDN adapters
44+
README.hfc-pci
45+
- info on hfc-pci based cards.
46+
README.hysdn
47+
- info on driver for Hypercope active HYSDN cards
48+
README.icn
49+
- info on the ICN-ISDN-card and its driver.
50+
README.mISDN
51+
- info on the Modular ISDN subsystem (mISDN)
52+
README.pcbit
53+
- info on the PCBIT-D ISDN adapter and driver.
4554
README.sc
4655
- info on driver for Spellcaster cards.
56+
README.syncppp
57+
- info on running Sync PPP over ISDN.
4758
README.x25
4859
- info for running X.25 over ISDN.
60+
syncPPP.FAQ
61+
- frequently asked questions about running PPP over ISDN.
4962
README.hysdn
5063
- info on driver for Hypercope active HYSDN cards
5164
README.mISDN

Documentation/isdn/INTERFACE.CAPI

Lines changed: 90 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ From then on, Kernel CAPI may call the registered callback functions for the
4545
device.
4646

4747
If the device becomes unusable for any reason (shutdown, disconnect ...), the
48-
driver has to call capi_ctr_reseted(). This will prevent further calls to the
48+
driver has to call capi_ctr_down(). This will prevent further calls to the
4949
callback functions by Kernel CAPI.
5050

5151

@@ -114,20 +114,36 @@ char *driver_name
114114
int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata)
115115
(optional) pointer to a callback function for sending firmware and
116116
configuration data to the device
117+
Return value: 0 on success, error code on error
118+
Called in process context.
117119

118120
void (*reset_ctr)(struct capi_ctr *ctrlr)
119-
pointer to a callback function for performing a reset on the device,
120-
releasing all registered applications
121+
(optional) pointer to a callback function for performing a reset on
122+
the device, releasing all registered applications
123+
Called in process context.
121124

122125
void (*register_appl)(struct capi_ctr *ctrlr, u16 applid,
123126
capi_register_params *rparam)
124127
void (*release_appl)(struct capi_ctr *ctrlr, u16 applid)
125128
pointers to callback functions for registration and deregistration of
126129
applications with the device
130+
Calls to these functions are serialized by Kernel CAPI so that only
131+
one call to any of them is active at any time.
127132

128133
u16 (*send_message)(struct capi_ctr *ctrlr, struct sk_buff *skb)
129134
pointer to a callback function for sending a CAPI message to the
130135
device
136+
Return value: CAPI error code
137+
If the method returns 0 (CAPI_NOERROR) the driver has taken ownership
138+
of the skb and the caller may no longer access it. If it returns a
139+
non-zero (error) value then ownership of the skb returns to the caller
140+
who may reuse or free it.
141+
The return value should only be used to signal problems with respect
142+
to accepting or queueing the message. Errors occurring during the
143+
actual processing of the message should be signaled with an
144+
appropriate reply message.
145+
Calls to this function are not serialized by Kernel CAPI, ie. it must
146+
be prepared to be re-entered.
131147

132148
char *(*procinfo)(struct capi_ctr *ctrlr)
133149
pointer to a callback function returning the entry for the device in
@@ -138,6 +154,8 @@ read_proc_t *ctr_read_proc
138154
system entry, /proc/capi/controllers/<n>; will be called with a
139155
pointer to the device's capi_ctr structure as the last (data) argument
140156

157+
Note: Callback functions are never called in interrupt context.
158+
141159
- to be filled in before calling capi_ctr_ready():
142160

143161
u8 manu[CAPI_MANUFACTURER_LEN]
@@ -153,6 +171,45 @@ u8 serial[CAPI_SERIAL_LEN]
153171
value to return for CAPI_GET_SERIAL
154172

155173

174+
4.3 The _cmsg Structure
175+
176+
(declared in <linux/isdn/capiutil.h>)
177+
178+
The _cmsg structure stores the contents of a CAPI 2.0 message in an easily
179+
accessible form. It contains members for all possible CAPI 2.0 parameters, of
180+
which only those appearing in the message type currently being processed are
181+
actually used. Unused members should be set to zero.
182+
183+
Members are named after the CAPI 2.0 standard names of the parameters they
184+
represent. See <linux/isdn/capiutil.h> for the exact spelling. Member data
185+
types are:
186+
187+
u8 for CAPI parameters of type 'byte'
188+
189+
u16 for CAPI parameters of type 'word'
190+
191+
u32 for CAPI parameters of type 'dword'
192+
193+
_cstruct for CAPI parameters of type 'struct' not containing any
194+
variably-sized (struct) subparameters (eg. 'Called Party Number')
195+
The member is a pointer to a buffer containing the parameter in
196+
CAPI encoding (length + content). It may also be NULL, which will
197+
be taken to represent an empty (zero length) parameter.
198+
199+
_cmstruct for CAPI parameters of type 'struct' containing 'struct'
200+
subparameters ('Additional Info' and 'B Protocol')
201+
The representation is a single byte containing one of the values:
202+
CAPI_DEFAULT: the parameter is empty
203+
CAPI_COMPOSE: the values of the subparameters are stored
204+
individually in the corresponding _cmsg structure members
205+
206+
Functions capi_cmsg2message() and capi_message2cmsg() are provided to convert
207+
messages between their transport encoding described in the CAPI 2.0 standard
208+
and their _cmsg structure representation. Note that capi_cmsg2message() does
209+
not know or check the size of its destination buffer. The caller must make
210+
sure it is big enough to accomodate the resulting CAPI message.
211+
212+
156213
5. Lower Layer Interface Functions
157214

158215
(declared in <linux/isdn/capilli.h>)
@@ -166,7 +223,7 @@ int detach_capi_ctr(struct capi_ctr *ctrlr)
166223
register/unregister a device (controller) with Kernel CAPI
167224

168225
void capi_ctr_ready(struct capi_ctr *ctrlr)
169-
void capi_ctr_reseted(struct capi_ctr *ctrlr)
226+
void capi_ctr_down(struct capi_ctr *ctrlr)
170227
signal controller ready/not ready
171228

172229
void capi_ctr_suspend_output(struct capi_ctr *ctrlr)
@@ -211,3 +268,32 @@ CAPIMSG_CONTROL(m) CAPIMSG_SETCONTROL(m, contr) Controller/PLCI/NCCI
211268
(u32)
212269
CAPIMSG_DATALEN(m) CAPIMSG_SETDATALEN(m, len) Data Length (u16)
213270

271+
272+
Library functions for working with _cmsg structures
273+
(from <linux/isdn/capiutil.h>):
274+
275+
unsigned capi_cmsg2message(_cmsg *cmsg, u8 *msg)
276+
Assembles a CAPI 2.0 message from the parameters in *cmsg, storing the
277+
result in *msg.
278+
279+
unsigned capi_message2cmsg(_cmsg *cmsg, u8 *msg)
280+
Disassembles the CAPI 2.0 message in *msg, storing the parameters in
281+
*cmsg.
282+
283+
unsigned capi_cmsg_header(_cmsg *cmsg, u16 ApplId, u8 Command, u8 Subcommand,
284+
u16 Messagenumber, u32 Controller)
285+
Fills the header part and address field of the _cmsg structure *cmsg
286+
with the given values, zeroing the remainder of the structure so only
287+
parameters with non-default values need to be changed before sending
288+
the message.
289+
290+
void capi_cmsg_answer(_cmsg *cmsg)
291+
Sets the low bit of the Subcommand field in *cmsg, thereby converting
292+
_REQ to _CONF and _IND to _RESP.
293+
294+
char *capi_cmd2str(u8 Command, u8 Subcommand)
295+
Returns the CAPI 2.0 message name corresponding to the given command
296+
and subcommand values, as a static ASCII string. The return value may
297+
be NULL if the command/subcommand is not one of those defined in the
298+
CAPI 2.0 standard.
299+

Documentation/isdn/README.gigaset

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,8 @@ GigaSet 307x Device Driver
149149
configuration files and chat scripts in the gigaset-VERSION/ppp directory
150150
in the driver packages from http://sourceforge.net/projects/gigaset307x/.
151151
Please note that the USB drivers are not able to change the state of the
152-
control lines (the M105 driver can be configured to use some undocumented
153-
control requests, if you really need the control lines, though). This means
154-
you must use "Stupid Mode" if you are using wvdial or you should use the
155-
nocrtscts option of pppd.
152+
control lines. This means you must use "Stupid Mode" if you are using
153+
wvdial or you should use the nocrtscts option of pppd.
156154
You must also assure that the ppp_async module is loaded with the parameter
157155
flag_time=0. You can do this e.g. by adding a line like
158156

@@ -190,20 +188,19 @@ GigaSet 307x Device Driver
190188
You can also use /sys/class/tty/ttyGxy/cidmode for changing the CID mode
191189
setting (ttyGxy is ttyGU0 or ttyGB0).
192190

193-
2.6. M105 Undocumented USB Requests
194-
------------------------------
195-
196-
The Gigaset M105 USB data box understands a couple of useful, but
197-
undocumented USB commands. These requests are not used in normal
198-
operation (for wireless access to the base), but are needed for access
199-
to the M105's own configuration mode (registration to the base, baudrate
200-
and line format settings, device status queries) via the gigacontr
201-
utility. Their use is controlled by the kernel configuration option
202-
"Support for undocumented USB requests" (CONFIG_GIGASET_UNDOCREQ). If you
203-
encounter error code -ENOTTY when trying to use some features of the
204-
M105, try setting that option to "y" via 'make {x,menu}config' and
205-
recompiling the driver.
206-
191+
2.6. Unregistered Wireless Devices (M101/M105)
192+
-----------------------------------------
193+
The main purpose of the ser_gigaset and usb_gigaset drivers is to allow
194+
the M101 and M105 wireless devices to be used as ISDN devices for ISDN
195+
connections through a Gigaset base. Therefore they assume that the device
196+
is registered to a DECT base.
197+
198+
If the M101/M105 device is not registered to a base, initialization of
199+
the device fails, and a corresponding error message is logged by the
200+
driver. In that situation, a restricted set of functions is available
201+
which includes, in particular, those necessary for registering the device
202+
to a base or for switching it between Fixed Part and Portable Part
203+
modes.
207204

208205
3. Troubleshooting
209206
---------------
@@ -234,11 +231,12 @@ GigaSet 307x Device Driver
234231
Select Unimodem mode for all DECT data adapters. (see section 2.4.)
235232

236233
Problem:
237-
You want to configure your USB DECT data adapter (M105) but gigacontr
238-
reports an error: "/dev/ttyGU0: Inappropriate ioctl for device".
234+
Messages like this:
235+
usb_gigaset 3-2:1.0: Could not initialize the device.
236+
appear in your syslog.
239237
Solution:
240-
Recompile the usb_gigaset driver with the kernel configuration option
241-
CONFIG_GIGASET_UNDOCREQ set to 'y'. (see section 2.6.)
238+
Check whether your M10x wireless device is correctly registered to the
239+
Gigaset base. (see section 2.6.)
242240

243241
3.2. Telling the driver to provide more information
244242
----------------------------------------------

0 commit comments

Comments
 (0)