Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ceb7b6a authored by Wang Chen's avatar Wang Chen Committed by John W. Linville
Browse files

netdevice libertas: Fix directly reference of netdev->priv



We have some reasons to kill netdev->priv:
1. netdev->priv is equal to netdev_priv().
2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
   netdev_priv() is more flexible than netdev->priv.
But we cann't kill netdev->priv, because so many drivers reference to it
directly.

OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug",
and I want to kill netdev->priv later, I decided to convert all the direct
reference of netdev->priv first.

Different to readonly reference of netdev->priv, in this driver, netdev->priv
was changed. I use netdev->ml_priv to replace netdev->priv.

Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f4009237
Loading
Loading
Loading
Loading
+18 −18
Original line number Original line Diff line number Diff line
@@ -223,7 +223,7 @@ u8 lbs_data_rate_to_fw_index(u32 rate)
static ssize_t lbs_anycast_get(struct device *dev,
static ssize_t lbs_anycast_get(struct device *dev,
		struct device_attribute *attr, char * buf)
		struct device_attribute *attr, char * buf)
{
{
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));
	struct cmd_ds_mesh_access mesh_access;
	struct cmd_ds_mesh_access mesh_access;
	int ret;
	int ret;


@@ -242,7 +242,7 @@ static ssize_t lbs_anycast_get(struct device *dev,
static ssize_t lbs_anycast_set(struct device *dev,
static ssize_t lbs_anycast_set(struct device *dev,
		struct device_attribute *attr, const char * buf, size_t count)
		struct device_attribute *attr, const char * buf, size_t count)
{
{
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));
	struct cmd_ds_mesh_access mesh_access;
	struct cmd_ds_mesh_access mesh_access;
	uint32_t datum;
	uint32_t datum;
	int ret;
	int ret;
@@ -270,7 +270,7 @@ static void lbs_remove_mesh(struct lbs_private *priv);
static ssize_t lbs_rtap_get(struct device *dev,
static ssize_t lbs_rtap_get(struct device *dev,
		struct device_attribute *attr, char * buf)
		struct device_attribute *attr, char * buf)
{
{
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));
	return snprintf(buf, 5, "0x%X\n", priv->monitormode);
	return snprintf(buf, 5, "0x%X\n", priv->monitormode);
}
}


@@ -281,7 +281,7 @@ static ssize_t lbs_rtap_set(struct device *dev,
		struct device_attribute *attr, const char * buf, size_t count)
		struct device_attribute *attr, const char * buf, size_t count)
{
{
	int monitor_mode;
	int monitor_mode;
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));


	sscanf(buf, "%x", &monitor_mode);
	sscanf(buf, "%x", &monitor_mode);
	if (monitor_mode) {
	if (monitor_mode) {
@@ -332,7 +332,7 @@ static DEVICE_ATTR(lbs_rtap, 0644, lbs_rtap_get, lbs_rtap_set );
static ssize_t lbs_mesh_get(struct device *dev,
static ssize_t lbs_mesh_get(struct device *dev,
		struct device_attribute *attr, char * buf)
		struct device_attribute *attr, char * buf)
{
{
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));
	return snprintf(buf, 5, "0x%X\n", !!priv->mesh_dev);
	return snprintf(buf, 5, "0x%X\n", !!priv->mesh_dev);
}
}


@@ -342,7 +342,7 @@ static ssize_t lbs_mesh_get(struct device *dev,
static ssize_t lbs_mesh_set(struct device *dev,
static ssize_t lbs_mesh_set(struct device *dev,
		struct device_attribute *attr, const char * buf, size_t count)
		struct device_attribute *attr, const char * buf, size_t count)
{
{
	struct lbs_private *priv = to_net_dev(dev)->priv;
	struct lbs_private *priv = netdev_priv(to_net_dev(dev));
	int enable;
	int enable;
	int ret, action = CMD_ACT_MESH_CONFIG_STOP;
	int ret, action = CMD_ACT_MESH_CONFIG_STOP;


@@ -393,7 +393,7 @@ static struct attribute_group lbs_mesh_attr_group = {
 */
 */
static int lbs_dev_open(struct net_device *dev)
static int lbs_dev_open(struct net_device *dev)
{
{
	struct lbs_private *priv = (struct lbs_private *) dev->priv ;
	struct lbs_private *priv = netdev_priv(dev) ;
	int ret = 0;
	int ret = 0;


	lbs_deb_enter(LBS_DEB_NET);
	lbs_deb_enter(LBS_DEB_NET);
@@ -435,7 +435,7 @@ static int lbs_dev_open(struct net_device *dev)
 */
 */
static int lbs_mesh_stop(struct net_device *dev)
static int lbs_mesh_stop(struct net_device *dev)
{
{
	struct lbs_private *priv = (struct lbs_private *) (dev->priv);
	struct lbs_private *priv = dev->ml_priv;


	lbs_deb_enter(LBS_DEB_MESH);
	lbs_deb_enter(LBS_DEB_MESH);
	spin_lock_irq(&priv->driver_lock);
	spin_lock_irq(&priv->driver_lock);
@@ -462,7 +462,7 @@ static int lbs_mesh_stop(struct net_device *dev)
 */
 */
static int lbs_eth_stop(struct net_device *dev)
static int lbs_eth_stop(struct net_device *dev)
{
{
	struct lbs_private *priv = (struct lbs_private *) dev->priv;
	struct lbs_private *priv = netdev_priv(dev);


	lbs_deb_enter(LBS_DEB_NET);
	lbs_deb_enter(LBS_DEB_NET);


@@ -479,7 +479,7 @@ static int lbs_eth_stop(struct net_device *dev)


static void lbs_tx_timeout(struct net_device *dev)
static void lbs_tx_timeout(struct net_device *dev)
{
{
	struct lbs_private *priv = (struct lbs_private *) dev->priv;
	struct lbs_private *priv = netdev_priv(dev);


	lbs_deb_enter(LBS_DEB_TX);
	lbs_deb_enter(LBS_DEB_TX);


@@ -531,7 +531,7 @@ EXPORT_SYMBOL_GPL(lbs_host_to_card_done);
 */
 */
static struct net_device_stats *lbs_get_stats(struct net_device *dev)
static struct net_device_stats *lbs_get_stats(struct net_device *dev)
{
{
	struct lbs_private *priv = (struct lbs_private *) dev->priv;
	struct lbs_private *priv = netdev_priv(dev);


	lbs_deb_enter(LBS_DEB_NET);
	lbs_deb_enter(LBS_DEB_NET);
	return &priv->stats;
	return &priv->stats;
@@ -540,7 +540,7 @@ static struct net_device_stats *lbs_get_stats(struct net_device *dev)
static int lbs_set_mac_address(struct net_device *dev, void *addr)
static int lbs_set_mac_address(struct net_device *dev, void *addr)
{
{
	int ret = 0;
	int ret = 0;
	struct lbs_private *priv = (struct lbs_private *) dev->priv;
	struct lbs_private *priv = netdev_priv(dev);
	struct sockaddr *phwaddr = addr;
	struct sockaddr *phwaddr = addr;
	struct cmd_ds_802_11_mac_address cmd;
	struct cmd_ds_802_11_mac_address cmd;


@@ -673,7 +673,7 @@ static void lbs_set_mcast_worker(struct work_struct *work)


static void lbs_set_multicast_list(struct net_device *dev)
static void lbs_set_multicast_list(struct net_device *dev)
{
{
	struct lbs_private *priv = dev->priv;
	struct lbs_private *priv = netdev_priv(dev);


	schedule_work(&priv->mcast_work);
	schedule_work(&priv->mcast_work);
}
}
@@ -689,7 +689,7 @@ static void lbs_set_multicast_list(struct net_device *dev)
static int lbs_thread(void *data)
static int lbs_thread(void *data)
{
{
	struct net_device *dev = data;
	struct net_device *dev = data;
	struct lbs_private *priv = dev->priv;
	struct lbs_private *priv = netdev_priv(dev);
	wait_queue_t wait;
	wait_queue_t wait;


	lbs_deb_enter(LBS_DEB_THREAD);
	lbs_deb_enter(LBS_DEB_THREAD);
@@ -1124,7 +1124,7 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev)
		lbs_pr_err("init ethX device failed\n");
		lbs_pr_err("init ethX device failed\n");
		goto done;
		goto done;
	}
	}
	priv = dev->priv;
	priv = netdev_priv(dev);


	if (lbs_init_adapter(priv)) {
	if (lbs_init_adapter(priv)) {
		lbs_pr_err("failed to initialize adapter structure.\n");
		lbs_pr_err("failed to initialize adapter structure.\n");
@@ -1377,7 +1377,7 @@ static int lbs_add_mesh(struct lbs_private *priv)
		ret = -ENOMEM;
		ret = -ENOMEM;
		goto done;
		goto done;
	}
	}
	mesh_dev->priv = priv;
	mesh_dev->ml_priv = priv;
	priv->mesh_dev = mesh_dev;
	priv->mesh_dev = mesh_dev;


	mesh_dev->open = lbs_dev_open;
	mesh_dev->open = lbs_dev_open;
@@ -1590,7 +1590,7 @@ static int lbs_rtap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)


static struct net_device_stats *lbs_rtap_get_stats(struct net_device *dev)
static struct net_device_stats *lbs_rtap_get_stats(struct net_device *dev)
{
{
	struct lbs_private *priv = dev->priv;
	struct lbs_private *priv = dev->ml_priv;
	lbs_deb_enter(LBS_DEB_NET);
	lbs_deb_enter(LBS_DEB_NET);
	return &priv->stats;
	return &priv->stats;
}
}
@@ -1631,7 +1631,7 @@ static int lbs_add_rtap(struct lbs_private *priv)
	rtap_dev->stop = lbs_rtap_stop;
	rtap_dev->stop = lbs_rtap_stop;
	rtap_dev->get_stats = lbs_rtap_get_stats;
	rtap_dev->get_stats = lbs_rtap_get_stats;
	rtap_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;
	rtap_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;
	rtap_dev->priv = priv;
	rtap_dev->ml_priv = priv;
	SET_NETDEV_DEV(rtap_dev, priv->dev->dev.parent);
	SET_NETDEV_DEV(rtap_dev, priv->dev->dev.parent);


	ret = register_netdev(rtap_dev);
	ret = register_netdev(rtap_dev);