From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org, 3chas3@gmail.com,
mitch@sfgoth.com, linux-atm-general@lists.sourceforge.net,
dwmw2@infradead.org, Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH net-next 2/9] atm: remove the unused send_oam / push_oam callbacks
Date: Sat, 13 Jun 2026 13:10:25 -0700 [thread overview]
Message-ID: <20260613201032.77274-3-kuba@kernel.org> (raw)
In-Reply-To: <20260613201032.77274-1-kuba@kernel.org>
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.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
include/linux/atmdev.h | 8 --------
drivers/atm/solos-pci.c | 1 -
net/atm/common.c | 1 -
net/atm/raw.c | 2 --
4 files changed, 12 deletions(-)
diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h
index 82a32526df64..71c5bf6950e3 100644
--- a/include/linux/atmdev.h
+++ b/include/linux/atmdev.h
@@ -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);
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index bcb1353877e4..4ad170a858ee 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -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,
diff --git a/net/atm/common.c b/net/atm/common.c
index 913f7e32ce41..c6e87fc9bbfc 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -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;
diff --git a/net/atm/raw.c b/net/atm/raw.c
index 0d36aeb3671b..1d6ac7b0c4e5 100644
--- a/net/atm/raw.c
+++ b/net/atm/raw.c
@@ -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
--
2.54.0
next prev parent reply other threads:[~2026-06-13 20:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-13 20:10 [PATCH net-next 0/9] atm: remove more dead code Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 1/9] atm: remove AAL3/4 transport support Jakub Kicinski
2026-06-13 20:10 ` Jakub Kicinski [this message]
2026-06-13 20:10 ` [PATCH net-next 3/9] atm: remove dead SONET PHY ioctls Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 4/9] atm: remove the local ATM (NSAP) address registry Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 5/9] atm: remove SVC socket support and the signaling daemon interface Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 6/9] atm: remove the unused change_qos device operation Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 7/9] atm: remove the unused pre_send and send_bh device operations Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 8/9] atm: remove unused ATM PHY operations Jakub Kicinski
2026-06-13 20:10 ` [PATCH net-next 9/9] atm: remove orphaned uAPI for deleted drivers, protocols and SVCs Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260613201032.77274-3-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=3chas3@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=linux-atm-general@lists.sourceforge.net \
--cc=mitch@sfgoth.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox