mirror of
https://github.com/adulau/aha.git
synced 2024-12-30 12:46:17 +00:00
[PATCH] generic HDLC synclink config mismatch fix
Fix compile errors on mismatch between generic HDLC and synclink drivers. Notes: generic HDLC support for synclink drivers is *optional* so you can't just use depend on in Kconfig This solution is deemed the best after 7 months of review and criticism by many developers including AKPM. Read the threads on LKML before posting about this solution. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3ee6f61ca0
commit
af69c7f924
4 changed files with 56 additions and 48 deletions
|
@ -75,8 +75,10 @@
|
||||||
#include <pcmcia/cisreg.h>
|
#include <pcmcia/cisreg.h>
|
||||||
#include <pcmcia/ds.h>
|
#include <pcmcia/ds.h>
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC_MODULE
|
#if defined(CONFIG_HDLC) || (defined(CONFIG_HDLC_MODULE) && defined(CONFIG_SYNCLINK_CS_MODULE))
|
||||||
#define CONFIG_HDLC 1
|
#define SYNCLINK_GENERIC_HDLC 1
|
||||||
|
#else
|
||||||
|
#define SYNCLINK_GENERIC_HDLC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
||||||
|
@ -235,7 +237,7 @@ typedef struct _mgslpc_info {
|
||||||
int dosyncppp;
|
int dosyncppp;
|
||||||
spinlock_t netlock;
|
spinlock_t netlock;
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -392,7 +394,7 @@ static void tx_timeout(unsigned long context);
|
||||||
|
|
||||||
static int ioctl_common(MGSLPC_INFO *info, unsigned int cmd, unsigned long arg);
|
static int ioctl_common(MGSLPC_INFO *info, unsigned int cmd, unsigned long arg);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
||||||
static void hdlcdev_tx_done(MGSLPC_INFO *info);
|
static void hdlcdev_tx_done(MGSLPC_INFO *info);
|
||||||
static void hdlcdev_rx(MGSLPC_INFO *info, char *buf, int size);
|
static void hdlcdev_rx(MGSLPC_INFO *info, char *buf, int size);
|
||||||
|
@ -1053,7 +1055,7 @@ static void tx_done(MGSLPC_INFO *info)
|
||||||
info->drop_rts_on_tx_done = 0;
|
info->drop_rts_on_tx_done = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -1164,7 +1166,7 @@ static void dcd_change(MGSLPC_INFO *info)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
info->input_signal_events.dcd_down++;
|
info->input_signal_events.dcd_down++;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount) {
|
if (info->netcount) {
|
||||||
if (info->serial_signals & SerialSignal_DCD)
|
if (info->serial_signals & SerialSignal_DCD)
|
||||||
netif_carrier_on(info->netdev);
|
netif_carrier_on(info->netdev);
|
||||||
|
@ -2953,7 +2955,7 @@ static void mgslpc_add_device(MGSLPC_INFO *info)
|
||||||
printk( "SyncLink PC Card %s:IO=%04X IRQ=%d\n",
|
printk( "SyncLink PC Card %s:IO=%04X IRQ=%d\n",
|
||||||
info->device_name, info->io_base, info->irq_level);
|
info->device_name, info->io_base, info->irq_level);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_init(info);
|
hdlcdev_init(info);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -2969,7 +2971,7 @@ static void mgslpc_remove_device(MGSLPC_INFO *remove_info)
|
||||||
last->next_device = info->next_device;
|
last->next_device = info->next_device;
|
||||||
else
|
else
|
||||||
mgslpc_device_list = info->next_device;
|
mgslpc_device_list = info->next_device;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_exit(info);
|
hdlcdev_exit(info);
|
||||||
#endif
|
#endif
|
||||||
release_resources(info);
|
release_resources(info);
|
||||||
|
@ -3901,7 +3903,7 @@ static int rx_get_frame(MGSLPC_INFO *info)
|
||||||
return_frame = 1;
|
return_frame = 1;
|
||||||
}
|
}
|
||||||
framesize = 0;
|
framesize = 0;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
{
|
{
|
||||||
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
||||||
stats->rx_errors++;
|
stats->rx_errors++;
|
||||||
|
@ -3935,7 +3937,7 @@ static int rx_get_frame(MGSLPC_INFO *info)
|
||||||
++framesize;
|
++framesize;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_rx(info, buf->data, framesize);
|
hdlcdev_rx(info, buf->data, framesize);
|
||||||
else
|
else
|
||||||
|
@ -4091,7 +4093,7 @@ static void tx_timeout(unsigned long context)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&info->lock,flags);
|
spin_unlock_irqrestore(&info->lock,flags);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -4099,7 +4101,7 @@ static void tx_timeout(unsigned long context)
|
||||||
bh_transmit(info);
|
bh_transmit(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
||||||
|
|
|
@ -101,8 +101,10 @@
|
||||||
#include <linux/hdlc.h>
|
#include <linux/hdlc.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC_MODULE
|
#if defined(CONFIG_HDLC) || (defined(CONFIG_HDLC_MODULE) && defined(CONFIG_SYNCLINK_MODULE))
|
||||||
#define CONFIG_HDLC 1
|
#define SYNCLINK_GENERIC_HDLC 1
|
||||||
|
#else
|
||||||
|
#define SYNCLINK_GENERIC_HDLC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
||||||
|
@ -320,7 +322,7 @@ struct mgsl_struct {
|
||||||
int dosyncppp;
|
int dosyncppp;
|
||||||
spinlock_t netlock;
|
spinlock_t netlock;
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -728,7 +730,7 @@ static void usc_loopmode_send_done( struct mgsl_struct * info );
|
||||||
|
|
||||||
static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigned long arg);
|
static int mgsl_ioctl_common(struct mgsl_struct *info, unsigned int cmd, unsigned long arg);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
||||||
static void hdlcdev_tx_done(struct mgsl_struct *info);
|
static void hdlcdev_tx_done(struct mgsl_struct *info);
|
||||||
static void hdlcdev_rx(struct mgsl_struct *info, char *buf, int size);
|
static void hdlcdev_rx(struct mgsl_struct *info, char *buf, int size);
|
||||||
|
@ -1277,7 +1279,7 @@ static void mgsl_isr_transmit_status( struct mgsl_struct *info )
|
||||||
info->drop_rts_on_tx_done = 0;
|
info->drop_rts_on_tx_done = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -1342,7 +1344,7 @@ static void mgsl_isr_io_pin( struct mgsl_struct *info )
|
||||||
info->input_signal_events.dcd_up++;
|
info->input_signal_events.dcd_up++;
|
||||||
} else
|
} else
|
||||||
info->input_signal_events.dcd_down++;
|
info->input_signal_events.dcd_down++;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount) {
|
if (info->netcount) {
|
||||||
if (status & MISCSTATUS_DCD)
|
if (status & MISCSTATUS_DCD)
|
||||||
netif_carrier_on(info->netdev);
|
netif_carrier_on(info->netdev);
|
||||||
|
@ -4313,7 +4315,7 @@ static void mgsl_add_device( struct mgsl_struct *info )
|
||||||
info->max_frame_size );
|
info->max_frame_size );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_init(info);
|
hdlcdev_init(info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -4471,7 +4473,7 @@ static void synclink_cleanup(void)
|
||||||
|
|
||||||
info = mgsl_device_list;
|
info = mgsl_device_list;
|
||||||
while(info) {
|
while(info) {
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_exit(info);
|
hdlcdev_exit(info);
|
||||||
#endif
|
#endif
|
||||||
mgsl_release_resources(info);
|
mgsl_release_resources(info);
|
||||||
|
@ -6645,7 +6647,7 @@ static int mgsl_get_rx_frame(struct mgsl_struct *info)
|
||||||
return_frame = 1;
|
return_frame = 1;
|
||||||
}
|
}
|
||||||
framesize = 0;
|
framesize = 0;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
{
|
{
|
||||||
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
||||||
stats->rx_errors++;
|
stats->rx_errors++;
|
||||||
|
@ -6721,7 +6723,7 @@ static int mgsl_get_rx_frame(struct mgsl_struct *info)
|
||||||
*ptmp);
|
*ptmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_rx(info,info->intermediate_rxbuffer,framesize);
|
hdlcdev_rx(info,info->intermediate_rxbuffer,framesize);
|
||||||
else
|
else
|
||||||
|
@ -7625,7 +7627,7 @@ static void mgsl_tx_timeout(unsigned long context)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&info->irq_spinlock,flags);
|
spin_unlock_irqrestore(&info->irq_spinlock,flags);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -7701,7 +7703,7 @@ static int usc_loopmode_active( struct mgsl_struct * info)
|
||||||
return usc_InReg( info, CCSR ) & BIT7 ? 1 : 0 ;
|
return usc_InReg( info, CCSR ) & BIT7 ? 1 : 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
||||||
|
|
|
@ -83,8 +83,10 @@
|
||||||
|
|
||||||
#include "linux/synclink.h"
|
#include "linux/synclink.h"
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC_MODULE
|
#if defined(CONFIG_HDLC) || (defined(CONFIG_HDLC_MODULE) && defined(CONFIG_SYNCLINK_GT_MODULE))
|
||||||
#define CONFIG_HDLC 1
|
#define SYNCLINK_GENERIC_HDLC 1
|
||||||
|
#else
|
||||||
|
#define SYNCLINK_GENERIC_HDLC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -171,7 +173,7 @@ static void set_break(struct tty_struct *tty, int break_state);
|
||||||
/*
|
/*
|
||||||
* generic HDLC support and callbacks
|
* generic HDLC support and callbacks
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
||||||
static void hdlcdev_tx_done(struct slgt_info *info);
|
static void hdlcdev_tx_done(struct slgt_info *info);
|
||||||
static void hdlcdev_rx(struct slgt_info *info, char *buf, int size);
|
static void hdlcdev_rx(struct slgt_info *info, char *buf, int size);
|
||||||
|
@ -359,7 +361,7 @@ struct slgt_info {
|
||||||
int netcount;
|
int netcount;
|
||||||
int dosyncppp;
|
int dosyncppp;
|
||||||
spinlock_t netlock;
|
spinlock_t netlock;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1354,7 +1356,7 @@ static void set_break(struct tty_struct *tty, int break_state)
|
||||||
spin_unlock_irqrestore(&info->lock,flags);
|
spin_unlock_irqrestore(&info->lock,flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
||||||
|
@ -2002,7 +2004,7 @@ static void dcd_change(struct slgt_info *info)
|
||||||
} else {
|
} else {
|
||||||
info->input_signal_events.dcd_down++;
|
info->input_signal_events.dcd_down++;
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount) {
|
if (info->netcount) {
|
||||||
if (info->signals & SerialSignal_DCD)
|
if (info->signals & SerialSignal_DCD)
|
||||||
netif_carrier_on(info->netdev);
|
netif_carrier_on(info->netdev);
|
||||||
|
@ -2180,7 +2182,7 @@ static void isr_txeom(struct slgt_info *info, unsigned short status)
|
||||||
set_signals(info);
|
set_signals(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -3306,7 +3308,7 @@ static void add_device(struct slgt_info *info)
|
||||||
devstr, info->device_name, info->phys_reg_addr,
|
devstr, info->device_name, info->phys_reg_addr,
|
||||||
info->irq_level, info->max_frame_size);
|
info->irq_level, info->max_frame_size);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_init(info);
|
hdlcdev_init(info);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -3488,7 +3490,7 @@ static void slgt_cleanup(void)
|
||||||
/* release devices */
|
/* release devices */
|
||||||
info = slgt_device_list;
|
info = slgt_device_list;
|
||||||
while(info) {
|
while(info) {
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_exit(info);
|
hdlcdev_exit(info);
|
||||||
#endif
|
#endif
|
||||||
free_dma_bufs(info);
|
free_dma_bufs(info);
|
||||||
|
@ -4434,7 +4436,7 @@ check_again:
|
||||||
framesize = 0;
|
framesize = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (framesize == 0) {
|
if (framesize == 0) {
|
||||||
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
||||||
stats->rx_errors++;
|
stats->rx_errors++;
|
||||||
|
@ -4477,7 +4479,7 @@ check_again:
|
||||||
framesize++;
|
framesize++;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_rx(info,info->tmp_rbuf, framesize);
|
hdlcdev_rx(info,info->tmp_rbuf, framesize);
|
||||||
else
|
else
|
||||||
|
@ -4780,7 +4782,7 @@ static void tx_timeout(unsigned long context)
|
||||||
info->tx_count = 0;
|
info->tx_count = 0;
|
||||||
spin_unlock_irqrestore(&info->lock,flags);
|
spin_unlock_irqrestore(&info->lock,flags);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
|
|
@ -67,8 +67,10 @@
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/hdlc.h>
|
#include <linux/hdlc.h>
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC_MODULE
|
#if defined(CONFIG_HDLC) || (defined(CONFIG_HDLC_MODULE) && defined(CONFIG_SYNCLINKMP_MODULE))
|
||||||
#define CONFIG_HDLC 1
|
#define SYNCLINK_GENERIC_HDLC 1
|
||||||
|
#else
|
||||||
|
#define SYNCLINK_GENERIC_HDLC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
#define GET_USER(error,value,addr) error = get_user(value,addr)
|
||||||
|
@ -280,7 +282,7 @@ typedef struct _synclinkmp_info {
|
||||||
int dosyncppp;
|
int dosyncppp;
|
||||||
spinlock_t netlock;
|
spinlock_t netlock;
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
struct net_device *netdev;
|
struct net_device *netdev;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -536,7 +538,7 @@ static void throttle(struct tty_struct * tty);
|
||||||
static void unthrottle(struct tty_struct * tty);
|
static void unthrottle(struct tty_struct * tty);
|
||||||
static void set_break(struct tty_struct *tty, int break_state);
|
static void set_break(struct tty_struct *tty, int break_state);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
#define dev_to_port(D) (dev_to_hdlc(D)->priv)
|
||||||
static void hdlcdev_tx_done(SLMP_INFO *info);
|
static void hdlcdev_tx_done(SLMP_INFO *info);
|
||||||
static void hdlcdev_rx(SLMP_INFO *info, char *buf, int size);
|
static void hdlcdev_rx(SLMP_INFO *info, char *buf, int size);
|
||||||
|
@ -1607,7 +1609,7 @@ static void set_break(struct tty_struct *tty, int break_state)
|
||||||
spin_unlock_irqrestore(&info->lock,flags);
|
spin_unlock_irqrestore(&info->lock,flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
* called by generic HDLC layer when protocol selected (PPP, frame relay, etc.)
|
||||||
|
@ -2339,7 +2341,7 @@ static void isr_txeom(SLMP_INFO * info, unsigned char status)
|
||||||
set_signals(info);
|
set_signals(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
@ -2523,7 +2525,7 @@ void isr_io_pin( SLMP_INFO *info, u16 status )
|
||||||
info->input_signal_events.dcd_up++;
|
info->input_signal_events.dcd_up++;
|
||||||
} else
|
} else
|
||||||
info->input_signal_events.dcd_down++;
|
info->input_signal_events.dcd_down++;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount) {
|
if (info->netcount) {
|
||||||
if (status & SerialSignal_DCD)
|
if (status & SerialSignal_DCD)
|
||||||
netif_carrier_on(info->netdev);
|
netif_carrier_on(info->netdev);
|
||||||
|
@ -3783,7 +3785,7 @@ void add_device(SLMP_INFO *info)
|
||||||
info->irq_level,
|
info->irq_level,
|
||||||
info->max_frame_size );
|
info->max_frame_size );
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_init(info);
|
hdlcdev_init(info);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -3977,7 +3979,7 @@ static void synclinkmp_cleanup(void)
|
||||||
/* release devices */
|
/* release devices */
|
||||||
info = synclinkmp_device_list;
|
info = synclinkmp_device_list;
|
||||||
while(info) {
|
while(info) {
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
hdlcdev_exit(info);
|
hdlcdev_exit(info);
|
||||||
#endif
|
#endif
|
||||||
free_dma_bufs(info);
|
free_dma_bufs(info);
|
||||||
|
@ -4979,7 +4981,7 @@ CheckAgain:
|
||||||
info->icount.rxcrc++;
|
info->icount.rxcrc++;
|
||||||
|
|
||||||
framesize = 0;
|
framesize = 0;
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
{
|
{
|
||||||
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
struct net_device_stats *stats = hdlc_stats(info->netdev);
|
||||||
stats->rx_errors++;
|
stats->rx_errors++;
|
||||||
|
@ -5020,7 +5022,7 @@ CheckAgain:
|
||||||
index = 0;
|
index = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_rx(info,info->tmp_rx_buf,framesize);
|
hdlcdev_rx(info,info->tmp_rx_buf,framesize);
|
||||||
else
|
else
|
||||||
|
@ -5531,7 +5533,7 @@ void tx_timeout(unsigned long context)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&info->lock,flags);
|
spin_unlock_irqrestore(&info->lock,flags);
|
||||||
|
|
||||||
#ifdef CONFIG_HDLC
|
#if SYNCLINK_GENERIC_HDLC
|
||||||
if (info->netcount)
|
if (info->netcount)
|
||||||
hdlcdev_tx_done(info);
|
hdlcdev_tx_done(info);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue