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

wifi: atmel: remove unused ioctl function

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

authored by

Arnd Bergmann and committed by
Kalle Valo
166ab7ca 618071ae

-72
-72
drivers/net/wireless/atmel/atmel.c
··· 571 571 { REG_DOMAIN_ISRAEL, 3, 9, "Israel"} }; 572 572 573 573 static void build_wpa_mib(struct atmel_private *priv); 574 - static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); 575 574 static void atmel_copy_to_card(struct net_device *dev, u16 dest, 576 575 const unsigned char *src, u16 len); 577 576 static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest, ··· 1486 1487 .ndo_stop = atmel_close, 1487 1488 .ndo_set_mac_address = atmel_set_mac_address, 1488 1489 .ndo_start_xmit = start_tx, 1489 - .ndo_do_ioctl = atmel_ioctl, 1490 1490 .ndo_validate_addr = eth_validate_addr, 1491 1491 }; 1492 1492 ··· 2613 2615 .private_args = (struct iw_priv_args *) atmel_private_args, 2614 2616 .get_wireless_stats = atmel_get_wireless_stats 2615 2617 }; 2616 - 2617 - static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) 2618 - { 2619 - int i, rc = 0; 2620 - struct atmel_private *priv = netdev_priv(dev); 2621 - struct atmel_priv_ioctl com; 2622 - struct iwreq *wrq = (struct iwreq *) rq; 2623 - unsigned char *new_firmware; 2624 - char domain[REGDOMAINSZ + 1]; 2625 - 2626 - switch (cmd) { 2627 - case ATMELIDIFC: 2628 - wrq->u.param.value = ATMELMAGIC; 2629 - break; 2630 - 2631 - case ATMELFWL: 2632 - if (copy_from_user(&com, rq->ifr_data, sizeof(com))) { 2633 - rc = -EFAULT; 2634 - break; 2635 - } 2636 - 2637 - if (!capable(CAP_NET_ADMIN)) { 2638 - rc = -EPERM; 2639 - break; 2640 - } 2641 - 2642 - new_firmware = memdup_user(com.data, com.len); 2643 - if (IS_ERR(new_firmware)) { 2644 - rc = PTR_ERR(new_firmware); 2645 - break; 2646 - } 2647 - 2648 - kfree(priv->firmware); 2649 - 2650 - priv->firmware = new_firmware; 2651 - priv->firmware_length = com.len; 2652 - strncpy(priv->firmware_id, com.id, 31); 2653 - priv->firmware_id[31] = '\0'; 2654 - break; 2655 - 2656 - case ATMELRD: 2657 - if (copy_from_user(domain, rq->ifr_data, REGDOMAINSZ)) { 2658 - rc = -EFAULT; 2659 - break; 2660 - } 2661 - 2662 - if (!capable(CAP_NET_ADMIN)) { 2663 - rc = -EPERM; 2664 - break; 2665 - } 2666 - 2667 - domain[REGDOMAINSZ] = 0; 2668 - rc = -EINVAL; 2669 - for (i = 0; i < ARRAY_SIZE(channel_table); i++) { 2670 - if (!strcasecmp(channel_table[i].name, domain)) { 2671 - priv->config_reg_domain = channel_table[i].reg_domain; 2672 - rc = 0; 2673 - } 2674 - } 2675 - 2676 - if (rc == 0 && priv->station_state != STATION_STATE_DOWN) 2677 - rc = atmel_open(dev); 2678 - break; 2679 - 2680 - default: 2681 - rc = -EOPNOTSUPP; 2682 - } 2683 - 2684 - return rc; 2685 - } 2686 2618 2687 2619 struct auth_body { 2688 2620 __le16 alg;