The atmdev_ops::send_oam device operation and the atm_vcc::push_oam callback were the kernel's interface for raw F4/F5 OAM cell exchange. Nothing assigns them a non-NULL value and nothing ever invokes them: the core only ever initialises push_oam to NULL (in vcc_create() and the AAL init helpers) and the Solos driver only lists send_oam = NULL for documentation. The drivers that actually drove OAM through these hooks were removed along with the legacy ATM adapters. Drop both callbacks and the NULL initialisers.
Showing the changes to include (1 of 4 files). Show all
Unified · Split
| @@ -104,7 +104,6 @@ struct atm_vcc { · 103 unmodified lines | |||
| 104 | void (*release_cb)(struct atm_vcc *vcc); /* release_sock callback */ | 104 | void (*release_cb)(struct atm_vcc *vcc); /* release_sock callback */ |
| 105 | void (*push)(struct atm_vcc *vcc,struct sk_buff *skb); | 105 | void (*push)(struct atm_vcc *vcc,struct sk_buff *skb); |
| 106 | void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */ | 106 | void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */ |
| 107 | int (*push_oam)(struct atm_vcc *vcc,void *cell); | ||
| 108 | int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); | 107 | int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); |
| 109 | void *dev_data; /* per-device data */ | 108 | void *dev_data; /* per-device data */ |
| 110 | void *proto_data; /* per-protocol data */ | 109 | void *proto_data; /* per-protocol data */ |
| @@ -170,12 +169,6 @@ struct atm_dev { · 59 unmodified lines | |||
| 170 | struct list_head dev_list; /* linkage */ | 169 | struct list_head dev_list; /* linkage */ |
| 171 | }; | 170 | }; |
| 172 | 171 | ||
| 173 | |||
| 174 | /* OF: send_Oam Flags */ | ||
| 175 | |||
| 176 | #define ATM_OF_IMMED 1 /* Attempt immediate delivery */ | ||
| 177 | #define ATM_OF_INRATE 2 /* Attempt in-rate delivery */ | ||
| 178 | |||
| 179 | struct atmdev_ops { /* only send is required */ | 172 | struct atmdev_ops { /* only send is required */ |
| 180 | void (*dev_close)(struct atm_dev *dev); | 173 | void (*dev_close)(struct atm_dev *dev); |
| 181 | int (*open)(struct atm_vcc *vcc); | 174 | int (*open)(struct atm_vcc *vcc); |
| @@ -188,7 +181,6 @@ struct atmdev_ops { /* only send is required */ · 6 unmodified lines | |||
| 188 | int (*pre_send)(struct atm_vcc *vcc, struct sk_buff *skb); | 181 | int (*pre_send)(struct atm_vcc *vcc, struct sk_buff *skb); |
| 189 | int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); | 182 | int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); |
| 190 | int (*send_bh)(struct atm_vcc *vcc, struct sk_buff *skb); | 183 | int (*send_bh)(struct atm_vcc *vcc, struct sk_buff *skb); |
| 191 | int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags); | ||
| 192 | void (*phy_put)(struct atm_dev *dev,unsigned char value, | 184 | void (*phy_put)(struct atm_dev *dev,unsigned char value, |
| 193 | unsigned long addr); | 185 | unsigned long addr); |
| 194 | unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr); | 186 | unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr); |