]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
atm: remove unused ATM PHY operations
authorJakub Kicinski <kuba@kernel.org>
Mon, 15 Jun 2026 19:44:15 +0000 (12:44 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 16 Jun 2026 15:53:53 +0000 (08:53 -0700)
The PHY operations are vestiges of the SAR/framer split used by the
removed PCI/SBUS ATM adapters:

 - atmdev_ops::phy_put / ::phy_get (register accessors) are never called
   by the core and solos-pci only listed them as NULL
 - struct atmphy_ops and atm_dev::phy have no users at all - nothing
   assigns or dereferences them

Remove all of them. atm_dev::phy_data is kept: solos-pci repurposes it
to stash its per-port channel index.

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

index 9c246b956c308811b3cbddee8a9c2ed78a6b684a..fc0e91a1029e68d3c5187c84df8da57a2f2bab7e 100644 (file)
@@ -1180,8 +1180,6 @@ static const struct atmdev_ops fpga_ops = {
        .close =        pclose,
        .ioctl =        NULL,
        .send =         psend,
-       .phy_put =      NULL,
-       .phy_get =      NULL,
        .proc_read =    NULL,
        .owner =        THIS_MODULE
 };
index 96ce36e022474b912eaf5853b79647a47edb0b1a..fe21d2f547b5c26179b42c72fc5f16ce5ac18b7a 100644 (file)
@@ -107,8 +107,6 @@ static inline struct sock *sk_atm(struct atm_vcc *vcc)
 
 struct atm_dev {
        const struct atmdev_ops *ops;   /* device operations; NULL if unused */
-       const struct atmphy_ops *phy;   /* PHY operations, may be undefined */
-                                       /* (NULL) */
        const char      *type;          /* device type name */
        int             number;         /* device index */
        void            *dev_data;      /* per-device data */
@@ -138,20 +136,10 @@ struct atmdev_ops { /* only send is required */
                            void __user *arg);
 #endif
        int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
-       void (*phy_put)(struct atm_dev *dev,unsigned char value,
-           unsigned long addr);
-       unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr);
        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 __user *arg);
-       void (*interrupt)(struct atm_dev *dev);
-       int (*stop)(struct atm_dev *dev);
-};
-
 struct atm_skb_data {
        struct atm_vcc  *vcc;           /* ATM VCC */
        unsigned long   atm_options;    /* ATM layer options */