]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
atm: remove the unused send_oam / push_oam callbacks
authorJakub Kicinski <kuba@kernel.org>
Mon, 15 Jun 2026 19:44:09 +0000 (12:44 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 16 Jun 2026 15:53:52 +0000 (08:53 -0700)
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.

Link: https://patch.msgid.link/20260615194416.752559-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/atm/solos-pci.c
include/linux/atmdev.h
net/atm/common.c
net/atm/raw.c

index bcb1353877e4d34f276540817b2c8ce579b208d4..4ad170a858ee7ed3d5635bd0a829fb79eabd6382 100644 (file)
@@ -1180,7 +1180,6 @@ static const struct atmdev_ops fpga_ops = {
        .close =        pclose,
        .ioctl =        NULL,
        .send =         psend,
-       .send_oam =     NULL,
        .phy_put =      NULL,
        .phy_get =      NULL,
        .change_qos =   NULL,
index 82a32526df645ef3302f51f41f1adcc026bc7168..71c5bf6950e3d5ae07217ed16875dfbfadcccaed 100644 (file)
@@ -104,7 +104,6 @@ struct atm_vcc {
        void (*release_cb)(struct atm_vcc *vcc); /* release_sock callback */
        void (*push)(struct atm_vcc *vcc,struct sk_buff *skb);
        void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */
-       int (*push_oam)(struct atm_vcc *vcc,void *cell);
        int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
        void            *dev_data;      /* per-device data */
        void            *proto_data;    /* per-protocol data */
@@ -170,12 +169,6 @@ struct atm_dev {
        struct list_head dev_list;      /* linkage */
 };
 
-/* OF: send_Oam Flags */
-
-#define ATM_OF_IMMED  1                /* Attempt immediate delivery */
-#define ATM_OF_INRATE 2                /* Attempt in-rate delivery */
-
 struct atmdev_ops { /* only send is required */
        void (*dev_close)(struct atm_dev *dev);
        int (*open)(struct atm_vcc *vcc);
@@ -188,7 +181,6 @@ struct atmdev_ops { /* only send is required */
        int (*pre_send)(struct atm_vcc *vcc, struct sk_buff *skb);
        int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
        int (*send_bh)(struct atm_vcc *vcc, struct sk_buff *skb);
-       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);
index 913f7e32ce41eeaea8a8aaef0f33844f720f0b77..c6e87fc9bbfc2ecc10287eafd2b1271a4fd4f5b8 100644 (file)
@@ -163,7 +163,6 @@ int vcc_create(struct net *net, struct socket *sock, int protocol, int family, i
        vcc->push = NULL;
        vcc->pop = NULL;
        vcc->owner = NULL;
-       vcc->push_oam = NULL;
        vcc->release_cb = NULL;
        vcc->vpi = vcc->vci = 0; /* no VCI/VPI yet */
        vcc->atm_options = vcc->aal_options = 0;
index 0d36aeb3671b649ca28ae3cd79a4dcf29d94490b..1d6ac7b0c4e5a9d8640cdb1779fafb716f1c6685 100644 (file)
@@ -63,7 +63,6 @@ int atm_init_aal0(struct atm_vcc *vcc)
 {
        vcc->push = atm_push_raw;
        vcc->pop = atm_pop_raw;
-       vcc->push_oam = NULL;
        vcc->send = atm_send_aal0;
        return 0;
 }
@@ -72,7 +71,6 @@ int atm_init_aal5(struct atm_vcc *vcc)
 {
        vcc->push = atm_push_raw;
        vcc->pop = atm_pop_raw;
-       vcc->push_oam = NULL;
        if (vcc->dev->ops->send_bh)
                vcc->send = vcc->dev->ops->send_bh;
        else