wifi: atmel: remove unused ioctl function
authorArnd Bergmann <arnd@arndb.de>
Wed, 11 Oct 2023 14:02:23 +0000 (16:02 +0200)
committerKalle Valo <kvalo@kernel.org>
Sat, 14 Oct 2023 06:41:21 +0000 (09:41 +0300)
This function has no callers, and for the past 20 years, the request_firmware
interface has been in place instead of the custom firmware loader.

Acked-by: Kalle Valo <kvalo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231011140225.253106-8-arnd@kernel.org
drivers/net/wireless/atmel/atmel.c

index 7c2d1c588156d384db7492c3238bf97ef9430c4f..461dce21de2b09cb815a3a7895243b16f9a376ee 100644 (file)
@@ -571,7 +571,6 @@ static const struct {
                      { REG_DOMAIN_ISRAEL, 3, 9, "Israel"} };
 
 static void build_wpa_mib(struct atmel_private *priv);
-static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
 static void atmel_copy_to_card(struct net_device *dev, u16 dest,
                               const unsigned char *src, u16 len);
 static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest,
@@ -1487,7 +1486,6 @@ static const struct net_device_ops atmel_netdev_ops = {
        .ndo_stop               = atmel_close,
        .ndo_set_mac_address    = atmel_set_mac_address,
        .ndo_start_xmit         = start_tx,
-       .ndo_do_ioctl           = atmel_ioctl,
        .ndo_validate_addr      = eth_validate_addr,
 };
 
@@ -2616,76 +2614,6 @@ static const struct iw_handler_def atmel_handler_def = {
        .get_wireless_stats = atmel_get_wireless_stats
 };
 
-static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-{
-       int i, rc = 0;
-       struct atmel_private *priv = netdev_priv(dev);
-       struct atmel_priv_ioctl com;
-       struct iwreq *wrq = (struct iwreq *) rq;
-       unsigned char *new_firmware;
-       char domain[REGDOMAINSZ + 1];
-
-       switch (cmd) {
-       case ATMELIDIFC:
-               wrq->u.param.value = ATMELMAGIC;
-               break;
-
-       case ATMELFWL:
-               if (copy_from_user(&com, rq->ifr_data, sizeof(com))) {
-                       rc = -EFAULT;
-                       break;
-               }
-
-               if (!capable(CAP_NET_ADMIN)) {
-                       rc = -EPERM;
-                       break;
-               }
-
-               new_firmware = memdup_user(com.data, com.len);
-               if (IS_ERR(new_firmware)) {
-                       rc = PTR_ERR(new_firmware);
-                       break;
-               }
-
-               kfree(priv->firmware);
-
-               priv->firmware = new_firmware;
-               priv->firmware_length = com.len;
-               strncpy(priv->firmware_id, com.id, 31);
-               priv->firmware_id[31] = '\0';
-               break;
-
-       case ATMELRD:
-               if (copy_from_user(domain, rq->ifr_data, REGDOMAINSZ)) {
-                       rc = -EFAULT;
-                       break;
-               }
-
-               if (!capable(CAP_NET_ADMIN)) {
-                       rc = -EPERM;
-                       break;
-               }
-
-               domain[REGDOMAINSZ] = 0;
-               rc = -EINVAL;
-               for (i = 0; i < ARRAY_SIZE(channel_table); i++) {
-                       if (!strcasecmp(channel_table[i].name, domain)) {
-                               priv->config_reg_domain = channel_table[i].reg_domain;
-                               rc = 0;
-                       }
-               }
-
-               if (rc == 0 &&  priv->station_state != STATION_STATE_DOWN)
-                       rc = atmel_open(dev);
-               break;
-
-       default:
-               rc = -EOPNOTSUPP;
-       }
-
-       return rc;
-}
-
 struct auth_body {
        __le16 alg;
        __le16 trans_seq;