Skip to content

Commit

Permalink
wifi: remove iw_public_data from struct net_device
Browse files Browse the repository at this point in the history
Given the previous patches, we no longer need the
struct iw_public_data etc., it's only used by the
old Intel drivers (and ps3_gelic creates it but
then doesn't use it). Remove all of that, including
the pointer in struct net_device.

Link: https://patch.msgid.link/20241007213525.8b2d52b60531.I6a27aaf30bded9a0977f07f47fba2bd31a3b3330@changeid
Signed-off-by: Johannes Berg <[email protected]>
  • Loading branch information
jmberg-intel committed Oct 8, 2024
1 parent 49e3307 commit 836265d
Show file tree
Hide file tree
Showing 10 changed files with 4 additions and 33 deletions.
1 change: 0 additions & 1 deletion Documentation/networking/net_cachelines/net_device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ struct_net_device_core_stats* core_stats
atomic_t carrier_up_count
atomic_t carrier_down_count
struct_iw_handler_def* wireless_handlers
struct_iw_public_data* wireless_data
struct_ethtool_ops* ethtool_ops
struct_l3mdev_ops* l3mdev_ops
struct_ndisc_ops* ndisc_ops
Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
Original file line number Diff line number Diff line change
Expand Up @@ -2566,7 +2566,6 @@ static void gelic_wl_setup_netdev_ops(struct net_device *netdev)

netdev->ethtool_ops = &gelic_wl_ethtool_ops;
netdev->netdev_ops = &gelic_wl_netdevice_ops;
netdev->wireless_data = &wl->wireless_data;
netdev->wireless_handlers = &gelic_wl_wext_handler_def;
}

Expand Down
1 change: 0 additions & 1 deletion drivers/net/ethernet/toshiba/ps3_gelic_wireless.h
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,6 @@ struct gelic_wl_info {
u8 active_bssid[ETH_ALEN]; /* associated bssid */
unsigned int essid_len;

struct iw_public_data wireless_data;
struct iw_statistics iwstat;
};

Expand Down
2 changes: 0 additions & 2 deletions drivers/net/wireless/intel/ipw2x00/ipw2100.c
Original file line number Diff line number Diff line change
Expand Up @@ -6022,8 +6022,6 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
dev->netdev_ops = &ipw2100_netdev_ops;
dev->ethtool_ops = &ipw2100_ethtool_ops;
dev->wireless_handlers = &ipw2100_wx_handler_def;
priv->wireless_data.libipw = priv->ieee;
dev->wireless_data = &priv->wireless_data;
dev->watchdog_timeo = 3 * HZ;
dev->irq = 0;
dev->min_mtu = 68;
Expand Down
2 changes: 0 additions & 2 deletions drivers/net/wireless/intel/ipw2x00/ipw2100.h
Original file line number Diff line number Diff line change
Expand Up @@ -554,8 +554,6 @@ struct ipw2100_priv {
struct net_device *net_dev;
struct iw_statistics wstats;

struct iw_public_data wireless_data;

struct tasklet_struct irq_tasklet;

struct delayed_work reset_work;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/wireless/intel/ipw2x00/ipw2200.c
Original file line number Diff line number Diff line change
Expand Up @@ -11645,7 +11645,6 @@ static int ipw_pci_probe(struct pci_dev *pdev,

net_dev->netdev_ops = &ipw_netdev_ops;
priv->ieee->spy_enabled = true;
net_dev->wireless_data = &priv->wireless_data;
net_dev->wireless_handlers = &ipw_wx_handler_def;
net_dev->ethtool_ops = &ipw_ethtool_ops;

Expand Down
2 changes: 0 additions & 2 deletions drivers/net/wireless/intel/ipw2x00/ipw2200.h
Original file line number Diff line number Diff line change
Expand Up @@ -1274,8 +1274,6 @@ struct ipw_priv {

struct iw_statistics wstats;

struct iw_public_data wireless_data;

int user_requested_scan;
u8 direct_scan_ssid[IW_ESSID_MAX_SIZE];
u8 direct_scan_ssid_len;
Expand Down
7 changes: 4 additions & 3 deletions drivers/net/wireless/intel/ipw2x00/libipw_spy.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@

static struct iw_spy_data *get_spydata(struct net_device *dev)
{
if (dev->wireless_data && dev->wireless_data->libipw &&
dev->wireless_data->libipw->spy_enabled)
return &dev->wireless_data->libipw->spy_data;
struct libipw_device *ieee = netdev_priv(dev);

if (ieee->spy_enabled)
return &ieee->spy_data;
return NULL;
}

Expand Down
2 changes: 0 additions & 2 deletions include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -1773,7 +1773,6 @@ enum netdev_reg_state {
* @wireless_handlers: List of functions to handle Wireless Extensions,
* instead of ioctl,
* see <net/iw_handler.h> for details.
* @wireless_data: Instance data managed by the core of wireless extensions
*
* @netdev_ops: Includes several pointers to callbacks,
* if one wants to override the ndo_*() functions
Expand Down Expand Up @@ -2150,7 +2149,6 @@ struct net_device {

#ifdef CONFIG_WIRELESS_EXT
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
#endif
const struct ethtool_ops *ethtool_ops;
#ifdef CONFIG_NET_L3_MASTER_DEV
Expand Down
18 changes: 0 additions & 18 deletions include/net/iw_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -404,24 +404,6 @@ struct iw_spy_data {
u_char spy_thr_under[IW_MAX_SPY];
};

/* --------------------- DEVICE WIRELESS DATA --------------------- */
/*
* This is all the wireless data specific to a device instance that
* is managed by the core of Wireless Extensions or the 802.11 layer.
* We only keep pointer to those structures, so that a driver is free
* to share them between instances.
* This structure should be initialised before registering the device.
* Access to this data follow the same rules as any other struct net_device
* data (i.e. valid as long as struct net_device exist, same locking rules).
*/
/* Forward declaration */
struct libipw_device;
/* The struct */
struct iw_public_data {
/* Legacy structure managed by the ipw2x00-specific IEEE 802.11 layer */
struct libipw_device * libipw;
};

/**************************** PROTOTYPES ****************************/
/*
* Functions part of the Wireless Extensions (defined in net/wireless/wext-core.c).
Expand Down

0 comments on commit 836265d

Please sign in to comment.