isdn: whitespace coding style cleanup
isdn source code uses a not-current coding style. Update the coding style used on a per-line basis so that git diff -w shows only elided blank lines at EOF. Done with emacs and some scripts and some typing. Built x86 allyesconfig. No detected change in objdump -d or size. Signed-off-by: Joe Perches <joe@perches.com>
这个提交包含在:
@@ -31,9 +31,9 @@
|
||||
#include "hysdn_defs.h"
|
||||
#include <linux/kernelcapi.h>
|
||||
|
||||
static char hycapi_revision[]="$Revision: 1.8.6.4 $";
|
||||
static char hycapi_revision[] = "$Revision: 1.8.6.4 $";
|
||||
|
||||
unsigned int hycapi_enable = 0xffffffff;
|
||||
unsigned int hycapi_enable = 0xffffffff;
|
||||
module_param(hycapi_enable, uint, 0);
|
||||
|
||||
typedef struct _hycapi_appl {
|
||||
@@ -48,18 +48,18 @@ static u16 hycapi_send_message(struct capi_ctr *ctrl, struct sk_buff *skb);
|
||||
|
||||
static inline int _hycapi_appCheck(int app_id, int ctrl_no)
|
||||
{
|
||||
if((ctrl_no <= 0) || (ctrl_no > CAPI_MAXCONTR) || (app_id <= 0) ||
|
||||
if ((ctrl_no <= 0) || (ctrl_no > CAPI_MAXCONTR) || (app_id <= 0) ||
|
||||
(app_id > CAPI_MAXAPPL))
|
||||
{
|
||||
printk(KERN_ERR "HYCAPI: Invalid request app_id %d for controller %d", app_id, ctrl_no);
|
||||
return -1;
|
||||
}
|
||||
return ((hycapi_applications[app_id-1].ctrl_mask & (1 << (ctrl_no-1))) != 0);
|
||||
return ((hycapi_applications[app_id - 1].ctrl_mask & (1 << (ctrl_no-1))) != 0);
|
||||
}
|
||||
|
||||
/******************************
|
||||
Kernel-Capi callback reset_ctr
|
||||
******************************/
|
||||
******************************/
|
||||
|
||||
static void
|
||||
hycapi_reset_ctr(struct capi_ctr *ctrl)
|
||||
@@ -75,7 +75,7 @@ hycapi_reset_ctr(struct capi_ctr *ctrl)
|
||||
|
||||
/******************************
|
||||
Kernel-Capi callback remove_ctr
|
||||
******************************/
|
||||
******************************/
|
||||
|
||||
static void
|
||||
hycapi_remove_ctr(struct capi_ctr *ctrl)
|
||||
@@ -85,25 +85,25 @@ hycapi_remove_ctr(struct capi_ctr *ctrl)
|
||||
hysdn_card *card = NULL;
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "HYCAPI hycapi_remove_ctr\n");
|
||||
#endif
|
||||
#endif
|
||||
cinfo = (hycapictrl_info *)(ctrl->driverdata);
|
||||
if(!cinfo) {
|
||||
if (!cinfo) {
|
||||
printk(KERN_ERR "No hycapictrl_info set!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
card = cinfo->card;
|
||||
capi_ctr_suspend_output(ctrl);
|
||||
for(i=0; i<CAPI_MAXAPPL;i++) {
|
||||
if(hycapi_applications[i].listen_req[ctrl->cnr-1]) {
|
||||
kfree_skb(hycapi_applications[i].listen_req[ctrl->cnr-1]);
|
||||
hycapi_applications[i].listen_req[ctrl->cnr-1] = NULL;
|
||||
for (i = 0; i < CAPI_MAXAPPL; i++) {
|
||||
if (hycapi_applications[i].listen_req[ctrl->cnr - 1]) {
|
||||
kfree_skb(hycapi_applications[i].listen_req[ctrl->cnr - 1]);
|
||||
hycapi_applications[i].listen_req[ctrl->cnr - 1] = NULL;
|
||||
}
|
||||
}
|
||||
detach_capi_ctr(ctrl);
|
||||
ctrl->driverdata = NULL;
|
||||
kfree(card->hyctrlinfo);
|
||||
|
||||
|
||||
|
||||
card->hyctrlinfo = NULL;
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ hycapi_sendmsg_internal(struct capi_ctr *ctrl, struct sk_buff *skb)
|
||||
|
||||
spin_lock_irq(&cinfo->lock);
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_send_message\n");
|
||||
printk(KERN_NOTICE "hycapi_send_message\n");
|
||||
#endif
|
||||
cinfo->skbs[cinfo->in_idx++] = skb; /* add to buffer list */
|
||||
if (cinfo->in_idx >= HYSDN_MAX_CAPI_SKB)
|
||||
@@ -130,7 +130,7 @@ hycapi_sendmsg_internal(struct capi_ctr *ctrl, struct sk_buff *skb)
|
||||
if (cinfo->sk_count >= HYSDN_MAX_CAPI_SKB) {
|
||||
/* inform upper layers we're full */
|
||||
printk(KERN_ERR "HYSDN Card%d: CAPI-buffer overrun!\n",
|
||||
card->myid);
|
||||
card->myid);
|
||||
capi_ctr_suspend_output(ctrl);
|
||||
}
|
||||
cinfo->tx_skb = skb;
|
||||
@@ -147,7 +147,7 @@ re-register any applications in the private list.
|
||||
|
||||
************************************************************/
|
||||
|
||||
static void
|
||||
static void
|
||||
hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,
|
||||
capi_register_params *rp)
|
||||
{
|
||||
@@ -161,9 +161,9 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,
|
||||
__u16 MessageBufferSize = 0;
|
||||
int slen = strlen(ExtFeatureDefaults);
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_register_appl\n");
|
||||
printk(KERN_NOTICE "hycapi_register_appl\n");
|
||||
#endif
|
||||
MessageBufferSize = rp->level3cnt * rp->datablkcnt * rp->datablklen;
|
||||
MessageBufferSize = rp->level3cnt * rp->datablkcnt * rp->datablklen;
|
||||
|
||||
len = CAPI_MSG_BASELEN + 8 + slen + 1;
|
||||
if (!(skb = alloc_skb(len, GFP_ATOMIC))) {
|
||||
@@ -171,18 +171,18 @@ hycapi_register_internal(struct capi_ctr *ctrl, __u16 appl,
|
||||
card->myid);
|
||||
return;
|
||||
}
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &len, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &appl, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u8)), &_command, sizeof(_command));
|
||||
memcpy(skb_put(skb,sizeof(__u8)), &_subcommand, sizeof(_subcommand));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &MessageNumber, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &MessageBufferSize, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &(rp->level3cnt), sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &(rp->datablkcnt), sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &(rp->datablklen), sizeof(__u16));
|
||||
memcpy(skb_put(skb,slen), ExtFeatureDefaults, slen);
|
||||
hycapi_applications[appl-1].ctrl_mask |= (1 << (ctrl->cnr-1));
|
||||
hycapi_send_message(ctrl, skb);
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command));
|
||||
memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &MessageBufferSize, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &(rp->level3cnt), sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablkcnt), sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &(rp->datablklen), sizeof(__u16));
|
||||
memcpy(skb_put(skb, slen), ExtFeatureDefaults, slen);
|
||||
hycapi_applications[appl - 1].ctrl_mask |= (1 << (ctrl->cnr - 1));
|
||||
hycapi_send_message(ctrl, skb);
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
@@ -200,12 +200,12 @@ static void hycapi_restart_internal(struct capi_ctr *ctrl)
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_WARNING "HYSDN: hycapi_restart_internal");
|
||||
#endif
|
||||
for(i=0; i<CAPI_MAXAPPL; i++) {
|
||||
if(_hycapi_appCheck(i+1, ctrl->cnr) == 1) {
|
||||
hycapi_register_internal(ctrl, i+1,
|
||||
for (i = 0; i < CAPI_MAXAPPL; i++) {
|
||||
if (_hycapi_appCheck(i + 1, ctrl->cnr) == 1) {
|
||||
hycapi_register_internal(ctrl, i + 1,
|
||||
&hycapi_applications[i].rp);
|
||||
if(hycapi_applications[i].listen_req[ctrl->cnr-1]) {
|
||||
skb = skb_copy(hycapi_applications[i].listen_req[ctrl->cnr-1], GFP_ATOMIC);
|
||||
if (hycapi_applications[i].listen_req[ctrl->cnr - 1]) {
|
||||
skb = skb_copy(hycapi_applications[i].listen_req[ctrl->cnr - 1], GFP_ATOMIC);
|
||||
hycapi_sendmsg_internal(ctrl, skb);
|
||||
}
|
||||
}
|
||||
@@ -220,35 +220,35 @@ The application is recorded in the internal list.
|
||||
*************************************************************/
|
||||
|
||||
static void
|
||||
hycapi_register_appl(struct capi_ctr *ctrl, __u16 appl,
|
||||
hycapi_register_appl(struct capi_ctr *ctrl, __u16 appl,
|
||||
capi_register_params *rp)
|
||||
{
|
||||
int MaxLogicalConnections = 0, MaxBDataBlocks = 0, MaxBDataLen = 0;
|
||||
hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata);
|
||||
hysdn_card *card = cinfo->card;
|
||||
int chk = _hycapi_appCheck(appl, ctrl->cnr);
|
||||
if(chk < 0) {
|
||||
if (chk < 0) {
|
||||
return;
|
||||
}
|
||||
if(chk == 1) {
|
||||
if (chk == 1) {
|
||||
printk(KERN_INFO "HYSDN: apl %d already registered\n", appl);
|
||||
return;
|
||||
}
|
||||
MaxBDataBlocks = rp->datablkcnt > CAPI_MAXDATAWINDOW ? CAPI_MAXDATAWINDOW : rp->datablkcnt;
|
||||
rp->datablkcnt = MaxBDataBlocks;
|
||||
MaxBDataLen = rp->datablklen < 1024 ? 1024 : rp->datablklen ;
|
||||
MaxBDataLen = rp->datablklen < 1024 ? 1024 : rp->datablklen;
|
||||
rp->datablklen = MaxBDataLen;
|
||||
|
||||
|
||||
MaxLogicalConnections = rp->level3cnt;
|
||||
if (MaxLogicalConnections < 0) {
|
||||
MaxLogicalConnections = card->bchans * -MaxLogicalConnections;
|
||||
MaxLogicalConnections = card->bchans * -MaxLogicalConnections;
|
||||
}
|
||||
if (MaxLogicalConnections == 0) {
|
||||
MaxLogicalConnections = card->bchans;
|
||||
}
|
||||
|
||||
|
||||
rp->level3cnt = MaxLogicalConnections;
|
||||
memcpy(&hycapi_applications[appl-1].rp,
|
||||
memcpy(&hycapi_applications[appl - 1].rp,
|
||||
rp, sizeof(capi_register_params));
|
||||
}
|
||||
|
||||
@@ -279,19 +279,19 @@ static void hycapi_release_internal(struct capi_ctr *ctrl, __u16 appl)
|
||||
card->myid);
|
||||
return;
|
||||
}
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &len, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &appl, sizeof(__u16));
|
||||
memcpy(skb_put(skb,sizeof(__u8)), &_command, sizeof(_command));
|
||||
memcpy(skb_put(skb,sizeof(__u8)), &_subcommand, sizeof(_subcommand));
|
||||
memcpy(skb_put(skb,sizeof(__u16)), &MessageNumber, sizeof(__u16));
|
||||
hycapi_send_message(ctrl, skb);
|
||||
hycapi_applications[appl-1].ctrl_mask &= ~(1 << (ctrl->cnr-1));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &len, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &appl, sizeof(__u16));
|
||||
memcpy(skb_put(skb, sizeof(__u8)), &_command, sizeof(_command));
|
||||
memcpy(skb_put(skb, sizeof(__u8)), &_subcommand, sizeof(_subcommand));
|
||||
memcpy(skb_put(skb, sizeof(__u16)), &MessageNumber, sizeof(__u16));
|
||||
hycapi_send_message(ctrl, skb);
|
||||
hycapi_applications[appl - 1].ctrl_mask &= ~(1 << (ctrl->cnr - 1));
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
hycapi_release_appl
|
||||
|
||||
Release the application from the internal list an remove it's
|
||||
Release the application from the internal list an remove it's
|
||||
registration at controller-level
|
||||
******************************************************************/
|
||||
|
||||
@@ -301,15 +301,15 @@ hycapi_release_appl(struct capi_ctr *ctrl, __u16 appl)
|
||||
int chk;
|
||||
|
||||
chk = _hycapi_appCheck(appl, ctrl->cnr);
|
||||
if(chk<0) {
|
||||
if (chk < 0) {
|
||||
printk(KERN_ERR "HYCAPI: Releasing invalid appl %d on controller %d\n", appl, ctrl->cnr);
|
||||
return;
|
||||
}
|
||||
if(hycapi_applications[appl-1].listen_req[ctrl->cnr-1]) {
|
||||
kfree_skb(hycapi_applications[appl-1].listen_req[ctrl->cnr-1]);
|
||||
hycapi_applications[appl-1].listen_req[ctrl->cnr-1] = NULL;
|
||||
if (hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1]) {
|
||||
kfree_skb(hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1]);
|
||||
hycapi_applications[appl - 1].listen_req[ctrl->cnr - 1] = NULL;
|
||||
}
|
||||
if(chk == 1)
|
||||
if (chk == 1)
|
||||
{
|
||||
hycapi_release_internal(ctrl, appl);
|
||||
}
|
||||
@@ -327,7 +327,7 @@ int hycapi_capi_release(hysdn_card *card)
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_capi_release\n");
|
||||
#endif
|
||||
if(cinfo) {
|
||||
if (cinfo) {
|
||||
ctrl = &cinfo->capi_ctrl;
|
||||
hycapi_remove_ctr(ctrl);
|
||||
}
|
||||
@@ -347,7 +347,7 @@ int hycapi_capi_stop(hysdn_card *card)
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_capi_stop\n");
|
||||
#endif
|
||||
if(cinfo) {
|
||||
if (cinfo) {
|
||||
ctrl = &cinfo->capi_ctrl;
|
||||
/* ctrl->suspend_output(ctrl); */
|
||||
capi_ctr_down(ctrl);
|
||||
@@ -377,59 +377,59 @@ static u16 hycapi_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
|
||||
u16 retval = CAPI_NOERROR;
|
||||
|
||||
appl_id = CAPIMSG_APPID(skb->data);
|
||||
switch(_hycapi_appCheck(appl_id, ctrl->cnr))
|
||||
switch (_hycapi_appCheck(appl_id, ctrl->cnr))
|
||||
{
|
||||
case 0:
|
||||
case 0:
|
||||
/* printk(KERN_INFO "Need to register\n"); */
|
||||
hycapi_register_internal(ctrl,
|
||||
appl_id,
|
||||
&(hycapi_applications[appl_id-1].rp));
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "HYCAPI: Controller mixup!\n");
|
||||
retval = CAPI_ILLAPPNR;
|
||||
goto out;
|
||||
hycapi_register_internal(ctrl,
|
||||
appl_id,
|
||||
&(hycapi_applications[appl_id - 1].rp));
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "HYCAPI: Controller mixup!\n");
|
||||
retval = CAPI_ILLAPPNR;
|
||||
goto out;
|
||||
}
|
||||
switch(CAPIMSG_CMD(skb->data)) {
|
||||
case CAPI_DISCONNECT_B3_RESP:
|
||||
capilib_free_ncci(&cinfo->ncci_head, appl_id,
|
||||
CAPIMSG_NCCI(skb->data));
|
||||
break;
|
||||
case CAPI_DATA_B3_REQ:
|
||||
_len = CAPIMSG_LEN(skb->data);
|
||||
if (_len > 22) {
|
||||
_len2 = _len - 22;
|
||||
skb_copy_from_linear_data(skb, msghead, 22);
|
||||
skb_copy_to_linear_data_offset(skb, _len2,
|
||||
msghead, 22);
|
||||
skb_pull(skb, _len2);
|
||||
CAPIMSG_SETLEN(skb->data, 22);
|
||||
retval = capilib_data_b3_req(&cinfo->ncci_head,
|
||||
CAPIMSG_APPID(skb->data),
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
CAPIMSG_MSGID(skb->data));
|
||||
}
|
||||
break;
|
||||
case CAPI_LISTEN_REQ:
|
||||
if(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1])
|
||||
{
|
||||
kfree_skb(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1]);
|
||||
hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1] = NULL;
|
||||
}
|
||||
if (!(hycapi_applications[appl_id-1].listen_req[ctrl->cnr-1] = skb_copy(skb, GFP_ATOMIC)))
|
||||
{
|
||||
printk(KERN_ERR "HYSDN: memory squeeze in private_listen\n");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch (CAPIMSG_CMD(skb->data)) {
|
||||
case CAPI_DISCONNECT_B3_RESP:
|
||||
capilib_free_ncci(&cinfo->ncci_head, appl_id,
|
||||
CAPIMSG_NCCI(skb->data));
|
||||
break;
|
||||
case CAPI_DATA_B3_REQ:
|
||||
_len = CAPIMSG_LEN(skb->data);
|
||||
if (_len > 22) {
|
||||
_len2 = _len - 22;
|
||||
skb_copy_from_linear_data(skb, msghead, 22);
|
||||
skb_copy_to_linear_data_offset(skb, _len2,
|
||||
msghead, 22);
|
||||
skb_pull(skb, _len2);
|
||||
CAPIMSG_SETLEN(skb->data, 22);
|
||||
retval = capilib_data_b3_req(&cinfo->ncci_head,
|
||||
CAPIMSG_APPID(skb->data),
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
CAPIMSG_MSGID(skb->data));
|
||||
}
|
||||
break;
|
||||
case CAPI_LISTEN_REQ:
|
||||
if (hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1])
|
||||
{
|
||||
kfree_skb(hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1]);
|
||||
hycapi_applications[appl_id - 1].listen_req[ctrl->cnr - 1] = NULL;
|
||||
}
|
||||
if (!(hycapi_applications[appl_id -1].listen_req[ctrl->cnr - 1] = skb_copy(skb, GFP_ATOMIC)))
|
||||
{
|
||||
printk(KERN_ERR "HYSDN: memory squeeze in private_listen\n");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
out:
|
||||
out:
|
||||
if (retval == CAPI_NOERROR)
|
||||
hycapi_sendmsg_internal(ctrl, skb);
|
||||
else
|
||||
else
|
||||
dev_kfree_skb_any(skb);
|
||||
|
||||
return retval;
|
||||
@@ -445,14 +445,14 @@ static int hycapi_proc_show(struct seq_file *m, void *v)
|
||||
seq_printf(m, "%-16s %s\n", "name", cinfo->cardname);
|
||||
seq_printf(m, "%-16s 0x%x\n", "io", card->iobase);
|
||||
seq_printf(m, "%-16s %d\n", "irq", card->irq);
|
||||
|
||||
|
||||
switch (card->brdtype) {
|
||||
case BD_PCCARD: s = "HYSDN Hycard"; break;
|
||||
case BD_ERGO: s = "HYSDN Ergo2"; break;
|
||||
case BD_METRO: s = "HYSDN Metro4"; break;
|
||||
case BD_CHAMP2: s = "HYSDN Champ2"; break;
|
||||
case BD_PLEXUS: s = "HYSDN Plexus30"; break;
|
||||
default: s = "???"; break;
|
||||
case BD_PCCARD: s = "HYSDN Hycard"; break;
|
||||
case BD_ERGO: s = "HYSDN Ergo2"; break;
|
||||
case BD_METRO: s = "HYSDN Metro4"; break;
|
||||
case BD_CHAMP2: s = "HYSDN Champ2"; break;
|
||||
case BD_PLEXUS: s = "HYSDN Plexus30"; break;
|
||||
default: s = "???"; break;
|
||||
}
|
||||
seq_printf(m, "%-16s %s\n", "type", s);
|
||||
if ((s = cinfo->version[VER_DRIVER]) != NULL)
|
||||
@@ -461,9 +461,9 @@ static int hycapi_proc_show(struct seq_file *m, void *v)
|
||||
seq_printf(m, "%-16s %s\n", "ver_cardtype", s);
|
||||
if ((s = cinfo->version[VER_SERIAL]) != NULL)
|
||||
seq_printf(m, "%-16s %s\n", "ver_serial", s);
|
||||
|
||||
|
||||
seq_printf(m, "%-16s %s\n", "cardname", cinfo->cardname);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -491,7 +491,7 @@ on capi-interface registration.
|
||||
static int hycapi_load_firmware(struct capi_ctr *ctrl, capiloaddata *data)
|
||||
{
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_load_firmware\n");
|
||||
printk(KERN_NOTICE "hycapi_load_firmware\n");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
@@ -501,7 +501,7 @@ static char *hycapi_procinfo(struct capi_ctr *ctrl)
|
||||
{
|
||||
hycapictrl_info *cinfo = (hycapictrl_info *)(ctrl->driverdata);
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_proc_info\n");
|
||||
printk(KERN_NOTICE "hycapi_proc_info\n");
|
||||
#endif
|
||||
if (!cinfo)
|
||||
return "";
|
||||
@@ -525,7 +525,7 @@ New nccis are created if necessary.
|
||||
*******************************************************************/
|
||||
|
||||
void
|
||||
hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)
|
||||
hycapi_rx_capipkt(hysdn_card *card, unsigned char *buf, unsigned short len)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
hycapictrl_info *cinfo = card->hyctrlinfo;
|
||||
@@ -533,24 +533,24 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)
|
||||
__u16 ApplId;
|
||||
__u16 MsgLen, info;
|
||||
__u16 len2, CapiCmd;
|
||||
__u32 CP64[2] = {0,0};
|
||||
__u32 CP64[2] = {0, 0};
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_rx_capipkt\n");
|
||||
printk(KERN_NOTICE "hycapi_rx_capipkt\n");
|
||||
#endif
|
||||
if(!cinfo) {
|
||||
if (!cinfo) {
|
||||
return;
|
||||
}
|
||||
ctrl = &cinfo->capi_ctrl;
|
||||
if(len < CAPI_MSG_BASELEN) {
|
||||
if (len < CAPI_MSG_BASELEN) {
|
||||
printk(KERN_ERR "HYSDN Card%d: invalid CAPI-message, length %d!\n",
|
||||
card->myid, len);
|
||||
return;
|
||||
}
|
||||
}
|
||||
MsgLen = CAPIMSG_LEN(buf);
|
||||
ApplId = CAPIMSG_APPID(buf);
|
||||
CapiCmd = CAPIMSG_CMD(buf);
|
||||
|
||||
if((CapiCmd == CAPI_DATA_B3_IND) && (MsgLen < 30)) {
|
||||
|
||||
if ((CapiCmd == CAPI_DATA_B3_IND) && (MsgLen < 30)) {
|
||||
len2 = len + (30 - MsgLen);
|
||||
if (!(skb = alloc_skb(len2, GFP_ATOMIC))) {
|
||||
printk(KERN_ERR "HYSDN Card%d: incoming packet dropped\n",
|
||||
@@ -558,7 +558,7 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)
|
||||
return;
|
||||
}
|
||||
memcpy(skb_put(skb, MsgLen), buf, MsgLen);
|
||||
memcpy(skb_put(skb, 2*sizeof(__u32)), CP64, 2* sizeof(__u32));
|
||||
memcpy(skb_put(skb, 2 * sizeof(__u32)), CP64, 2 * sizeof(__u32));
|
||||
memcpy(skb_put(skb, len - MsgLen), buf + MsgLen,
|
||||
len - MsgLen);
|
||||
CAPIMSG_SETLEN(skb->data, 30);
|
||||
@@ -570,54 +570,54 @@ hycapi_rx_capipkt(hysdn_card * card, unsigned char *buf, unsigned short len)
|
||||
}
|
||||
memcpy(skb_put(skb, len), buf, len);
|
||||
}
|
||||
switch(CAPIMSG_CMD(skb->data))
|
||||
switch (CAPIMSG_CMD(skb->data))
|
||||
{
|
||||
case CAPI_CONNECT_B3_CONF:
|
||||
case CAPI_CONNECT_B3_CONF:
|
||||
/* Check info-field for error-indication: */
|
||||
info = CAPIMSG_U16(skb->data, 12);
|
||||
switch(info)
|
||||
{
|
||||
case 0:
|
||||
capilib_new_ncci(&cinfo->ncci_head, ApplId, CAPIMSG_NCCI(skb->data),
|
||||
hycapi_applications[ApplId-1].rp.datablkcnt);
|
||||
|
||||
break;
|
||||
case 0x0001:
|
||||
printk(KERN_ERR "HYSDN Card%d: NCPI not supported by current "
|
||||
"protocol. NCPI ignored.\n", card->myid);
|
||||
break;
|
||||
case 0x2001:
|
||||
printk(KERN_ERR "HYSDN Card%d: Message not supported in"
|
||||
" current state\n", card->myid);
|
||||
break;
|
||||
case 0x2002:
|
||||
printk(KERN_ERR "HYSDN Card%d: invalid PLCI\n", card->myid);
|
||||
break;
|
||||
case 0x2004:
|
||||
printk(KERN_ERR "HYSDN Card%d: out of NCCI\n", card->myid);
|
||||
break;
|
||||
case 0x3008:
|
||||
printk(KERN_ERR "HYSDN Card%d: NCPI not supported\n",
|
||||
card->myid);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "HYSDN Card%d: Info in CONNECT_B3_CONF: %d\n",
|
||||
card->myid, info);
|
||||
break;
|
||||
}
|
||||
info = CAPIMSG_U16(skb->data, 12);
|
||||
switch (info)
|
||||
{
|
||||
case 0:
|
||||
capilib_new_ncci(&cinfo->ncci_head, ApplId, CAPIMSG_NCCI(skb->data),
|
||||
hycapi_applications[ApplId - 1].rp.datablkcnt);
|
||||
|
||||
break;
|
||||
case CAPI_CONNECT_B3_IND:
|
||||
capilib_new_ncci(&cinfo->ncci_head, ApplId,
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
hycapi_applications[ApplId-1].rp.datablkcnt);
|
||||
case 0x0001:
|
||||
printk(KERN_ERR "HYSDN Card%d: NCPI not supported by current "
|
||||
"protocol. NCPI ignored.\n", card->myid);
|
||||
break;
|
||||
case CAPI_DATA_B3_CONF:
|
||||
capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
CAPIMSG_MSGID(skb->data));
|
||||
case 0x2001:
|
||||
printk(KERN_ERR "HYSDN Card%d: Message not supported in"
|
||||
" current state\n", card->myid);
|
||||
break;
|
||||
case 0x2002:
|
||||
printk(KERN_ERR "HYSDN Card%d: invalid PLCI\n", card->myid);
|
||||
break;
|
||||
case 0x2004:
|
||||
printk(KERN_ERR "HYSDN Card%d: out of NCCI\n", card->myid);
|
||||
break;
|
||||
case 0x3008:
|
||||
printk(KERN_ERR "HYSDN Card%d: NCPI not supported\n",
|
||||
card->myid);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "HYSDN Card%d: Info in CONNECT_B3_CONF: %d\n",
|
||||
card->myid, info);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case CAPI_CONNECT_B3_IND:
|
||||
capilib_new_ncci(&cinfo->ncci_head, ApplId,
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
hycapi_applications[ApplId - 1].rp.datablkcnt);
|
||||
break;
|
||||
case CAPI_DATA_B3_CONF:
|
||||
capilib_data_b3_conf(&cinfo->ncci_head, ApplId,
|
||||
CAPIMSG_NCCI(skb->data),
|
||||
CAPIMSG_MSGID(skb->data));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
capi_ctr_handle_message(ctrl, ApplId, skb);
|
||||
}
|
||||
@@ -630,13 +630,13 @@ internal queue.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
void hycapi_tx_capiack(hysdn_card * card)
|
||||
void hycapi_tx_capiack(hysdn_card *card)
|
||||
{
|
||||
hycapictrl_info *cinfo = card->hyctrlinfo;
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_tx_capiack\n");
|
||||
printk(KERN_NOTICE "hycapi_tx_capiack\n");
|
||||
#endif
|
||||
if(!cinfo) {
|
||||
if (!cinfo) {
|
||||
return;
|
||||
}
|
||||
spin_lock_irq(&cinfo->lock);
|
||||
@@ -661,7 +661,7 @@ struct sk_buff *
|
||||
hycapi_tx_capiget(hysdn_card *card)
|
||||
{
|
||||
hycapictrl_info *cinfo = card->hyctrlinfo;
|
||||
if(!cinfo) {
|
||||
if (!cinfo) {
|
||||
return (struct sk_buff *)NULL;
|
||||
}
|
||||
if (!cinfo->sk_count)
|
||||
@@ -681,10 +681,10 @@ attach the capi-driver to the kernel-capi.
|
||||
int hycapi_init(void)
|
||||
{
|
||||
int i;
|
||||
for(i=0;i<CAPI_MAXAPPL;i++) {
|
||||
for (i = 0; i < CAPI_MAXAPPL; i++) {
|
||||
memset(&(hycapi_applications[i]), 0, sizeof(hycapi_appl));
|
||||
}
|
||||
return(0);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/**************************************************************
|
||||
@@ -694,7 +694,7 @@ detach the capi-driver to the kernel-capi. Actually this should
|
||||
free some more ressources. Do that later.
|
||||
**************************************************************/
|
||||
|
||||
void
|
||||
void
|
||||
hycapi_cleanup(void)
|
||||
{
|
||||
}
|
||||
@@ -710,9 +710,9 @@ static void hycapi_fill_profile(hysdn_card *card)
|
||||
hycapictrl_info *cinfo = NULL;
|
||||
struct capi_ctr *ctrl = NULL;
|
||||
cinfo = card->hyctrlinfo;
|
||||
if(!cinfo) return;
|
||||
if (!cinfo) return;
|
||||
ctrl = &cinfo->capi_ctrl;
|
||||
strcpy(ctrl->manu, "Hypercope");
|
||||
strcpy(ctrl->manu, "Hypercope");
|
||||
ctrl->version.majorversion = 2;
|
||||
ctrl->version.minorversion = 0;
|
||||
ctrl->version.majormanuversion = 3;
|
||||
@@ -732,18 +732,18 @@ static void hycapi_fill_profile(hysdn_card *card)
|
||||
(card->faxchans ? B3_PROT_T30 : 0) |
|
||||
(card->faxchans ? B3_PROT_T30EXT : 0) |
|
||||
B3_PROT_ISO8208;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
int
|
||||
hycapi_capi_create(hysdn_card *card)
|
||||
{
|
||||
hycapictrl_info *cinfo = NULL;
|
||||
struct capi_ctr *ctrl = NULL;
|
||||
int retval;
|
||||
#ifdef HYCAPI_PRINTFNAMES
|
||||
printk(KERN_NOTICE "hycapi_capi_create\n");
|
||||
printk(KERN_NOTICE "hycapi_capi_create\n");
|
||||
#endif
|
||||
if((hycapi_enable & (1 << card->myid)) == 0) {
|
||||
if ((hycapi_enable & (1 << card->myid)) == 0) {
|
||||
return 1;
|
||||
}
|
||||
if (!card->hyctrlinfo) {
|
||||
@@ -758,12 +758,12 @@ hycapi_capi_create(hysdn_card *card)
|
||||
INIT_LIST_HEAD(&cinfo->ncci_head);
|
||||
|
||||
switch (card->brdtype) {
|
||||
case BD_PCCARD: strcpy(cinfo->cardname,"HYSDN Hycard"); break;
|
||||
case BD_ERGO: strcpy(cinfo->cardname,"HYSDN Ergo2"); break;
|
||||
case BD_METRO: strcpy(cinfo->cardname,"HYSDN Metro4"); break;
|
||||
case BD_CHAMP2: strcpy(cinfo->cardname,"HYSDN Champ2"); break;
|
||||
case BD_PLEXUS: strcpy(cinfo->cardname,"HYSDN Plexus30"); break;
|
||||
default: strcpy(cinfo->cardname,"HYSDN ???"); break;
|
||||
case BD_PCCARD: strcpy(cinfo->cardname, "HYSDN Hycard"); break;
|
||||
case BD_ERGO: strcpy(cinfo->cardname, "HYSDN Ergo2"); break;
|
||||
case BD_METRO: strcpy(cinfo->cardname, "HYSDN Metro4"); break;
|
||||
case BD_CHAMP2: strcpy(cinfo->cardname, "HYSDN Champ2"); break;
|
||||
case BD_PLEXUS: strcpy(cinfo->cardname, "HYSDN Plexus30"); break;
|
||||
default: strcpy(cinfo->cardname, "HYSDN ???"); break;
|
||||
}
|
||||
|
||||
ctrl = &cinfo->capi_ctrl;
|
||||
@@ -792,7 +792,7 @@ hycapi_capi_create(hysdn_card *card)
|
||||
ctrl = &card->hyctrlinfo->capi_ctrl;
|
||||
hycapi_fill_profile(card);
|
||||
capi_ctr_ready(ctrl);
|
||||
hycapi_restart_internal(ctrl);
|
||||
hycapi_restart_internal(ctrl);
|
||||
/* ctrl->resume_output(ctrl); */
|
||||
}
|
||||
return 0;
|
||||
|
在新工单中引用
屏蔽一个用户