OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [net/] [irda/] [irport.h] - Diff between revs 1275 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1275 Rev 1765
/*********************************************************************
/*********************************************************************
 *
 *
 * Filename:      irport.h
 * Filename:      irport.h
 * Version:       0.1
 * Version:       0.1
 * Description:   Serial driver for IrDA
 * Description:   Serial driver for IrDA
 * Status:        Experimental.
 * Status:        Experimental.
 * Author:        Dag Brattli <dagb@cs.uit.no>
 * Author:        Dag Brattli <dagb@cs.uit.no>
 * Created at:    Sun Aug  3 13:49:59 1997
 * Created at:    Sun Aug  3 13:49:59 1997
 * Modified at:   Fri Jan 14 10:21:10 2000
 * Modified at:   Fri Jan 14 10:21:10 2000
 * Modified by:   Dag Brattli <dagb@cs.uit.no>
 * Modified by:   Dag Brattli <dagb@cs.uit.no>
 *
 *
 *     Copyright (c) 1997, 1998-2000 Dag Brattli <dagb@cs.uit.no>
 *     Copyright (c) 1997, 1998-2000 Dag Brattli <dagb@cs.uit.no>
 *     All Rights Reserved.
 *     All Rights Reserved.
 *
 *
 *     This program is free software; you can redistribute it and/or
 *     This program is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of
 *     published by the Free Software Foundation; either version 2 of
 *     the License, or (at your option) any later version.
 *     the License, or (at your option) any later version.
 *
 *
 *     Neither Dag Brattli nor University of Tromsų admit liability nor
 *     Neither Dag Brattli nor University of Tromsų admit liability nor
 *     provide warranty for any of this software. This material is
 *     provide warranty for any of this software. This material is
 *     provided "AS-IS" and at no charge.
 *     provided "AS-IS" and at no charge.
 *
 *
 ********************************************************************/
 ********************************************************************/
 
 
#ifndef IRPORT_H
#ifndef IRPORT_H
#define IRPORT_H
#define IRPORT_H
 
 
#include <linux/netdevice.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/skbuff.h>
#include <linux/types.h>
#include <linux/types.h>
#include <linux/spinlock.h>
#include <linux/spinlock.h>
 
 
#include <net/irda/irda_device.h>
#include <net/irda/irda_device.h>
 
 
#define SPEED_DEFAULT 9600
#define SPEED_DEFAULT 9600
#define SPEED_MAX     115200
#define SPEED_MAX     115200
 
 
/*
/*
 * These are the supported serial types.
 * These are the supported serial types.
 */
 */
#define PORT_UNKNOWN    0
#define PORT_UNKNOWN    0
#define PORT_8250       1
#define PORT_8250       1
#define PORT_16450      2
#define PORT_16450      2
#define PORT_16550      3
#define PORT_16550      3
#define PORT_16550A     4
#define PORT_16550A     4
#define PORT_CIRRUS     5
#define PORT_CIRRUS     5
#define PORT_16650      6
#define PORT_16650      6
#define PORT_MAX        6  
#define PORT_MAX        6  
 
 
#define FRAME_MAX_SIZE 2048
#define FRAME_MAX_SIZE 2048
 
 
struct irport_cb {
struct irport_cb {
        struct net_device *netdev; /* Yes! we are some kind of netdevice */
        struct net_device *netdev; /* Yes! we are some kind of netdevice */
        struct net_device_stats stats;
        struct net_device_stats stats;
 
 
        struct irlap_cb *irlap;    /* The link layer we are attached to */
        struct irlap_cb *irlap;    /* The link layer we are attached to */
 
 
        chipio_t io;               /* IrDA controller information */
        chipio_t io;               /* IrDA controller information */
        iobuff_t tx_buff;          /* Transmit buffer */
        iobuff_t tx_buff;          /* Transmit buffer */
        iobuff_t rx_buff;          /* Receive buffer */
        iobuff_t rx_buff;          /* Receive buffer */
 
 
        struct qos_info qos;       /* QoS capabilities for this device */
        struct qos_info qos;       /* QoS capabilities for this device */
        dongle_t *dongle;          /* Dongle driver */
        dongle_t *dongle;          /* Dongle driver */
 
 
        __u32 flags;               /* Interface flags */
        __u32 flags;               /* Interface flags */
        __u32 new_speed;
        __u32 new_speed;
        int mode;
        int mode;
        int index;                 /* Instance index */
        int index;                 /* Instance index */
 
 
        spinlock_t lock;           /* For serializing operations */
        spinlock_t lock;           /* For serializing operations */
 
 
        /* For piggyback drivers */
        /* For piggyback drivers */
        void *priv;
        void *priv;
        void (*change_speed)(void *priv, __u32 speed);
        void (*change_speed)(void *priv, __u32 speed);
        void (*interrupt)(int irq, void *dev_id, struct pt_regs *regs);
        void (*interrupt)(int irq, void *dev_id, struct pt_regs *regs);
};
};
 
 
struct irport_cb *irport_open(int i, unsigned int iobase, unsigned int irq);
struct irport_cb *irport_open(int i, unsigned int iobase, unsigned int irq);
int  irport_close(struct irport_cb *self);
int  irport_close(struct irport_cb *self);
void irport_start(struct irport_cb *self);
void irport_start(struct irport_cb *self);
void irport_stop(struct irport_cb *self);
void irport_stop(struct irport_cb *self);
void irport_change_speed(void *priv, __u32 speed);
void irport_change_speed(void *priv, __u32 speed);
void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs);
void irport_interrupt(int irq, void *dev_id, struct pt_regs *regs);
int  irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
int  irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
int  irport_net_open(struct net_device *dev);
int  irport_net_open(struct net_device *dev);
int  irport_net_close(struct net_device *dev);
int  irport_net_close(struct net_device *dev);
 
 
#endif /* IRPORT_H */
#endif /* IRPORT_H */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.