Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/atm: remove the atmdev_ops {get, set}sockopt methods

All implementations of these two methods are dummies that always
return -EINVAL.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Christoph Hellwig and committed by
David S. Miller
a06d30ae 089377b7

+2 -143
-17
drivers/atm/eni.c
··· 2027 2027 return dev->phy->ioctl(dev,cmd,arg); 2028 2028 } 2029 2029 2030 - 2031 - static int eni_getsockopt(struct atm_vcc *vcc,int level,int optname, 2032 - void __user *optval,int optlen) 2033 - { 2034 - return -EINVAL; 2035 - } 2036 - 2037 - 2038 - static int eni_setsockopt(struct atm_vcc *vcc,int level,int optname, 2039 - void __user *optval,unsigned int optlen) 2040 - { 2041 - return -EINVAL; 2042 - } 2043 - 2044 - 2045 2030 static int eni_send(struct atm_vcc *vcc,struct sk_buff *skb) 2046 2031 { 2047 2032 enum enq_res res; ··· 2200 2215 .open = eni_open, 2201 2216 .close = eni_close, 2202 2217 .ioctl = eni_ioctl, 2203 - .getsockopt = eni_getsockopt, 2204 - .setsockopt = eni_setsockopt, 2205 2218 .send = eni_send, 2206 2219 .phy_put = eni_phy_put, 2207 2220 .phy_get = eni_phy_get,
-2
drivers/atm/firestream.c
··· 1277 1277 .send = fs_send, 1278 1278 .owner = THIS_MODULE, 1279 1279 /* ioctl: fs_ioctl, */ 1280 - /* getsockopt: fs_getsockopt, */ 1281 - /* setsockopt: fs_setsockopt, */ 1282 1280 /* change_qos: fs_change_qos, */ 1283 1281 1284 1282 /* For now implement these internally here... */
-27
drivers/atm/fore200e.c
··· 1710 1710 return 0; 1711 1711 } 1712 1712 1713 - 1714 - static int 1715 - fore200e_getsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, int optlen) 1716 - { 1717 - /* struct fore200e* fore200e = FORE200E_DEV(vcc->dev); */ 1718 - 1719 - DPRINTK(2, "getsockopt %d.%d.%d, level = %d, optname = 0x%x, optval = 0x%p, optlen = %d\n", 1720 - vcc->itf, vcc->vpi, vcc->vci, level, optname, optval, optlen); 1721 - 1722 - return -EINVAL; 1723 - } 1724 - 1725 - 1726 - static int 1727 - fore200e_setsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, unsigned int optlen) 1728 - { 1729 - /* struct fore200e* fore200e = FORE200E_DEV(vcc->dev); */ 1730 - 1731 - DPRINTK(2, "setsockopt %d.%d.%d, level = %d, optname = 0x%x, optval = 0x%p, optlen = %d\n", 1732 - vcc->itf, vcc->vpi, vcc->vci, level, optname, optval, optlen); 1733 - 1734 - return -EINVAL; 1735 - } 1736 - 1737 - 1738 1713 #if 0 /* currently unused */ 1739 1714 static int 1740 1715 fore200e_get_oc3(struct fore200e* fore200e, struct oc3_regs* regs) ··· 3001 3026 .open = fore200e_open, 3002 3027 .close = fore200e_close, 3003 3028 .ioctl = fore200e_ioctl, 3004 - .getsockopt = fore200e_getsockopt, 3005 - .setsockopt = fore200e_setsockopt, 3006 3029 .send = fore200e_send, 3007 3030 .change_qos = fore200e_change_qos, 3008 3031 .proc_read = fore200e_proc_read,
-40
drivers/atm/horizon.c
··· 2528 2528 } 2529 2529 2530 2530 #if 0 2531 - static int hrz_getsockopt (struct atm_vcc * atm_vcc, int level, int optname, 2532 - void *optval, int optlen) { 2533 - hrz_dev * dev = HRZ_DEV(atm_vcc->dev); 2534 - PRINTD (DBG_FLOW|DBG_VCC, "hrz_getsockopt"); 2535 - switch (level) { 2536 - case SOL_SOCKET: 2537 - switch (optname) { 2538 - // case SO_BCTXOPT: 2539 - // break; 2540 - // case SO_BCRXOPT: 2541 - // break; 2542 - default: 2543 - return -ENOPROTOOPT; 2544 - }; 2545 - break; 2546 - } 2547 - return -EINVAL; 2548 - } 2549 - 2550 - static int hrz_setsockopt (struct atm_vcc * atm_vcc, int level, int optname, 2551 - void *optval, unsigned int optlen) { 2552 - hrz_dev * dev = HRZ_DEV(atm_vcc->dev); 2553 - PRINTD (DBG_FLOW|DBG_VCC, "hrz_setsockopt"); 2554 - switch (level) { 2555 - case SOL_SOCKET: 2556 - switch (optname) { 2557 - // case SO_BCTXOPT: 2558 - // break; 2559 - // case SO_BCRXOPT: 2560 - // break; 2561 - default: 2562 - return -ENOPROTOOPT; 2563 - }; 2564 - break; 2565 - } 2566 - return -EINVAL; 2567 - } 2568 - #endif 2569 - 2570 - #if 0 2571 2531 static int hrz_ioctl (struct atm_dev * atm_dev, unsigned int cmd, void *arg) { 2572 2532 hrz_dev * dev = HRZ_DEV(atm_dev); 2573 2533 PRINTD (DBG_FLOW, "hrz_ioctl");
-16
drivers/atm/iphase.c
··· 2880 2880 return 0; 2881 2881 } 2882 2882 2883 - static int ia_getsockopt(struct atm_vcc *vcc, int level, int optname, 2884 - void __user *optval, int optlen) 2885 - { 2886 - IF_EVENT(printk(">ia_getsockopt\n");) 2887 - return -EINVAL; 2888 - } 2889 - 2890 - static int ia_setsockopt(struct atm_vcc *vcc, int level, int optname, 2891 - void __user *optval, unsigned int optlen) 2892 - { 2893 - IF_EVENT(printk(">ia_setsockopt\n");) 2894 - return -EINVAL; 2895 - } 2896 - 2897 2883 static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb) { 2898 2884 IADEV *iadev; 2899 2885 struct dle *wr_ptr; ··· 3150 3164 .open = ia_open, 3151 3165 .close = ia_close, 3152 3166 .ioctl = ia_ioctl, 3153 - .getsockopt = ia_getsockopt, 3154 - .setsockopt = ia_setsockopt, 3155 3167 .send = ia_send, 3156 3168 .phy_put = ia_phy_put, 3157 3169 .phy_get = ia_phy_get,
-2
drivers/atm/lanai.c
··· 2537 2537 .dev_close = lanai_dev_close, 2538 2538 .open = lanai_open, 2539 2539 .close = lanai_close, 2540 - .getsockopt = NULL, 2541 - .setsockopt = NULL, 2542 2540 .send = lanai_send, 2543 2541 .phy_put = NULL, 2544 2542 .phy_get = NULL,
-2
drivers/atm/solos-pci.c
··· 1179 1179 .open = popen, 1180 1180 .close = pclose, 1181 1181 .ioctl = NULL, 1182 - .getsockopt = NULL, 1183 - .setsockopt = NULL, 1184 1182 .send = psend, 1185 1183 .send_oam = NULL, 1186 1184 .phy_put = NULL,
-16
drivers/atm/zatm.c
··· 1515 1515 } 1516 1516 } 1517 1517 1518 - 1519 - static int zatm_getsockopt(struct atm_vcc *vcc,int level,int optname, 1520 - void __user *optval,int optlen) 1521 - { 1522 - return -EINVAL; 1523 - } 1524 - 1525 - 1526 - static int zatm_setsockopt(struct atm_vcc *vcc,int level,int optname, 1527 - void __user *optval,unsigned int optlen) 1528 - { 1529 - return -EINVAL; 1530 - } 1531 - 1532 1518 static int zatm_send(struct atm_vcc *vcc,struct sk_buff *skb) 1533 1519 { 1534 1520 int error; ··· 1568 1582 .open = zatm_open, 1569 1583 .close = zatm_close, 1570 1584 .ioctl = zatm_ioctl, 1571 - .getsockopt = zatm_getsockopt, 1572 - .setsockopt = zatm_setsockopt, 1573 1585 .send = zatm_send, 1574 1586 .phy_put = zatm_phy_put, 1575 1587 .phy_get = zatm_phy_get,
-9
include/linux/atmdev.h
··· 176 176 #define ATM_OF_IMMED 1 /* Attempt immediate delivery */ 177 177 #define ATM_OF_INRATE 2 /* Attempt in-rate delivery */ 178 178 179 - 180 - /* 181 - * ioctl, getsockopt, and setsockopt are optional and can be set to NULL. 182 - */ 183 - 184 179 struct atmdev_ops { /* only send is required */ 185 180 void (*dev_close)(struct atm_dev *dev); 186 181 int (*open)(struct atm_vcc *vcc); ··· 185 190 int (*compat_ioctl)(struct atm_dev *dev,unsigned int cmd, 186 191 void __user *arg); 187 192 #endif 188 - int (*getsockopt)(struct atm_vcc *vcc,int level,int optname, 189 - void __user *optval,int optlen); 190 - int (*setsockopt)(struct atm_vcc *vcc,int level,int optname, 191 - void __user *optval,unsigned int optlen); 192 193 int (*send)(struct atm_vcc *vcc,struct sk_buff *skb); 193 194 int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags); 194 195 void (*phy_put)(struct atm_dev *dev,unsigned char value,
+2 -12
net/atm/common.c
··· 782 782 vcc->atm_options &= ~ATM_ATMOPT_CLP; 783 783 return 0; 784 784 default: 785 - if (level == SOL_SOCKET) 786 - return -EINVAL; 787 - break; 788 - } 789 - if (!vcc->dev || !vcc->dev->ops->setsockopt) 790 785 return -EINVAL; 791 - return vcc->dev->ops->setsockopt(vcc, level, optname, optval, optlen); 786 + } 792 787 } 793 788 794 789 int vcc_getsockopt(struct socket *sock, int level, int optname, ··· 821 826 return copy_to_user(optval, &pvc, sizeof(pvc)) ? -EFAULT : 0; 822 827 } 823 828 default: 824 - if (level == SOL_SOCKET) 825 - return -EINVAL; 826 - break; 827 - } 828 - if (!vcc->dev || !vcc->dev->ops->getsockopt) 829 829 return -EINVAL; 830 - return vcc->dev->ops->getsockopt(vcc, level, optname, optval, len); 830 + } 831 831 } 832 832 833 833 int register_atmdevice_notifier(struct notifier_block *nb)