Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ed0e21b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 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
  ...
parents 0fa21331 9cbc1cb8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1253,6 +1253,10 @@ S: 8124 Constitution Apt. 7
S: Sterling Heights, Michigan 48313
S: USA

N: Wolfgang Grandegger
E: wg@grandegger.com
D: Controller Area Network (device drivers)

N: William Greathouse
E: wgreathouse@smva.com
E: wgreathouse@myfavoritei.com
+0 −1
Original line number Diff line number Diff line
@@ -145,7 +145,6 @@ usage should require reading the full document.
        interface in STA mode at first!
      </para>
!Finclude/net/mac80211.h ieee80211_if_init_conf
!Finclude/net/mac80211.h ieee80211_if_conf
    </chapter>

    <chapter id="rx-tx">
+7 −0
Original line number Diff line number Diff line
@@ -438,6 +438,13 @@ Why: Superseded by tdfxfb. I2C/DDC support used to live in a separate
Who:	Jean Delvare <khali@linux-fr.org>
	Krzysztof Helt <krzysztof.h1@wp.pl>

---------------------------

What:	CONFIG_RFKILL_INPUT
When:	2.6.33
Why:	Should be implemented in userspace, policy daemon.
Who:	Johannes Berg <johannes@sipsolutions.net>

----------------------------

What:	CONFIG_X86_OLD_MCE
+21 −8
Original line number Diff line number Diff line
@@ -22,16 +22,11 @@ README.gigaset
	- info on the drivers for Siemens Gigaset ISDN adapters.
README.icn
	- info on the ICN-ISDN-card and its driver.
>>>>>>> 93af7aca44f0e82e67bda10a0fb73d383edcc8bd:Documentation/isdn/00-INDEX
README.HiSax
	- info on the HiSax driver which replaces the old teles.
README.hfc-pci
	- info on hfc-pci based cards.
README.pcbit
	- info on the PCBIT-D ISDN adapter and driver.
README.syncppp
	- info on running Sync PPP over ISDN.
syncPPP.FAQ
	- frequently asked questions about running PPP over ISDN.
README.audio
	- info for running audio over ISDN.
README.avmb1
	- info on driver for AVM-B1 ISDN card.
README.act2000
@@ -42,10 +37,28 @@ README.concap
	- info on "CONCAP" encapsulation protocol interface used for X.25.
README.diversion
	- info on module for isdn diversion services.
README.fax
	- info for using Fax over ISDN.
README.gigaset
	- info on the drivers for Siemens Gigaset ISDN adapters
README.hfc-pci
	- info on hfc-pci based cards.
README.hysdn
        - info on driver for Hypercope active HYSDN cards
README.icn
	- info on the ICN-ISDN-card and its driver.
README.mISDN
	- info on the Modular ISDN subsystem (mISDN)
README.pcbit
	- info on the PCBIT-D ISDN adapter and driver.
README.sc
	- info on driver for Spellcaster cards.
README.syncppp
	- info on running Sync PPP over ISDN.
README.x25
	- info for running X.25 over ISDN.
syncPPP.FAQ
	- frequently asked questions about running PPP over ISDN.
README.hysdn
	- info on driver for Hypercope active HYSDN cards
README.mISDN
+90 −4
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ From then on, Kernel CAPI may call the registered callback functions for the
device.

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


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

void (*reset_ctr)(struct capi_ctr *ctrlr)
	pointer to a callback function for performing a reset on the device,
	releasing all registered applications
	(optional) pointer to a callback function for performing a reset on
	the device, releasing all registered applications
	Called in process context.

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

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

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

Note: Callback functions are never called in interrupt context.

- to be filled in before calling capi_ctr_ready():

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


4.3 The _cmsg Structure

(declared in <linux/isdn/capiutil.h>)

The _cmsg structure stores the contents of a CAPI 2.0 message in an easily
accessible form. It contains members for all possible CAPI 2.0 parameters, of
which only those appearing in the message type currently being processed are
actually used. Unused members should be set to zero.

Members are named after the CAPI 2.0 standard names of the parameters they
represent. See <linux/isdn/capiutil.h> for the exact spelling. Member data
types are:

u8          for CAPI parameters of type 'byte'

u16         for CAPI parameters of type 'word'

u32         for CAPI parameters of type 'dword'

_cstruct    for CAPI parameters of type 'struct' not containing any
	    variably-sized (struct) subparameters (eg. 'Called Party Number')
	    The member is a pointer to a buffer containing the parameter in
	    CAPI encoding (length + content). It may also be NULL, which will
	    be taken to represent an empty (zero length) parameter.

_cmstruct   for CAPI parameters of type 'struct' containing 'struct'
	    subparameters ('Additional Info' and 'B Protocol')
	    The representation is a single byte containing one of the values:
	    CAPI_DEFAULT: the parameter is empty
	    CAPI_COMPOSE: the values of the subparameters are stored
	    individually in the corresponding _cmsg structure members

Functions capi_cmsg2message() and capi_message2cmsg() are provided to convert
messages between their transport encoding described in the CAPI 2.0 standard
and their _cmsg structure representation. Note that capi_cmsg2message() does
not know or check the size of its destination buffer. The caller must make
sure it is big enough to accomodate the resulting CAPI message.


5. Lower Layer Interface Functions

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

void capi_ctr_ready(struct capi_ctr *ctrlr)
void capi_ctr_reseted(struct capi_ctr *ctrlr)
void capi_ctr_down(struct capi_ctr *ctrlr)
	signal controller ready/not ready

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


Library functions for working with _cmsg structures
(from <linux/isdn/capiutil.h>):

unsigned capi_cmsg2message(_cmsg *cmsg, u8 *msg)
	Assembles a CAPI 2.0 message from the parameters in *cmsg, storing the
	result in *msg.

unsigned capi_message2cmsg(_cmsg *cmsg, u8 *msg)
	Disassembles the CAPI 2.0 message in *msg, storing the parameters in
	*cmsg.

unsigned capi_cmsg_header(_cmsg *cmsg, u16 ApplId, u8 Command, u8 Subcommand,
			  u16 Messagenumber, u32 Controller)
	Fills the header part and address field of the _cmsg structure *cmsg
	with the given values, zeroing the remainder of the structure so only
	parameters with non-default values need to be changed before sending
	the message.

void capi_cmsg_answer(_cmsg *cmsg)
	Sets the low bit of the Subcommand field in *cmsg, thereby converting
	_REQ to _CONF and _IND to _RESP.

char *capi_cmd2str(u8 Command, u8 Subcommand)
	Returns the CAPI 2.0 message name corresponding to the given command
	and subcommand values, as a static ASCII string. The return value may
	be NULL if the command/subcommand is not one of those defined in the
	CAPI 2.0 standard.
Loading