[dahdi-commits] tzafrir: linux/trunk r10428 - /linux/trunk/drivers/dahdi/xpp/
SVN commits to the DAHDI project
dahdi-commits at lists.digium.com
Wed Jan 11 09:22:51 CST 2012
Author: tzafrir
Date: Wed Jan 11 09:22:46 2012
New Revision: 10428
URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=10428
Log:
xpp: style - Run Lindent
* Here it is:
KERNEL_STYLE="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"
TYPEDEFS='
-T gfp_t
-T __user
-T u_char
-T __u8
-T byte
-T bool
-T charp
-T xusb_t
-T xbus_t
-T xpd_t
-T xproto_table_t
-T xproto_entry_t
-T xframe_t
-T xpacket_t
-T reg_cmd_t
'
indent $TYPEDEFS $KERNEL_STYLE \
--ignore-newlines \
--indent-label0 \
--no-space-after-function-call-names \
"$@"
Signed-off-by: Oron Peled <oron.peled at xorcom.com>
Acked-By: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
Modified:
linux/trunk/drivers/dahdi/xpp/card_bri.c
linux/trunk/drivers/dahdi/xpp/card_bri.h
linux/trunk/drivers/dahdi/xpp/card_echo.c
linux/trunk/drivers/dahdi/xpp/card_echo.h
linux/trunk/drivers/dahdi/xpp/card_fxo.c
linux/trunk/drivers/dahdi/xpp/card_fxo.h
linux/trunk/drivers/dahdi/xpp/card_fxs.c
linux/trunk/drivers/dahdi/xpp/card_fxs.h
linux/trunk/drivers/dahdi/xpp/card_global.c
linux/trunk/drivers/dahdi/xpp/card_global.h
linux/trunk/drivers/dahdi/xpp/card_pri.c
linux/trunk/drivers/dahdi/xpp/card_pri.h
linux/trunk/drivers/dahdi/xpp/dahdi_debug.c
linux/trunk/drivers/dahdi/xpp/dahdi_debug.h
linux/trunk/drivers/dahdi/xpp/mmapbus.c
linux/trunk/drivers/dahdi/xpp/mmapdrv.c
linux/trunk/drivers/dahdi/xpp/parport_debug.c
linux/trunk/drivers/dahdi/xpp/parport_debug.h
linux/trunk/drivers/dahdi/xpp/print_fxo_modes.c
linux/trunk/drivers/dahdi/xpp/xbus-core.c
linux/trunk/drivers/dahdi/xpp/xbus-core.h
linux/trunk/drivers/dahdi/xpp/xbus-pcm.c
linux/trunk/drivers/dahdi/xpp/xbus-pcm.h
linux/trunk/drivers/dahdi/xpp/xbus-sysfs.c
linux/trunk/drivers/dahdi/xpp/xdefs.h
linux/trunk/drivers/dahdi/xpp/xframe_queue.c
linux/trunk/drivers/dahdi/xpp/xframe_queue.h
linux/trunk/drivers/dahdi/xpp/xpd.h
linux/trunk/drivers/dahdi/xpp/xpp_dahdi.c
linux/trunk/drivers/dahdi/xpp/xpp_dahdi.h
linux/trunk/drivers/dahdi/xpp/xpp_usb.c
linux/trunk/drivers/dahdi/xpp/xproto.c
linux/trunk/drivers/dahdi/xpp/xproto.h
Modified: linux/trunk/drivers/dahdi/xpp/card_bri.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/xpp/card_bri.c?view=diff&rev=10428&r1=10427&r2=10428
==============================================================================
--- linux/trunk/drivers/dahdi/xpp/card_bri.c (original)
+++ linux/trunk/drivers/dahdi/xpp/card_bri.c Wed Jan 11 09:22:46 2012
@@ -40,30 +40,32 @@
#endif
static DEF_PARM(int, debug, 0, 0644, "Print DBG statements"); /* must be before dahdi_debug.h */
-static DEF_PARM(uint, poll_interval, 500, 0644, "Poll channel state interval in milliseconds (0 - disable)");
-static DEF_PARM_BOOL(nt_keepalive, 1, 0644, "Force BRI_NT to keep trying connection");
+static DEF_PARM(uint, poll_interval, 500, 0644,
+ "Poll channel state interval in milliseconds (0 - disable)");
+static DEF_PARM_BOOL(nt_keepalive, 1, 0644,
+ "Force BRI_NT to keep trying connection");
enum xhfc_states {
- ST_RESET = 0, /* G/F0 */
+ ST_RESET = 0, /* G/F0 */
/* TE */
- ST_TE_SENSING = 2, /* F2 */
- ST_TE_DEACTIVATED = 3, /* F3 */
- ST_TE_SIGWAIT = 4, /* F4 */
- ST_TE_IDENT = 5, /* F5 */
- ST_TE_SYNCED = 6, /* F6 */
- ST_TE_ACTIVATED = 7, /* F7 */
- ST_TE_LOST_FRAMING = 8, /* F8 */
+ ST_TE_SENSING = 2, /* F2 */
+ ST_TE_DEACTIVATED = 3, /* F3 */
+ ST_TE_SIGWAIT = 4, /* F4 */
+ ST_TE_IDENT = 5, /* F5 */
+ ST_TE_SYNCED = 6, /* F6 */
+ ST_TE_ACTIVATED = 7, /* F7 */
+ ST_TE_LOST_FRAMING = 8, /* F8 */
/* NT */
- ST_NT_DEACTIVATED = 1, /* G1 */
- ST_NT_ACTIVATING = 2, /* G2 */
- ST_NT_ACTIVATED = 3, /* G3 */
- ST_NT_DEACTIVTING = 4, /* G4 */
+ ST_NT_DEACTIVATED = 1, /* G1 */
+ ST_NT_ACTIVATING = 2, /* G2 */
+ ST_NT_ACTIVATED = 3, /* G3 */
+ ST_NT_DEACTIVTING = 4, /* G4 */
};
#ifdef CONFIG_PROC_FS
static const char *xhfc_state_name(bool is_nt, enum xhfc_states state)
{
- const char *p;
+ const char *p;
#define _E(x) [ST_ ## x] = #x
static const char *te_names[] = {
@@ -111,9 +113,9 @@
#define HFC_TIMER_T3 8000 /* 8s activation timer T3 */
#define HFC_TIMER_OFF -1 /* timer disabled */
-#define A_SU_WR_STA 0x30 /* ST/Up state machine register */
+#define A_SU_WR_STA 0x30 /* ST/Up state machine register */
#define V_SU_LD_STA 0x10
-#define V_SU_ACT 0x60 /* start activation/deactivation */
+#define V_SU_ACT 0x60 /* start activation/deactivation */
#define STA_DEACTIVATE 0x40 /* start deactivation in A_SU_WR_STA */
#define STA_ACTIVATE 0x60 /* start activation in A_SU_WR_STA */
#define V_SU_SET_G2_G3 0x80
@@ -121,13 +123,13 @@
#define A_SU_RD_STA 0x30
typedef union {
struct {
- __u8 v_su_sta:4;
- __u8 v_su_fr_sync:1;
- __u8 v_su_t2_exp:1;
- __u8 v_su_info0:1;
- __u8 v_g2_g3:1;
+ __u8 v_su_sta:4;
+ __u8 v_su_fr_sync:1;
+ __u8 v_su_t2_exp:1;
+ __u8 v_su_info0:1;
+ __u8 v_g2_g3:1;
} bits;
- __u8 reg;
+ __u8 reg;
} su_rd_sta_t;
#define REG30_LOST 3 /* in polls */
@@ -149,7 +151,8 @@
static bool bri_packet_is_valid(xpacket_t *pack);
static void bri_packet_dump(const char *msg, xpacket_t *pack);
#ifdef CONFIG_PROC_FS
-static int proc_bri_info_read(char *page, char **start, off_t off, int count, int *eof, void *data);
+static int proc_bri_info_read(char *page, char **start, off_t off, int count,
+ int *eof, void *data);
#endif
static int bri_spanconfig(struct file *file, struct dahdi_span *span,
struct dahdi_lineconfig *lc);
@@ -162,29 +165,28 @@
#define PROC_BRI_INFO_FNAME "bri_info"
enum led_state {
- BRI_LED_OFF = 0x0,
- BRI_LED_ON = 0x1,
+ BRI_LED_OFF = 0x0,
+ BRI_LED_ON = 0x1,
/*
* We blink by software from driver, so that
* if the driver malfunction that blink would stop.
*/
- // BRI_LED_BLINK_SLOW = 0x2, /* 1/2 a second blink cycle */
- // BRI_LED_BLINK_FAST = 0x3 /* 1/4 a second blink cycle */
+ // BRI_LED_BLINK_SLOW = 0x2, /* 1/2 a second blink cycle */
+ // BRI_LED_BLINK_FAST = 0x3 /* 1/4 a second blink cycle */
};
enum bri_led_names {
- GREEN_LED = 0,
- RED_LED = 1
+ GREEN_LED = 0,
+ RED_LED = 1
};
#define NUM_LEDS 2
#define LED_TICKS 100
-
struct bri_leds {
- __u8 state:2;
- __u8 led_sel:1; /* 0 - GREEN, 1 - RED */
- __u8 reserved:5;
+ __u8 state:2;
+ __u8 led_sel:1; /* 0 - GREEN, 1 - RED */
+ __u8 reserved:5;
};
#ifndef MAX_DFRAME_LEN_L1
@@ -194,42 +196,41 @@
#define DCHAN_BUFSIZE MAX_DFRAME_LEN_L1
struct BRI_priv_data {
- struct proc_dir_entry *bri_info;
- su_rd_sta_t state_register;
- bool initialized;
- int t1; /* timer 1 for NT deactivation */
- int t3; /* timer 3 for TE activation */
- ulong l1_flags;
- bool reg30_good;
- uint reg30_ticks;
- bool layer1_up;
+ struct proc_dir_entry *bri_info;
+ su_rd_sta_t state_register;
+ bool initialized;
+ int t1; /* timer 1 for NT deactivation */
+ int t3; /* timer 3 for TE activation */
+ ulong l1_flags;
+ bool reg30_good;
+ uint reg30_ticks;
+ bool layer1_up;
/*
* D-Chan: buffers + extra state info.
*/
- atomic_t hdlc_pending;
- bool txframe_begin;
-
- uint tick_counter;
- uint poll_counter;
- uint dchan_tx_counter;
- uint dchan_rx_counter;
- uint dchan_rx_drops;
- bool dchan_alive;
- uint dchan_alive_ticks;
- uint dchan_notx_ticks;
- uint dchan_norx_ticks;
- enum led_state ledstate[NUM_LEDS];
+ atomic_t hdlc_pending;
+ bool txframe_begin;
+
+ uint tick_counter;
+ uint poll_counter;
+ uint dchan_tx_counter;
+ uint dchan_rx_counter;
+ uint dchan_rx_drops;
+ bool dchan_alive;
+ uint dchan_alive_ticks;
+ uint dchan_notx_ticks;
+ uint dchan_norx_ticks;
+ enum led_state ledstate[NUM_LEDS];
};
-static xproto_table_t PROTO_TABLE(BRI);
-
+static xproto_table_t PROTO_TABLE(BRI);
DEF_RPACKET_DATA(BRI, SET_LED, /* Set one of the LED's */
- struct bri_leds bri_leds;
- );
-
-static /* 0x33 */ DECLARE_CMD(BRI, SET_LED, enum bri_led_names which_led, enum led_state to_led_state);
+ struct bri_leds bri_leds;);
+
+static /* 0x33 */ DECLARE_CMD(BRI, SET_LED, enum bri_led_names which_led,
+ enum led_state to_led_state);
#define DO_LED(xpd, which, tostate) \
CALL_PROTO(BRI, SET_LED, (xpd)->xbus, (xpd), (which), (tostate))
@@ -237,24 +238,25 @@
#define DEBUG_BUF_SIZE (100)
static void dump_hex_buf(xpd_t *xpd, char *msg, __u8 *buf, size_t len)
{
- char debug_buf[DEBUG_BUF_SIZE + 1];
- int i;
- int n = 0;
+ char debug_buf[DEBUG_BUF_SIZE + 1];
+ int i;
+ int n = 0;
debug_buf[0] = '\0';
for (i = 0; i < len && n < DEBUG_BUF_SIZE; i++)
- n += snprintf(&debug_buf[n], DEBUG_BUF_SIZE - n, "%02X ", buf[i]);
- XPD_NOTICE(xpd, "%s[0..%zd]: %s%s\n", msg, len-1, debug_buf,
- (n >= DEBUG_BUF_SIZE)?"...":"");
+ n += snprintf(&debug_buf[n], DEBUG_BUF_SIZE - n, "%02X ",
+ buf[i]);
+ XPD_NOTICE(xpd, "%s[0..%zd]: %s%s\n", msg, len - 1, debug_buf,
+ (n >= DEBUG_BUF_SIZE) ? "..." : "");
}
static void dump_dchan_packet(xpd_t *xpd, bool transmit, __u8 *buf, int len)
{
- struct BRI_priv_data *priv;
- char msgbuf[MAX_PROC_WRITE];
- char ftype = '?';
- char *direction;
- int frame_begin;
+ struct BRI_priv_data *priv;
+ char msgbuf[MAX_PROC_WRITE];
+ char ftype = '?';
+ char *direction;
+ int frame_begin;
priv = xpd->priv;
BUG_ON(!priv);
@@ -275,14 +277,16 @@
else
XPD_NOTICE(xpd, "Unknown frame type 0x%X\n", buf[0]);
- snprintf(msgbuf, MAX_PROC_WRITE, "D-Chan %s = (%c) ", direction, ftype);
+ snprintf(msgbuf, MAX_PROC_WRITE, "D-Chan %s = (%c) ", direction,
+ ftype);
} else {
snprintf(msgbuf, MAX_PROC_WRITE, "D-Chan %s = ", direction);
}
dump_hex_buf(xpd, msgbuf, buf, len);
}
-static void set_bri_timer(xpd_t *xpd, const char *name, int *bri_timer, int value)
+static void set_bri_timer(xpd_t *xpd, const char *name, int *bri_timer,
+ int value)
{
if (value == HFC_TIMER_OFF)
XPD_DBG(SIGNAL, xpd, "Timer %s DISABLE\n", name);
@@ -293,7 +297,7 @@
static void dchan_state(xpd_t *xpd, bool up)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -305,7 +309,8 @@
priv->dchan_alive = 1;
} else {
XPD_DBG(SIGNAL, xpd, "STATE CHANGE: D-Channel STOPPED\n");
- priv->dchan_rx_counter = priv->dchan_tx_counter = priv->dchan_rx_drops = 0;
+ priv->dchan_rx_counter = priv->dchan_tx_counter =
+ priv->dchan_rx_drops = 0;
priv->dchan_alive = 0;
priv->dchan_alive_ticks = 0;
}
@@ -313,7 +318,7 @@
static void layer1_state(xpd_t *xpd, bool up)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -321,21 +326,21 @@
if (priv->layer1_up == up)
return;
priv->layer1_up = up;
- XPD_DBG(SIGNAL, xpd, "STATE CHANGE: Layer1 %s\n", (up)?"UP":"DOWN");
+ XPD_DBG(SIGNAL, xpd, "STATE CHANGE: Layer1 %s\n", (up) ? "UP" : "DOWN");
if (!up)
dchan_state(xpd, 0);
}
static void te_activation(xpd_t *xpd, bool on)
{
- struct BRI_priv_data *priv;
- __u8 curr_state;
+ struct BRI_priv_data *priv;
+ __u8 curr_state;
BUG_ON(!xpd);
priv = xpd->priv;
BUG_ON(!priv);
curr_state = priv->state_register.bits.v_su_sta;
- XPD_DBG(SIGNAL, xpd, "%s\n", (on)?"ON":"OFF");
+ XPD_DBG(SIGNAL, xpd, "%s\n", (on) ? "ON" : "OFF");
if (on) {
if (curr_state == ST_TE_DEACTIVATED) {
XPD_DBG(SIGNAL, xpd, "HFC_L1_ACTIVATE_TE\n");
@@ -347,84 +352,84 @@
"HFC_L1_ACTIVATE_TE (state %d, ignored)\n",
curr_state);
}
- } else { /* happen only because of T3 expiry */
+ } else { /* happen only because of T3 expiry */
switch (curr_state) {
- case ST_TE_DEACTIVATED: /* F3 */
- case ST_TE_SYNCED: /* F6 */
- case ST_TE_ACTIVATED: /* F7 */
- XPD_DBG(SIGNAL, xpd,
- "HFC_L1_FORCE_DEACTIVATE_TE (state %d, ignored)\n",
- curr_state);
- break;
- case ST_TE_SIGWAIT: /* F4 */
- case ST_TE_IDENT: /* F5 */
- case ST_TE_LOST_FRAMING: /* F8 */
- XPD_DBG(SIGNAL, xpd, "HFC_L1_FORCE_DEACTIVATE_TE\n");
- write_state_register(xpd, STA_DEACTIVATE);
- break;
- default:
- XPD_NOTICE(xpd, "Bad TE state: %d\n", curr_state);
- break;
+ case ST_TE_DEACTIVATED: /* F3 */
+ case ST_TE_SYNCED: /* F6 */
+ case ST_TE_ACTIVATED: /* F7 */
+ XPD_DBG(SIGNAL, xpd,
+ "HFC_L1_FORCE_DEACTIVATE_TE (state %d, ignored)\n",
+ curr_state);
+ break;
+ case ST_TE_SIGWAIT: /* F4 */
+ case ST_TE_IDENT: /* F5 */
+ case ST_TE_LOST_FRAMING: /* F8 */
+ XPD_DBG(SIGNAL, xpd, "HFC_L1_FORCE_DEACTIVATE_TE\n");
+ write_state_register(xpd, STA_DEACTIVATE);
+ break;
+ default:
+ XPD_NOTICE(xpd, "Bad TE state: %d\n", curr_state);
+ break;
}
}
}
static void nt_activation(xpd_t *xpd, bool on)
{
- struct BRI_priv_data *priv;
- __u8 curr_state;
+ struct BRI_priv_data *priv;
+ __u8 curr_state;
BUG_ON(!xpd);
priv = xpd->priv;
BUG_ON(!priv);
curr_state = priv->state_register.bits.v_su_sta;
- XPD_DBG(SIGNAL, xpd, "%s\n", (on)?"ON":"OFF");
+ XPD_DBG(SIGNAL, xpd, "%s\n", (on) ? "ON" : "OFF");
if (on) {
switch (curr_state) {
- case ST_RESET: /* F/G 0 */
- case ST_NT_DEACTIVATED: /* G1 */
- case ST_NT_DEACTIVTING: /* G4 */
- XPD_DBG(SIGNAL, xpd, "HFC_L1_ACTIVATE_NT\n");
- set_bri_timer(xpd, "T1", &priv->t1, HFC_TIMER_T1);
- set_bit(HFC_L1_ACTIVATING, &priv->l1_flags);
- write_state_register(xpd, STA_ACTIVATE);
- break;
- case ST_NT_ACTIVATING: /* G2 */
- case ST_NT_ACTIVATED: /* G3 */
- XPD_DBG(SIGNAL, xpd,
- "HFC_L1_ACTIVATE_NT (in state %d, ignored)\n",
- curr_state);
- break;
+ case ST_RESET: /* F/G 0 */
+ case ST_NT_DEACTIVATED: /* G1 */
+ case ST_NT_DEACTIVTING: /* G4 */
+ XPD_DBG(SIGNAL, xpd, "HFC_L1_ACTIVATE_NT\n");
+ set_bri_timer(xpd, "T1", &priv->t1, HFC_TIMER_T1);
+ set_bit(HFC_L1_ACTIVATING, &priv->l1_flags);
+ write_state_register(xpd, STA_ACTIVATE);
+ break;
+ case ST_NT_ACTIVATING: /* G2 */
+ case ST_NT_ACTIVATED: /* G3 */
+ XPD_DBG(SIGNAL, xpd,
+ "HFC_L1_ACTIVATE_NT (in state %d, ignored)\n",
+ curr_state);
+ break;
}
} else {
switch (curr_state) {
- case ST_RESET: /* F/G 0 */
- case ST_NT_DEACTIVATED: /* G1 */
- case ST_NT_DEACTIVTING: /* G4 */
- XPD_DBG(SIGNAL, xpd,
- "HFC_L1_DEACTIVATE_NT (in state %d, ignored)\n",
- curr_state);
- break;
- case ST_NT_ACTIVATING: /* G2 */
- case ST_NT_ACTIVATED: /* G3 */
- XPD_DBG(SIGNAL, xpd, "HFC_L1_DEACTIVATE_NT\n");
- write_state_register(xpd, STA_DEACTIVATE);
- break;
- default:
- XPD_NOTICE(xpd, "Bad NT state: %d\n", curr_state);
- break;
- }
- }
-}
-
+ case ST_RESET: /* F/G 0 */
+ case ST_NT_DEACTIVATED: /* G1 */
+ case ST_NT_DEACTIVTING: /* G4 */
+ XPD_DBG(SIGNAL, xpd,
+ "HFC_L1_DEACTIVATE_NT (in state %d, ignored)\n",
+ curr_state);
+ break;
+ case ST_NT_ACTIVATING: /* G2 */
+ case ST_NT_ACTIVATED: /* G3 */
+ XPD_DBG(SIGNAL, xpd, "HFC_L1_DEACTIVATE_NT\n");
+ write_state_register(xpd, STA_DEACTIVATE);
+ break;
+ default:
+ XPD_NOTICE(xpd, "Bad NT state: %d\n", curr_state);
+ break;
+ }
+ }
+}
/*
* D-Chan receive
*/
-static int bri_check_stat(xpd_t *xpd, struct dahdi_chan *dchan, __u8 *buf, int len)
-{
- struct BRI_priv_data *priv;
- __u8 status;
+static int bri_check_stat(xpd_t *xpd, struct dahdi_chan *dchan, __u8 *buf,
+ int len)
+{
+ struct BRI_priv_data *priv;
+ __u8 status;
priv = xpd->priv;
BUG_ON(!priv);
@@ -433,9 +438,9 @@
dahdi_hdlc_abort(dchan, DAHDI_EVENT_ABORT);
return -EPROTO;
}
- status = buf[len-1];
+ status = buf[len - 1];
if (status) {
- int event = DAHDI_EVENT_ABORT;
+ int event = DAHDI_EVENT_ABORT;
if (status == 0xFF) {
XPD_NOTICE(xpd, "D-Chan RX DROP: ABORT: %d\n", status);
@@ -452,19 +457,19 @@
static int rx_dchan(xpd_t *xpd, reg_cmd_t *regcmd)
{
- struct BRI_priv_data *priv;
- __u8 *src;
- struct dahdi_chan *dchan;
- uint len;
- bool eoframe;
- int ret = 0;
+ struct BRI_priv_data *priv;
+ __u8 *src;
+ struct dahdi_chan *dchan;
+ uint len;
+ bool eoframe;
+ int ret = 0;
src = REG_XDATA(regcmd);
len = regcmd->bytes;
eoframe = regcmd->eoframe;
if (len <= 0)
return 0;
- if (!SPAN_REGISTERED(xpd)) /* Nowhere to copy data */
+ if (!SPAN_REGISTERED(xpd)) /* Nowhere to copy data */
return 0;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -501,9 +506,9 @@
/* DAHDI calls this when it has data it wants to send to the HDLC controller */
static void bri_hdlc_hard_xmit(struct dahdi_chan *chan)
{
- xpd_t *xpd = chan->pvt;
- struct dahdi_chan *dchan;
- struct BRI_priv_data *priv;
+ xpd_t *xpd = chan->pvt;
+ struct dahdi_chan *dchan;
+ struct BRI_priv_data *priv;
priv = xpd->priv;
BUG_ON(!priv);
@@ -521,8 +526,9 @@
XPD_DBG(COMMANDS, xpd, "eoframe=%d\n", is_eof);
priv = xpd->priv;
if (!test_bit(HFC_L1_ACTIVATED, &priv->l1_flags)
- && !test_bit(HFC_L1_ACTIVATING, &priv->l1_flags)) {
- XPD_DBG(SIGNAL, xpd, "Want to transmit: Kick D-Channel transmiter\n");
+ && !test_bit(HFC_L1_ACTIVATING, &priv->l1_flags)) {
+ XPD_DBG(SIGNAL, xpd,
+ "Want to transmit: Kick D-Channel transmiter\n");
if (!IS_NT(xpd))
te_activation(xpd, 1);
else
@@ -545,8 +551,8 @@
/*
* Fill a single multibyte REGISTER_REQUEST
*/
-static void fill_multibyte(xpd_t *xpd, xpacket_t *pack, bool eoframe,
- char *buf, int len)
+static void fill_multibyte(xpd_t *xpd, xpacket_t *pack, bool eoframe, char *buf,
+ int len)
{
reg_cmd_t *reg_cmd;
char *p;
@@ -587,14 +593,14 @@
BUG_ON(!priv);
if (atomic_read(&priv->hdlc_pending) == 0)
return 0;
- if (!SPAN_REGISTERED(xpd) ||
- !(PHONEDEV(xpd).span.flags & DAHDI_FLAG_RUNNING))
+ if (!SPAN_REGISTERED(xpd)
+ || !(PHONEDEV(xpd).span.flags & DAHDI_FLAG_RUNNING))
return 0;
/* Allocate frame */
xframe = ALLOC_SEND_XFRAME(xpd->xbus);
if (!xframe) {
XPD_NOTICE(xpd, "%s: failed to allocate new xframe\n",
- __func__);
+ __func__);
return -ENOMEM;
}
for (packet_count = 0, eoframe = 0; !eoframe; packet_count++) {
@@ -609,9 +615,8 @@
/*
* A split. Send what we currently have.
*/
- XPD_NOTICE(xpd,
- "%s: xframe is full (%d packets)\n",
- __func__, packet_count);
+ XPD_NOTICE(xpd, "%s: xframe is full (%d packets)\n",
+ __func__, packet_count);
break;
}
/* Get data from DAHDI */
@@ -639,7 +644,7 @@
static void bri_proc_remove(xbus_t *xbus, xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -654,16 +659,19 @@
static int bri_proc_create(xbus_t *xbus, xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
XPD_DBG(PROC, xpd, "\n");
#ifdef CONFIG_PROC_FS
XPD_DBG(PROC, xpd, "Creating '%s'\n", PROC_BRI_INFO_FNAME);
- priv->bri_info = create_proc_read_entry(PROC_BRI_INFO_FNAME, 0444, xpd->proc_xpd_dir, proc_bri_info_read, xpd);
+ priv->bri_info =
+ create_proc_read_entry(PROC_BRI_INFO_FNAME, 0444, xpd->proc_xpd_dir,
+ proc_bri_info_read, xpd);
if (!priv->bri_info) {
- XPD_ERR(xpd, "Failed to create proc file '%s'\n", PROC_BRI_INFO_FNAME);
+ XPD_ERR(xpd, "Failed to create proc file '%s'\n",
+ PROC_BRI_INFO_FNAME);
bri_proc_remove(xbus, xpd);
return -EINVAL;
}
@@ -672,18 +680,21 @@
return 0;
}
-static xpd_t *BRI_card_new(xbus_t *xbus, int unit, int subunit, const xproto_table_t *proto_table,
- __u8 subtype, int subunits, int subunit_ports, bool to_phone)
-{
- xpd_t *xpd = NULL;
- int channels = min(3, CHANNELS_PERXPD);
+static xpd_t *BRI_card_new(xbus_t *xbus, int unit, int subunit,
+ const xproto_table_t *proto_table, __u8 subtype,
+ int subunits, int subunit_ports, bool to_phone)
+{
+ xpd_t *xpd = NULL;
+ int channels = min(3, CHANNELS_PERXPD);
if (subunit_ports != 1) {
XBUS_ERR(xbus, "Bad subunit_ports=%d\n", subunit_ports);
return NULL;
}
XBUS_DBG(GENERAL, xbus, "\n");
- xpd = xpd_alloc(xbus, unit, subunit, subtype, subunits, sizeof(struct BRI_priv_data), proto_table, channels);
+ xpd =
+ xpd_alloc(xbus, unit, subunit, subtype, subunits,
+ sizeof(struct BRI_priv_data), proto_table, channels);
if (!xpd)
return NULL;
PHONEDEV(xpd).direction = (to_phone) ? TO_PHONE : TO_PSTN;
@@ -698,7 +709,7 @@
static int BRI_card_init(xbus_t *xbus, xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
XPD_DBG(GENERAL, xpd, "\n");
@@ -744,15 +755,15 @@
static int BRI_card_dahdi_preregistration(xpd_t *xpd, bool on)
{
- xbus_t *xbus;
- struct BRI_priv_data *priv;
- int i;
+ xbus_t *xbus;
+ struct BRI_priv_data *priv;
+ int i;
BUG_ON(!xpd);
xbus = xpd->xbus;
priv = xpd->priv;
BUG_ON(!xbus);
- XPD_DBG(GENERAL, xpd, "%s\n", (on)?"on":"off");
+ XPD_DBG(GENERAL, xpd, "%s\n", (on) ? "on" : "off");
if (!on) {
/* Nothing to do yet */
return 0;
@@ -762,12 +773,12 @@
PHONEDEV(xpd).span.deflaw = DAHDI_LAW_ALAW;
BIT_SET(PHONEDEV(xpd).digital_signalling, 2); /* D-Channel */
for_each_line(xpd, i) {
- struct dahdi_chan *cur_chan = XPD_CHAN(xpd, i);
+ struct dahdi_chan *cur_chan = XPD_CHAN(xpd, i);
XPD_DBG(GENERAL, xpd, "setting BRI channel %d\n", i);
snprintf(cur_chan->name, MAX_CHANNAME, "XPP_%s/%02d/%1d%1d/%d",
- xpd->type_name, xbus->num,
- xpd->addr.unit, xpd->addr.subunit, i);
+ xpd->type_name, xbus->num, xpd->addr.unit,
+ xpd->addr.subunit, i);
cur_chan->chanpos = i + 1;
cur_chan->pvt = xpd;
if (i == 2) { /* D-CHAN */
@@ -786,13 +797,13 @@
static int BRI_card_dahdi_postregistration(xpd_t *xpd, bool on)
{
- xbus_t *xbus;
+ xbus_t *xbus;
BUG_ON(!xpd);
xbus = xpd->xbus;
BUG_ON(!xbus);
- XPD_DBG(GENERAL, xpd, "%s\n", (on)?"on":"off");
- return(0);
+ XPD_DBG(GENERAL, xpd, "%s\n", (on) ? "on" : "off");
+ return (0);
}
static int BRI_card_hooksig(xpd_t *xpd, int pos, enum dahdi_txsig txsig)
@@ -809,11 +820,11 @@
*/
static void handle_leds(xbus_t *xbus, xpd_t *xpd)
{
- struct BRI_priv_data *priv;
- unsigned int timer_count;
- int which_led;
- int other_led;
- int mod;
+ struct BRI_priv_data *priv;
+ unsigned int timer_count;
+ int which_led;
+ int other_led;
+ int mod;
BUG_ON(!xpd);
if (IS_NT(xpd)) {
@@ -844,24 +855,24 @@
if (priv->dchan_alive) {
mod = timer_count % 1000;
switch (mod) {
- case 0:
- DO_LED(xpd, which_led, BRI_LED_ON);
- break;
- case 500:
- DO_LED(xpd, which_led, BRI_LED_OFF);
- break;
+ case 0:
+ DO_LED(xpd, which_led, BRI_LED_ON);
+ break;
+ case 500:
+ DO_LED(xpd, which_led, BRI_LED_OFF);
+ break;
}
} else if (priv->layer1_up) {
mod = timer_count % 1000;
switch (mod) {
- case 0:
- case 100:
- DO_LED(xpd, which_led, BRI_LED_ON);
- break;
- case 50:
- case 150:
- DO_LED(xpd, which_led, BRI_LED_OFF);
- break;
+ case 0:
+ case 100:
+ DO_LED(xpd, which_led, BRI_LED_ON);
+ break;
+ case 50:
+ case 150:
+ DO_LED(xpd, which_led, BRI_LED_OFF);
+ break;
}
} else {
if (priv->ledstate[which_led] != BRI_LED_ON)
@@ -871,7 +882,7 @@
static void handle_bri_timers(xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -879,16 +890,20 @@
if (IS_NT(xpd)) {
if (priv->t1 > HFC_TIMER_OFF) {
if (--priv->t1 == 0) {
- set_bri_timer(xpd, "T1", &priv->t1, HFC_TIMER_OFF);
+ set_bri_timer(xpd, "T1", &priv->t1,
+ HFC_TIMER_OFF);
if (!nt_keepalive) {
if (priv->state_register.bits.v_su_sta == ST_NT_ACTIVATING) { /* G2 */
- XPD_DBG(SIGNAL, xpd, "T1 Expired. Deactivate NT\n");
- clear_bit(HFC_L1_ACTIVATING, &priv->l1_flags);
+ XPD_DBG(SIGNAL, xpd,
+ "T1 Expired. Deactivate NT\n");
+ clear_bit(HFC_L1_ACTIVATING,
+ &priv->l1_flags);
nt_activation(xpd, 0); /* Deactivate NT */
} else
XPD_DBG(SIGNAL, xpd,
"T1 Expired. (state %d, ignored)\n",
- priv->state_register.bits.v_su_sta);
+ priv->state_register.
+ bits.v_su_sta);
}
}
}
@@ -896,10 +911,12 @@
if (priv->t3 > HFC_TIMER_OFF) {
/* timer expired ? */
if (--priv->t3 == 0) {
- XPD_DBG(SIGNAL, xpd, "T3 expired. Deactivate TE\n");
- set_bri_timer(xpd, "T3", &priv->t3, HFC_TIMER_OFF);
+ XPD_DBG(SIGNAL, xpd,
+ "T3 expired. Deactivate TE\n");
+ set_bri_timer(xpd, "T3", &priv->t3,
+ HFC_TIMER_OFF);
clear_bit(HFC_L1_ACTIVATING, &priv->l1_flags);
- te_activation(xpd, 0); /* Deactivate TE */
+ te_activation(xpd, 0); /* Deactivate TE */
}
}
}
@@ -910,7 +927,7 @@
*/
static int BRI_card_tick(xbus_t *xbus, xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -920,21 +937,20 @@
if (poll_interval != 0 && (priv->tick_counter % poll_interval) == 0) {
// XPD_DBG(GENERAL, xpd, "%d\n", priv->tick_counter);
priv->poll_counter++;
- xpp_register_request(xbus, xpd,
- BRI_PORT(xpd), /* portno */
- 0, /* writing */
- A_SU_RD_STA, /* regnum */
- 0, /* do_subreg */
- 0, /* subreg */
- 0, /* data_low */
- 0, /* do_datah */
- 0, /* data_high */
- 0 /* should_reply */
- );
-
- if (IS_NT(xpd) && nt_keepalive &&
- !test_bit(HFC_L1_ACTIVATED, &priv->l1_flags) &&
- !test_bit(HFC_L1_ACTIVATING, &priv->l1_flags)) {
+ xpp_register_request(xbus, xpd, BRI_PORT(xpd), /* portno */
+ 0, /* writing */
+ A_SU_RD_STA, /* regnum */
+ 0, /* do_subreg */
+ 0, /* subreg */
+ 0, /* data_low */
+ 0, /* do_datah */
+ 0, /* data_high */
+ 0 /* should_reply */
+ );
+
+ if (IS_NT(xpd) && nt_keepalive
+ && !test_bit(HFC_L1_ACTIVATED, &priv->l1_flags)
+ && !test_bit(HFC_L1_ACTIVATING, &priv->l1_flags)) {
XPD_DBG(SIGNAL, xpd, "Kick NT D-Channel\n");
nt_activation(xpd, 1);
}
@@ -943,20 +959,23 @@
priv->dchan_notx_ticks++;
priv->dchan_norx_ticks++;
priv->dchan_alive_ticks++;
- if (priv->dchan_alive && (priv->dchan_notx_ticks > DCHAN_LOST || priv->dchan_norx_ticks > DCHAN_LOST)) {
+ if (priv->dchan_alive
+ && (priv->dchan_notx_ticks > DCHAN_LOST
+ || priv->dchan_norx_ticks > DCHAN_LOST)) {
/*
* No tx_dchan() or rx_dchan() for many ticks
* This D-Channel is probabelly dead.
*/
dchan_state(xpd, 0);
- } else if (priv->dchan_rx_counter > 1 && priv->dchan_tx_counter > 1) {
+ } else if (priv->dchan_rx_counter > 1 && priv->dchan_tx_counter > 1) {
if (!priv->dchan_alive)
dchan_state(xpd, 1);
}
/* Detect Layer1 disconnect */
if (priv->reg30_good && priv->reg30_ticks > poll_interval * REG30_LOST) {
/* No reply for 1/2 a second */
- XPD_ERR(xpd, "Lost state tracking for %d ticks\n", priv->reg30_ticks);
+ XPD_ERR(xpd, "Lost state tracking for %d ticks\n",
+ priv->reg30_ticks);
priv->reg30_good = 0;
layer1_state(xpd, 0);
}
@@ -968,22 +987,23 @@
return 0;
}
-static int BRI_card_ioctl(xpd_t *xpd, int pos, unsigned int cmd, unsigned long arg)
+static int BRI_card_ioctl(xpd_t *xpd, int pos, unsigned int cmd,
+ unsigned long arg)
{
BUG_ON(!xpd);
if (!XBUS_IS(xpd->xbus, READY))
return -ENODEV;
switch (cmd) {
- case DAHDI_TONEDETECT:
- /*
- * Asterisk call all span types with this (FXS specific)
- * call. Silently ignore it.
- */
- LINE_DBG(SIGNAL, xpd, pos, "BRI: Starting a call\n");
- return -ENOTTY;
- default:
- report_bad_ioctl(THIS_MODULE->name, xpd, pos, cmd);
- return -ENOTTY;
+ case DAHDI_TONEDETECT:
+ /*
+ * Asterisk call all span types with this (FXS specific)
+ * call. Silently ignore it.
+ */
+ LINE_DBG(SIGNAL, xpd, pos, "BRI: Starting a call\n");
+ return -ENOTTY;
+ default:
+ report_bad_ioctl(THIS_MODULE->name, xpd, pos, cmd);
+ return -ENOTTY;
}
return 0;
}
@@ -1020,11 +1040,11 @@
static int bri_spanconfig(struct file *file, struct dahdi_span *span,
struct dahdi_lineconfig *lc)
{
- struct phonedev *phonedev = container_of(span, struct phonedev, span);
- xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
- const char *framingstr = "";
- const char *codingstr = "";
- const char *crcstr = "";
+ struct phonedev *phonedev = container_of(span, struct phonedev, span);
+ xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
+ const char *framingstr = "";
+ const char *codingstr = "";
+ const char *crcstr = "";
/* framing first */
if (lc->lineconfig & DAHDI_CONFIG_B8ZS)
@@ -1043,14 +1063,10 @@
/* E1's can enable CRC checking */
if (lc->lineconfig & DAHDI_CONFIG_CRC4)
crcstr = "CRC4";
- XPD_DBG(GENERAL, xpd, "[%s]: span=%d (%s) lbo=%d lineconfig=%s/%s/%s (0x%X) sync=%d\n",
- IS_NT(xpd)?"NT":"TE",
- lc->span,
- lc->name,
- lc->lbo,
- framingstr, codingstr, crcstr,
- lc->lineconfig,
- lc->sync);
+ XPD_DBG(GENERAL, xpd,
+ "[%s]: span=%d (%s) lbo=%d lineconfig=%s/%s/%s (0x%X) sync=%d\n",
+ IS_NT(xpd) ? "NT" : "TE", lc->span, lc->name, lc->lbo,
+ framingstr, codingstr, crcstr, lc->lineconfig, lc->sync);
PHONEDEV(xpd).timing_priority = lc->sync;
elect_syncer("BRI-spanconfig");
/*
@@ -1068,7 +1084,8 @@
static int bri_chanconfig(struct file *file, struct dahdi_chan *chan,
int sigtype)
{
- DBG(GENERAL, "channel %d (%s) -> %s\n", chan->channo, chan->name, sig2str(sigtype));
+ DBG(GENERAL, "channel %d (%s) -> %s\n", chan->channo, chan->name,
+ sig2str(sigtype));
// FIXME: sanity checks:
// - should be supported (within the sigcap)
// - should not replace fxs <->fxo ??? (covered by previous?)
@@ -1080,16 +1097,17 @@
*/
static int bri_startup(struct file *file, struct dahdi_span *span)
{
- struct phonedev *phonedev = container_of(span, struct phonedev, span);
- xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
- struct BRI_priv_data *priv;
- struct dahdi_chan *dchan;
+ struct phonedev *phonedev = container_of(span, struct phonedev, span);
+ xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
+ struct BRI_priv_data *priv;
+ struct dahdi_chan *dchan;
BUG_ON(!xpd);
priv = xpd->priv;
BUG_ON(!priv);
if (!XBUS_IS(xpd->xbus, READY)) {
- XPD_DBG(GENERAL, xpd, "Startup called by dahdi. No Hardware. Ignored\n");
+ XPD_DBG(GENERAL, xpd,
+ "Startup called by dahdi. No Hardware. Ignored\n");
return -ENODEV;
}
XPD_DBG(GENERAL, xpd, "STARTUP\n");
@@ -1114,15 +1132,16 @@
*/
static int bri_shutdown(struct dahdi_span *span)
{
- struct phonedev *phonedev = container_of(span, struct phonedev, span);
- xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
- struct BRI_priv_data *priv;
+ struct phonedev *phonedev = container_of(span, struct phonedev, span);
+ xpd_t *xpd = container_of(phonedev, struct xpd, phonedev);
+ struct BRI_priv_data *priv;
BUG_ON(!xpd);
priv = xpd->priv;
BUG_ON(!priv);
if (!XBUS_IS(xpd->xbus, READY)) {
- XPD_DBG(GENERAL, xpd, "Shutdown called by dahdi. No Hardware. Ignored\n");
+ XPD_DBG(GENERAL, xpd,
+ "Shutdown called by dahdi. No Hardware. Ignored\n");
return -ENODEV;
}
XPD_DBG(GENERAL, xpd, "SHUTDOWN\n");
@@ -1131,20 +1150,20 @@
return 0;
}
-static void BRI_card_pcm_recompute(xpd_t *xpd,
- xpp_line_t dont_care)
-{
- int i;
- int line_count;
- xpp_line_t pcm_mask;
- uint pcm_len;
- xpd_t *main_xpd;
- unsigned long flags;
+static void BRI_card_pcm_recompute(xpd_t *xpd, xpp_line_t dont_care)
+{
+ int i;
+ int line_count;
+ xpp_line_t pcm_mask;
+ uint pcm_len;
+ xpd_t *main_xpd;
+ unsigned long flags;
BUG_ON(!xpd);
main_xpd = xpd_byaddr(xpd->xbus, xpd->addr.unit, 0);
if (!main_xpd) {
- XPD_DBG(DEVICES, xpd, "Unit 0 is already gone. Ignore request\n");
+ XPD_DBG(DEVICES, xpd,
+ "Unit 0 is already gone. Ignore request\n");
return;
}
/*
@@ -1155,11 +1174,13 @@
line_count = 0;
pcm_mask = 0;
for (i = 0; i < MAX_SUBUNIT; i++) {
- xpd_t *sub_xpd = xpd_byaddr(xpd->xbus, main_xpd->addr.unit, i);
+ xpd_t *sub_xpd = xpd_byaddr(xpd->xbus, main_xpd->addr.unit, i);
if (sub_xpd) {
- xpp_line_t lines =
- PHONEDEV(sub_xpd).offhook_state & ~(PHONEDEV(sub_xpd).digital_signalling);
+ xpp_line_t lines =
+ PHONEDEV(sub_xpd).
+ offhook_state & ~(PHONEDEV(sub_xpd).
+ digital_signalling);
if (lines) {
pcm_mask |= PCM_SHIFT(lines, i);
@@ -1183,27 +1204,26 @@
* The main unit account for all subunits (pcm_len and wanted_pcm_mask).
*/
pcm_len = (line_count)
- ? RPACKET_HEADERSIZE + sizeof(xpp_line_t) + line_count * DAHDI_CHUNKSIZE
- : 0L;
+ ? RPACKET_HEADERSIZE + sizeof(xpp_line_t) +
+ line_count * DAHDI_CHUNKSIZE : 0L;
update_wanted_pcm_mask(main_xpd, pcm_mask, pcm_len);
spin_unlock_irqrestore(&PHONEDEV(main_xpd).lock_recompute_pcm, flags);
}
static void BRI_card_pcm_fromspan(xpd_t *xpd, xpacket_t *pack)
{
- __u8 *pcm;
- unsigned long flags;
- int i;
- int subunit;
- xpp_line_t pcm_mask = 0;
- xpp_line_t wanted_lines;
-
+ __u8 *pcm;
+ unsigned long flags;
+ int i;
+ int subunit;
+ xpp_line_t pcm_mask = 0;
+ xpp_line_t wanted_lines;
BUG_ON(!xpd);
BUG_ON(!pack);
pcm = RPACKET_FIELD(pack, GLOBAL, PCM_WRITE, pcm);
for (subunit = 0; subunit < MAX_SUBUNIT; subunit++) {
- xpd_t *tmp_xpd;
+ xpd_t *tmp_xpd;
tmp_xpd = xpd_byaddr(xpd->xbus, xpd->addr.unit, subunit);
if (!tmp_xpd || !tmp_xpd->card_present)
@@ -1211,20 +1231,24 @@
spin_lock_irqsave(&tmp_xpd->lock, flags);
wanted_lines = PHONEDEV(tmp_xpd).wanted_pcm_mask;
for_each_line(tmp_xpd, i) {
- struct dahdi_chan *chan = XPD_CHAN(tmp_xpd, i);
+ struct dahdi_chan *chan = XPD_CHAN(tmp_xpd, i);
if (IS_SET(wanted_lines, i)) {
if (SPAN_REGISTERED(tmp_xpd)) {
#ifdef DEBUG_PCMTX
- int channo = chan->channo;
+ int channo = chan->channo;
if (pcmtx >= 0 && pcmtx_chan == channo)
- memset((u_char *)pcm, pcmtx, DAHDI_CHUNKSIZE);
+ memset((u_char *)pcm, pcmtx,
+ DAHDI_CHUNKSIZE);
else
#endif
- memcpy((u_char *)pcm, chan->writechunk, DAHDI_CHUNKSIZE);
+ memcpy((u_char *)pcm,
+ chan->writechunk,
+ DAHDI_CHUNKSIZE);
} else
- memset((u_char *)pcm, 0x7F, DAHDI_CHUNKSIZE);
+ memset((u_char *)pcm, 0x7F,
+ DAHDI_CHUNKSIZE);
pcm += DAHDI_CHUNKSIZE;
}
}
@@ -1237,11 +1261,11 @@
static void BRI_card_pcm_tospan(xpd_t *xpd, xpacket_t *pack)
{
- __u8 *pcm;
- xpp_line_t pcm_mask;
- unsigned long flags;
- int subunit;
- int i;
+ __u8 *pcm;
+ xpp_line_t pcm_mask;
+ unsigned long flags;
+ int subunit;
+ int i;
/*
* Subunit 0 handle all other subunits
@@ -1252,22 +1276,24 @@
return;
pcm = RPACKET_FIELD(pack, GLOBAL, PCM_READ, pcm);
pcm_mask = RPACKET_FIELD(pack, GLOBAL, PCM_WRITE, lines);
- for (subunit = 0; subunit < MAX_SUBUNIT; subunit++, pcm_mask >>= SUBUNIT_PCM_SHIFT) {
- xpd_t *tmp_xpd;
+ for (subunit = 0; subunit < MAX_SUBUNIT;
+ subunit++, pcm_mask >>= SUBUNIT_PCM_SHIFT) {
+ xpd_t *tmp_xpd;
if (!pcm_mask)
break; /* optimize */
tmp_xpd = xpd_byaddr(xpd->xbus, xpd->addr.unit, subunit);
- if (!tmp_xpd || !tmp_xpd->card_present || !SPAN_REGISTERED(tmp_xpd))
+ if (!tmp_xpd || !tmp_xpd->card_present
+ || !SPAN_REGISTERED(tmp_xpd))
continue;
spin_lock_irqsave(&tmp_xpd->lock, flags);
for (i = 0; i < 2; i++) {
- xpp_line_t tmp_mask = pcm_mask & (BIT(0) | BIT(1));
- volatile u_char *r;
+ xpp_line_t tmp_mask = pcm_mask & (BIT(0) | BIT(1));
+ volatile u_char *r;
if (IS_SET(tmp_mask, i)) {
r = XPD_CHAN(tmp_xpd, i)->readchunk;
- // memset((u_char *)r, 0x5A, DAHDI_CHUNKSIZE); // DEBUG
+ // memset((u_char *)r, 0x5A, DAHDI_CHUNKSIZE); // DEBUG
memcpy((u_char *)r, pcm, DAHDI_CHUNKSIZE);
pcm += DAHDI_CHUNKSIZE;
}
@@ -1279,7 +1305,7 @@
static int BRI_timing_priority(xpd_t *xpd)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
priv = xpd->priv;
BUG_ON(!priv);
@@ -1296,7 +1322,7 @@
static int BRI_echocancel_setmask(xpd_t *xpd, xpp_line_t ec_mask)
{
- struct BRI_priv_data *priv;
+ struct BRI_priv_data *priv;
int i;
BUG_ON(!xpd);
@@ -1305,11 +1331,11 @@
XPD_DBG(GENERAL, xpd, "0x%8X\n", ec_mask);
if (!ECHOOPS(xpd->xbus)) {
XPD_DBG(GENERAL, xpd,
- "No echo canceller in XBUS: Doing nothing.\n");
+ "No echo canceller in XBUS: Doing nothing.\n");
return -EINVAL;
}
for (i = 0; i < PHONEDEV(xpd).channels - 1; i++) {
- int on = BIT(i) & ec_mask;
+ int on = BIT(i) & ec_mask;
CALL_EC_METHOD(ec_set, xpd->xbus, xpd, i, on);
}
@@ -1319,19 +1345,19 @@
/*---------------- BRI: HOST COMMANDS -------------------------------------*/
-static /* 0x33 */ HOSTCMD(BRI, SET_LED, enum bri_led_names which_led, enum led_state to_led_state)
-{
- int ret = 0;
- xframe_t *xframe;
- xpacket_t *pack;
- struct bri_leds *bri_leds;
- struct BRI_priv_data *priv;
+static /* 0x33 */ HOSTCMD(BRI, SET_LED, enum bri_led_names which_led,
+ enum led_state to_led_state)
+{
+ int ret = 0;
+ xframe_t *xframe;
+ xpacket_t *pack;
+ struct bri_leds *bri_leds;
+ struct BRI_priv_data *priv;
BUG_ON(!xbus);
priv = xpd->priv;
BUG_ON(!priv);
- XPD_DBG(LEDS, xpd, "%s -> %d\n",
- (which_led)?"RED":"GREEN",
+ XPD_DBG(LEDS, xpd, "%s -> %d\n", (which_led) ? "RED" : "GREEN",
to_led_state);
XFRAME_NEW_CMD(xframe, pack, xbus, BRI, SET_LED, xpd->xbus_idx);
bri_leds = &RPACKET_FIELD(pack, BRI, SET_LED, bri_leds);
@@ -1345,28 +1371,27 @@
static int write_state_register(xpd_t *xpd, __u8 value)
{
- int ret;
+ int ret;
XPD_DBG(REGS, xpd, "value = 0x%02X\n", value);
- ret = xpp_register_request(xpd->xbus, xpd,
- BRI_PORT(xpd), /* portno */
- 1, /* writing */
- A_SU_WR_STA, /* regnum */
- 0, /* do_subreg */
- 0, /* subreg */
- value, /* data_low */
- 0, /* do_datah */
- 0, /* data_high */
- 0 /* should_reply */
- );
+ ret = xpp_register_request(xpd->xbus, xpd, BRI_PORT(xpd), /* portno */
+ 1, /* writing */
+ A_SU_WR_STA, /* regnum */
+ 0, /* do_subreg */
+ 0, /* subreg */
+ value, /* data_low */
+ 0, /* do_datah */
+ 0, /* data_high */
+ 0 /* should_reply */
+ );
return ret;
}
/*---------------- BRI: Astribank Reply Handlers --------------------------*/
static void su_new_state(xpd_t *xpd, __u8 reg_x30)
{
- struct BRI_priv_data *priv;
- su_rd_sta_t new_state;
+ struct BRI_priv_data *priv;
+ su_rd_sta_t new_state;
BUG_ON(!xpd);
priv = xpd->priv;
@@ -1382,79 +1407,78 @@
priv->reg30_ticks = 0;
priv->reg30_good = 1;
if (priv->state_register.bits.v_su_sta == new_state.bits.v_su_sta)
- return; /* same same */
+ return; /* same same */
XPD_DBG(SIGNAL, xpd, "%02X ---> %02X (info0=%d) (%s%i)\n",
- priv->state_register.reg,
- reg_x30,
- new_state.bits.v_su_info0,
- IS_NT(xpd)?"G":"F",
- new_state.bits.v_su_sta);
+ priv->state_register.reg, reg_x30, new_state.bits.v_su_info0,
+ IS_NT(xpd) ? "G" : "F", new_state.bits.v_su_sta);
if (!IS_NT(xpd)) {
switch (new_state.bits.v_su_sta) {
- case ST_TE_DEACTIVATED: /* F3 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_DEACTIVATED (F3)\n");
- clear_bit(HFC_L1_ACTIVATED, &priv->l1_flags);
- layer1_state(xpd, 0);
- break;
- case ST_TE_SIGWAIT: /* F4 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_SIGWAIT (F4)\n");
- layer1_state(xpd, 0);
- break;
- case ST_TE_IDENT: /* F5 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_IDENT (F5)\n");
- layer1_state(xpd, 0);
- break;
- case ST_TE_SYNCED: /* F6 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_SYNCED (F6)\n");
- layer1_state(xpd, 0);
- break;
- case ST_TE_ACTIVATED: /* F7 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_ACTIVATED (F7)\n");
- set_bri_timer(xpd, "T3", &priv->t3, HFC_TIMER_OFF);
- clear_bit(HFC_L1_ACTIVATING, &priv->l1_flags);
- set_bit(HFC_L1_ACTIVATED, &priv->l1_flags);
- layer1_state(xpd, 1);
- update_xpd_status(xpd, DAHDI_ALARM_NONE);
- break;
- case ST_TE_LOST_FRAMING: /* F8 */
- XPD_DBG(SIGNAL, xpd, "State ST_TE_LOST_FRAMING (F8)\n");
[... 16356 lines stripped ...]
More information about the dahdi-commits
mailing list