Commit 6dabb069 authored by Alexander Viro's avatar Alexander Viro Committed by Stephen Hemminger

[wan hdlc] switch sca_xxx() to use net_device

More hd6457x.c massage: sca_open(), sca_close(), sca_dump_rings() switched
to net_device.  Bunch of hdlc_to_port() eliminated in favor of dev_to_port().
parent 6b85b41b
......@@ -179,8 +179,7 @@ static void c101_set_iface(port_t *port)
static int c101_open(struct net_device *dev)
{
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
int result;
result = hdlc_open(dev);
......@@ -189,12 +188,12 @@ static int c101_open(struct net_device *dev)
writeb(1, port->win0base + C101_DTR);
sca_out(0, MSCI1_OFFSET + CTL, port); /* RTS uses ch#2 output */
sca_open(hdlc);
sca_open(dev);
/* DCD is connected to port 2 !@#$%^& - disable MSCI0 CDCD interrupt */
sca_out(IE1_UDRN, MSCI0_OFFSET + IE1, port);
sca_out(IE0_TXINT, MSCI0_OFFSET + IE0, port);
hdlc_set_carrier(!(sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD), hdlc);
hdlc_set_carrier(!(sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD), dev_to_hdlc(dev));
printk(KERN_DEBUG "0x%X\n", sca_in(MSCI1_OFFSET + ST3, port));
/* enable MSCI1 CDCD interrupt */
......@@ -208,10 +207,9 @@ static int c101_open(struct net_device *dev)
static int c101_close(struct net_device *dev)
{
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
sca_close(hdlc);
sca_close(dev);
writeb(0, port->win0base + C101_DTR);
sca_out(CTL_NORTS, MSCI1_OFFSET + CTL, port);
hdlc_close(dev);
......@@ -223,12 +221,11 @@ static int c101_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
const size_t size = sizeof(sync_serial_settings);
sync_serial_settings new_line, *line = ifr->ifr_settings.ifs_ifsu.sync;
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
#ifdef DEBUG_RINGS
if (cmd == SIOCDEVPRIVATE) {
sca_dump_rings(hdlc);
sca_dump_rings(dev);
printk(KERN_DEBUG "MSCI1: ST: %02x %02x %02x %02x\n",
sca_in(MSCI1_OFFSET + ST0, port),
sca_in(MSCI1_OFFSET + ST1, port),
......
......@@ -518,9 +518,9 @@ static void sca_set_port(port_t *port)
static void sca_open(hdlc_device *hdlc)
static void sca_open(struct net_device *dev)
{
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
card_t* card = port_to_card(port);
u16 msci = get_msci(port);
u8 md0, md2;
......@@ -579,7 +579,7 @@ static void sca_open(hdlc_device *hdlc)
- all DMA interrupts
*/
hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD), hdlc);
hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD), dev_to_hdlc(dev));
#ifdef __HD64570_H
/* MSCI TX INT and RX INT A IRQ enable */
......@@ -610,18 +610,18 @@ static void sca_open(hdlc_device *hdlc)
sca_out(CMD_TX_ENABLE, msci + CMD, card);
sca_out(CMD_RX_ENABLE, msci + CMD, card);
netif_start_queue(hdlc_to_dev(hdlc));
netif_start_queue(dev);
}
static void sca_close(hdlc_device *hdlc)
static void sca_close(struct net_device *dev)
{
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
card_t* card = port_to_card(port);
/* reset channel */
netif_stop_queue(hdlc_to_dev(hdlc));
netif_stop_queue(dev);
sca_out(CMD_RESET, get_msci(port) + CMD, port_to_card(port));
#ifdef __HD64570_H
/* disable MSCI interrupts */
......@@ -668,9 +668,9 @@ static int sca_attach(hdlc_device *hdlc, unsigned short encoding,
#ifdef DEBUG_RINGS
static void sca_dump_rings(hdlc_device *hdlc)
static void sca_dump_rings(struct net_device *dev)
{
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
card_t *card = port_to_card(port);
u16 cnt;
#if !defined(PAGE0_ALWAYS_MAPPED) && !defined(ALL_PAGES_ALWAYS_MAPPED)
......@@ -739,8 +739,7 @@ static void sca_dump_rings(hdlc_device *hdlc)
static int sca_xmit(struct sk_buff *skb, struct net_device *dev)
{
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
card_t *card = port_to_card(port);
pkt_desc *desc;
u32 buff, len;
......@@ -763,7 +762,7 @@ static int sca_xmit(struct sk_buff *skb, struct net_device *dev)
}
#ifdef DEBUG_PKT
printk(KERN_DEBUG "%s TX(%i):", hdlc_to_name(hdlc), skb->len);
printk(KERN_DEBUG "%s TX(%i):", dev->name, skb->len);
debug_frame(skb);
#endif
......
......@@ -215,8 +215,7 @@ static void n2_set_iface(port_t *port)
static int n2_open(struct net_device *dev)
{
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
int io = port->card->io;
u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1:TX422_PORT0);
int result;
......@@ -230,7 +229,7 @@ static int n2_open(struct net_device *dev)
outb(inb(io + N2_PCR) | PCR_ENWIN, io + N2_PCR); /* open window */
outb(inb(io + N2_PSR) | PSR_DMAEN, io + N2_PSR); /* enable dma */
sca_open(hdlc);
sca_open(dev);
n2_set_iface(port);
return 0;
}
......@@ -239,12 +238,11 @@ static int n2_open(struct net_device *dev)
static int n2_close(struct net_device *dev)
{
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
int io = port->card->io;
u8 mcr = inb(io+N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0);
sca_close(hdlc);
sca_close(dev);
mcr |= port->phy_node ? DTR_PORT1 : DTR_PORT0; /* set DTR OFF */
outb(mcr, io + N2_MCR);
hdlc_close(dev);
......@@ -257,12 +255,11 @@ static int n2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
const size_t size = sizeof(sync_serial_settings);
sync_serial_settings new_line, *line = ifr->ifr_settings.ifs_ifsu.sync;
hdlc_device *hdlc = dev_to_hdlc(dev);
port_t *port = hdlc_to_port(hdlc);
port_t *port = dev_to_port(dev);
#ifdef DEBUG_RINGS
if (cmd == SIOCDEVPRIVATE) {
sca_dump_rings(hdlc);
sca_dump_rings(dev);
return 0;
}
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment