summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-08-19 18:37:05 -0700
committerPatrick Mochel <mochel@osdl.org>2003-08-19 18:37:05 -0700
commit85dab9cdeaaa1b2f8877b87985f94ecf8e1fbf2c (patch)
tree88ba982a825494d9acf3ac8453d2202f129e5a35 /include/linux
parent4d0f53f86ba6be4601dcb1cb36f5a10144099a9e (diff)
parent633604277ee5552df59a5e61b836717ed0d52e23 (diff)
Merge osdl.org:/home/mochel/src/kernel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/linux-2.5-power
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/atmdev.h22
-rw-r--r--include/linux/netdevice.h3
2 files changed, 10 insertions, 15 deletions
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
index 0fcfe8f1abae..0bf8106530b9 100644
--- a/include/linux/atmdev.h
+++ b/include/linux/atmdev.h
@@ -335,15 +335,16 @@ struct atm_dev {
struct list_head dev_list; /* linkage */
};
+
+/* OF: send_Oam Flags */
-/*
- * ioctl, getsockopt, setsockopt, and sg_send are optional and can be set to
- * NULL. */
+#define ATM_OF_IMMED 1 /* Attempt immediate delivery */
+#define ATM_OF_INRATE 2 /* Attempt in-rate delivery */
-/* OF: send_Oam Flags */
-#define ATM_OF_IMMED 1 /* Attempt immediate delivery */
-#define ATM_OF_INRATE 2 /* Attempt in-rate delivery */
+/*
+ * ioctl, getsockopt, and setsockopt are optional and can be set to NULL.
+ */
struct atmdev_ops { /* only send is required */
void (*dev_close)(struct atm_dev *dev);
@@ -355,24 +356,15 @@ struct atmdev_ops { /* only send is required */
int (*setsockopt)(struct atm_vcc *vcc,int level,int optname,
void *optval,int optlen);
int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
- int (*sg_send)(struct atm_vcc *vcc,unsigned long start,
- unsigned long size);
-#if 0 /* keep the current hack for now */
- int (*send_iovec)(struct atm_vcc *vcc,struct iovec *iov,int size,
- void (*discard)(struct atm_vcc *vcc,void *user),void *user);
-#endif
int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags);
void (*phy_put)(struct atm_dev *dev,unsigned char value,
unsigned long addr);
unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr);
- void (*feedback)(struct atm_vcc *vcc,struct sk_buff *skb,
- unsigned long start,unsigned long dest,int len);
int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);
int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);
struct module *owner;
};
-
struct atmphy_ops {
int (*start)(struct atm_dev *dev);
int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg);
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 7b39dbf331d3..cfa7e4087684 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -51,6 +51,7 @@ struct ethtool_ops;
#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev
functions are available. */
+#define HAVE_FREE_NETDEV
#define NET_XMIT_SUCCESS 0
#define NET_XMIT_DROP 1 /* skb dropped */
@@ -384,6 +385,7 @@ struct net_device
NETREG_REGISTERED, /* completed register todo */
NETREG_UNREGISTERING, /* called unregister_netdevice */
NETREG_UNREGISTERED, /* completed unregister todo */
+ NETREG_RELEASED, /* called free_netdev */
} reg_state;
/* Net device features */
@@ -516,6 +518,7 @@ extern int dev_close(struct net_device *dev);
extern int dev_queue_xmit(struct sk_buff *skb);
extern int register_netdevice(struct net_device *dev);
extern int unregister_netdevice(struct net_device *dev);
+extern void free_netdev(struct net_device *dev);
extern void synchronize_net(void);
extern int register_netdevice_notifier(struct notifier_block *nb);
extern int unregister_netdevice_notifier(struct notifier_block *nb);