Пример #1
0
Файл: c101.c Проект: E-LLP/n900
static int c101_open(struct net_device *dev)
{
	port_t *port = dev_to_port(dev);
	int result;

	result = hdlc_open(dev);
	if (result)
		return result;

	writeb(1, port->win0base + C101_DTR);
	sca_out(0, MSCI1_OFFSET + CTL, port); /* RTS uses ch#2 output */
	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);

	set_carrier(port);

	/* enable MSCI1 CDCD interrupt */
	sca_out(IE1_CDCD, MSCI1_OFFSET + IE1, port);
	sca_out(IE0_RXINTA, MSCI1_OFFSET + IE0, port);
	sca_out(0x48, IER0, port); /* TXINT #0 and RXINT #1 */
	c101_set_iface(port);
	return 0;
}
Пример #2
0
Файл: utils.c Проект: kulhos/pip
void
mtm_get_mtm_pid (char *key_file,
				 SLONG	*mtm_process_id,
				 SLONG	*return_code)
{
	int		fd;


	/* 
	 *	Get the MTM process ID, which is stored in the key file by MTM
	 */
	if ((fd = sca_open (key_file, O_RDONLY)) == FAILURE)
	{
		MTM_LOG(errno);
		*return_code = errno;
		return;
	}

	if (sca_read (fd, (void *) mtm_process_id, sizeof (SLONG)) == FAILURE) 
	{
		MTM_LOG(errno);
		*return_code = errno;
		return;
	}

	if (sca_close (fd) == FAILURE)
	{
		MTM_LOG(errno);
		*return_code = errno;
		return;
	}
 	
	return;
}
Пример #3
0
static int pc300_open(struct net_device *dev)
{
	port_t *port = dev_to_port(dev);

	int result = hdlc_open(dev);
	if (result)
		return result;

	sca_open(dev);
	pc300_set_iface(port);
	return 0;
}
Пример #4
0
static int n2_open(struct net_device *dev)
{
    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;

    result = hdlc_open(dev);
    if (result)
        return result;

    mcr &= port->phy_node ? ~DTR_PORT1 : ~DTR_PORT0; /* set DTR ON */
    outb(mcr, io + N2_MCR);

    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(dev);
    n2_set_iface(port);
    return 0;
}