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

Wireless: remove driver_data direct access of struct device

In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device. Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used. These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Cc: John W. Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Greg Kroah-Hartman and committed by
John W. Linville
928841b1 8bce6121

+53 -50
+1 -1
drivers/net/wireless/atmel_cs.c
··· 279 279 struct pcmcia_device_id *did; 280 280 281 281 dev = link->priv; 282 - did = handle_to_dev(link).driver_data; 282 + did = dev_get_drvdata(&handle_to_dev(link)); 283 283 284 284 DEBUG(0, "atmel_config(0x%p)\n", link); 285 285
+4 -4
drivers/net/wireless/ipw2x00/ipw2100.c
··· 3488 3488 static ssize_t show_cfg(struct device *d, struct device_attribute *attr, 3489 3489 char *buf) 3490 3490 { 3491 - struct ipw2100_priv *p = d->driver_data; 3491 + struct ipw2100_priv *p = dev_get_drvdata(d); 3492 3492 return sprintf(buf, "0x%08x\n", (int)p->config); 3493 3493 } 3494 3494 ··· 3497 3497 static ssize_t show_status(struct device *d, struct device_attribute *attr, 3498 3498 char *buf) 3499 3499 { 3500 - struct ipw2100_priv *p = d->driver_data; 3500 + struct ipw2100_priv *p = dev_get_drvdata(d); 3501 3501 return sprintf(buf, "0x%08x\n", (int)p->status); 3502 3502 } 3503 3503 ··· 3506 3506 static ssize_t show_capability(struct device *d, struct device_attribute *attr, 3507 3507 char *buf) 3508 3508 { 3509 - struct ipw2100_priv *p = d->driver_data; 3509 + struct ipw2100_priv *p = dev_get_drvdata(d); 3510 3510 return sprintf(buf, "0x%08x\n", (int)p->capability); 3511 3511 } 3512 3512 ··· 4224 4224 1 - SW based RF kill active (sysfs) 4225 4225 2 - HW based RF kill active 4226 4226 3 - Both HW and SW baed RF kill active */ 4227 - struct ipw2100_priv *priv = (struct ipw2100_priv *)d->driver_data; 4227 + struct ipw2100_priv *priv = dev_get_drvdata(d); 4228 4228 int val = ((priv->status & STATUS_RF_KILL_SW) ? 0x1 : 0x0) | 4229 4229 (rf_kill_active(priv) ? 0x2 : 0x0); 4230 4230 return sprintf(buf, "%i\n", val);
+24 -23
drivers/net/wireless/ipw2x00/ipw2200.c
··· 1527 1527 static ssize_t show_status(struct device *d, 1528 1528 struct device_attribute *attr, char *buf) 1529 1529 { 1530 - struct ipw_priv *p = d->driver_data; 1530 + struct ipw_priv *p = dev_get_drvdata(d); 1531 1531 return sprintf(buf, "0x%08x\n", (int)p->status); 1532 1532 } 1533 1533 ··· 1536 1536 static ssize_t show_cfg(struct device *d, struct device_attribute *attr, 1537 1537 char *buf) 1538 1538 { 1539 - struct ipw_priv *p = d->driver_data; 1539 + struct ipw_priv *p = dev_get_drvdata(d); 1540 1540 return sprintf(buf, "0x%08x\n", (int)p->config); 1541 1541 } 1542 1542 ··· 1545 1545 static ssize_t show_nic_type(struct device *d, 1546 1546 struct device_attribute *attr, char *buf) 1547 1547 { 1548 - struct ipw_priv *priv = d->driver_data; 1548 + struct ipw_priv *priv = dev_get_drvdata(d); 1549 1549 return sprintf(buf, "TYPE: %d\n", priv->nic_type); 1550 1550 } 1551 1551 ··· 1555 1555 struct device_attribute *attr, char *buf) 1556 1556 { 1557 1557 u32 len = sizeof(u32), tmp = 0; 1558 - struct ipw_priv *p = d->driver_data; 1558 + struct ipw_priv *p = dev_get_drvdata(d); 1559 1559 1560 1560 if (ipw_get_ordinal(p, IPW_ORD_STAT_UCODE_VERSION, &tmp, &len)) 1561 1561 return 0; ··· 1569 1569 char *buf) 1570 1570 { 1571 1571 u32 len = sizeof(u32), tmp = 0; 1572 - struct ipw_priv *p = d->driver_data; 1572 + struct ipw_priv *p = dev_get_drvdata(d); 1573 1573 1574 1574 if (ipw_get_ordinal(p, IPW_ORD_STAT_RTC, &tmp, &len)) 1575 1575 return 0; ··· 1586 1586 static ssize_t show_eeprom_delay(struct device *d, 1587 1587 struct device_attribute *attr, char *buf) 1588 1588 { 1589 - int n = ((struct ipw_priv *)d->driver_data)->eeprom_delay; 1589 + struct ipw_priv *p = dev_get_drvdata(d); 1590 + int n = p->eeprom_delay; 1590 1591 return sprintf(buf, "%i\n", n); 1591 1592 } 1592 1593 static ssize_t store_eeprom_delay(struct device *d, 1593 1594 struct device_attribute *attr, 1594 1595 const char *buf, size_t count) 1595 1596 { 1596 - struct ipw_priv *p = d->driver_data; 1597 + struct ipw_priv *p = dev_get_drvdata(d); 1597 1598 sscanf(buf, "%i", &p->eeprom_delay); 1598 1599 return strnlen(buf, count); 1599 1600 } ··· 1606 1605 struct device_attribute *attr, char *buf) 1607 1606 { 1608 1607 u32 reg = 0; 1609 - struct ipw_priv *p = d->driver_data; 1608 + struct ipw_priv *p = dev_get_drvdata(d); 1610 1609 1611 1610 reg = ipw_read_reg32(p, IPW_INTERNAL_CMD_EVENT); 1612 1611 return sprintf(buf, "0x%08x\n", reg); ··· 1616 1615 const char *buf, size_t count) 1617 1616 { 1618 1617 u32 reg; 1619 - struct ipw_priv *p = d->driver_data; 1618 + struct ipw_priv *p = dev_get_drvdata(d); 1620 1619 1621 1620 sscanf(buf, "%x", &reg); 1622 1621 ipw_write_reg32(p, IPW_INTERNAL_CMD_EVENT, reg); ··· 1630 1629 struct device_attribute *attr, char *buf) 1631 1630 { 1632 1631 u32 reg = 0; 1633 - struct ipw_priv *p = d->driver_data; 1632 + struct ipw_priv *p = dev_get_drvdata(d); 1634 1633 1635 1634 reg = ipw_read_reg32(p, 0x301100); 1636 1635 return sprintf(buf, "0x%08x\n", reg); ··· 1640 1639 const char *buf, size_t count) 1641 1640 { 1642 1641 u32 reg; 1643 - struct ipw_priv *p = d->driver_data; 1642 + struct ipw_priv *p = dev_get_drvdata(d); 1644 1643 1645 1644 sscanf(buf, "%x", &reg); 1646 1645 ipw_write_reg32(p, 0x301100, reg); ··· 1654 1653 struct device_attribute *attr, char *buf) 1655 1654 { 1656 1655 u32 reg = 0; 1657 - struct ipw_priv *priv = d->driver_data; 1656 + struct ipw_priv *priv = dev_get_drvdata(d); 1658 1657 1659 1658 if (priv->status & STATUS_INDIRECT_DWORD) 1660 1659 reg = ipw_read_reg32(priv, priv->indirect_dword); ··· 1667 1666 struct device_attribute *attr, 1668 1667 const char *buf, size_t count) 1669 1668 { 1670 - struct ipw_priv *priv = d->driver_data; 1669 + struct ipw_priv *priv = dev_get_drvdata(d); 1671 1670 1672 1671 sscanf(buf, "%x", &priv->indirect_dword); 1673 1672 priv->status |= STATUS_INDIRECT_DWORD; ··· 1681 1680 struct device_attribute *attr, char *buf) 1682 1681 { 1683 1682 u8 reg = 0; 1684 - struct ipw_priv *priv = d->driver_data; 1683 + struct ipw_priv *priv = dev_get_drvdata(d); 1685 1684 1686 1685 if (priv->status & STATUS_INDIRECT_BYTE) 1687 1686 reg = ipw_read_reg8(priv, priv->indirect_byte); ··· 1694 1693 struct device_attribute *attr, 1695 1694 const char *buf, size_t count) 1696 1695 { 1697 - struct ipw_priv *priv = d->driver_data; 1696 + struct ipw_priv *priv = dev_get_drvdata(d); 1698 1697 1699 1698 sscanf(buf, "%x", &priv->indirect_byte); 1700 1699 priv->status |= STATUS_INDIRECT_BYTE; ··· 1708 1707 struct device_attribute *attr, char *buf) 1709 1708 { 1710 1709 u32 reg = 0; 1711 - struct ipw_priv *priv = d->driver_data; 1710 + struct ipw_priv *priv = dev_get_drvdata(d); 1712 1711 1713 1712 if (priv->status & STATUS_DIRECT_DWORD) 1714 1713 reg = ipw_read32(priv, priv->direct_dword); ··· 1721 1720 struct device_attribute *attr, 1722 1721 const char *buf, size_t count) 1723 1722 { 1724 - struct ipw_priv *priv = d->driver_data; 1723 + struct ipw_priv *priv = dev_get_drvdata(d); 1725 1724 1726 1725 sscanf(buf, "%x", &priv->direct_dword); 1727 1726 priv->status |= STATUS_DIRECT_DWORD; ··· 1748 1747 1 - SW based RF kill active (sysfs) 1749 1748 2 - HW based RF kill active 1750 1749 3 - Both HW and SW baed RF kill active */ 1751 - struct ipw_priv *priv = d->driver_data; 1750 + struct ipw_priv *priv = dev_get_drvdata(d); 1752 1751 int val = ((priv->status & STATUS_RF_KILL_SW) ? 0x1 : 0x0) | 1753 1752 (rf_kill_active(priv) ? 0x2 : 0x0); 1754 1753 return sprintf(buf, "%i\n", val); ··· 1792 1791 static ssize_t store_rf_kill(struct device *d, struct device_attribute *attr, 1793 1792 const char *buf, size_t count) 1794 1793 { 1795 - struct ipw_priv *priv = d->driver_data; 1794 + struct ipw_priv *priv = dev_get_drvdata(d); 1796 1795 1797 1796 ipw_radio_kill_sw(priv, buf[0] == '1'); 1798 1797 ··· 1804 1803 static ssize_t show_speed_scan(struct device *d, struct device_attribute *attr, 1805 1804 char *buf) 1806 1805 { 1807 - struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; 1806 + struct ipw_priv *priv = dev_get_drvdata(d); 1808 1807 int pos = 0, len = 0; 1809 1808 if (priv->config & CFG_SPEED_SCAN) { 1810 1809 while (priv->speed_scan[pos] != 0) ··· 1819 1818 static ssize_t store_speed_scan(struct device *d, struct device_attribute *attr, 1820 1819 const char *buf, size_t count) 1821 1820 { 1822 - struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; 1821 + struct ipw_priv *priv = dev_get_drvdata(d); 1823 1822 int channel, pos = 0; 1824 1823 const char *p = buf; 1825 1824 ··· 1858 1857 static ssize_t show_net_stats(struct device *d, struct device_attribute *attr, 1859 1858 char *buf) 1860 1859 { 1861 - struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; 1860 + struct ipw_priv *priv = dev_get_drvdata(d); 1862 1861 return sprintf(buf, "%c\n", (priv->config & CFG_NET_STATS) ? '1' : '0'); 1863 1862 } 1864 1863 1865 1864 static ssize_t store_net_stats(struct device *d, struct device_attribute *attr, 1866 1865 const char *buf, size_t count) 1867 1866 { 1868 - struct ipw_priv *priv = (struct ipw_priv *)d->driver_data; 1867 + struct ipw_priv *priv = dev_get_drvdata(d); 1869 1868 if (buf[0] == '1') 1870 1869 priv->config |= CFG_NET_STATS; 1871 1870 else
+10 -10
drivers/net/wireless/iwlwifi/iwl-agn.c
··· 2268 2268 static ssize_t show_debug_level(struct device *d, 2269 2269 struct device_attribute *attr, char *buf) 2270 2270 { 2271 - struct iwl_priv *priv = d->driver_data; 2271 + struct iwl_priv *priv = dev_get_drvdata(d); 2272 2272 2273 2273 return sprintf(buf, "0x%08X\n", priv->debug_level); 2274 2274 } ··· 2276 2276 struct device_attribute *attr, 2277 2277 const char *buf, size_t count) 2278 2278 { 2279 - struct iwl_priv *priv = d->driver_data; 2279 + struct iwl_priv *priv = dev_get_drvdata(d); 2280 2280 unsigned long val; 2281 2281 int ret; 2282 2282 ··· 2299 2299 static ssize_t show_version(struct device *d, 2300 2300 struct device_attribute *attr, char *buf) 2301 2301 { 2302 - struct iwl_priv *priv = d->driver_data; 2302 + struct iwl_priv *priv = dev_get_drvdata(d); 2303 2303 struct iwl_alive_resp *palive = &priv->card_alive; 2304 2304 ssize_t pos = 0; 2305 2305 u16 eeprom_ver; ··· 2330 2330 static ssize_t show_temperature(struct device *d, 2331 2331 struct device_attribute *attr, char *buf) 2332 2332 { 2333 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2333 + struct iwl_priv *priv = dev_get_drvdata(d); 2334 2334 2335 2335 if (!iwl_is_alive(priv)) 2336 2336 return -EAGAIN; ··· 2343 2343 static ssize_t show_tx_power(struct device *d, 2344 2344 struct device_attribute *attr, char *buf) 2345 2345 { 2346 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2346 + struct iwl_priv *priv = dev_get_drvdata(d); 2347 2347 2348 2348 if (!iwl_is_ready_rf(priv)) 2349 2349 return sprintf(buf, "off\n"); ··· 2355 2355 struct device_attribute *attr, 2356 2356 const char *buf, size_t count) 2357 2357 { 2358 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2358 + struct iwl_priv *priv = dev_get_drvdata(d); 2359 2359 unsigned long val; 2360 2360 int ret; 2361 2361 ··· 2373 2373 static ssize_t show_flags(struct device *d, 2374 2374 struct device_attribute *attr, char *buf) 2375 2375 { 2376 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2376 + struct iwl_priv *priv = dev_get_drvdata(d); 2377 2377 2378 2378 return sprintf(buf, "0x%04X\n", priv->active_rxon.flags); 2379 2379 } ··· 2382 2382 struct device_attribute *attr, 2383 2383 const char *buf, size_t count) 2384 2384 { 2385 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2385 + struct iwl_priv *priv = dev_get_drvdata(d); 2386 2386 unsigned long val; 2387 2387 u32 flags; 2388 2388 int ret = strict_strtoul(buf, 0, &val); ··· 2411 2411 static ssize_t show_filter_flags(struct device *d, 2412 2412 struct device_attribute *attr, char *buf) 2413 2413 { 2414 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2414 + struct iwl_priv *priv = dev_get_drvdata(d); 2415 2415 2416 2416 return sprintf(buf, "0x%04X\n", 2417 2417 le32_to_cpu(priv->active_rxon.filter_flags)); ··· 2421 2421 struct device_attribute *attr, 2422 2422 const char *buf, size_t count) 2423 2423 { 2424 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 2424 + struct iwl_priv *priv = dev_get_drvdata(d); 2425 2425 unsigned long val; 2426 2426 u32 filter_flags; 2427 2427 int ret = strict_strtoul(buf, 0, &val);
+14 -12
drivers/net/wireless/iwlwifi/iwl3945-base.c
··· 3595 3595 static ssize_t show_debug_level(struct device *d, 3596 3596 struct device_attribute *attr, char *buf) 3597 3597 { 3598 - struct iwl_priv *priv = d->driver_data; 3598 + struct iwl_priv *priv = dev_get_drvdata(d); 3599 3599 3600 3600 return sprintf(buf, "0x%08X\n", priv->debug_level); 3601 3601 } ··· 3603 3603 struct device_attribute *attr, 3604 3604 const char *buf, size_t count) 3605 3605 { 3606 - struct iwl_priv *priv = d->driver_data; 3606 + struct iwl_priv *priv = dev_get_drvdata(d); 3607 3607 unsigned long val; 3608 3608 int ret; 3609 3609 ··· 3624 3624 static ssize_t show_temperature(struct device *d, 3625 3625 struct device_attribute *attr, char *buf) 3626 3626 { 3627 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3627 + struct iwl_priv *priv = dev_get_drvdata(d); 3628 3628 3629 3629 if (!iwl_is_alive(priv)) 3630 3630 return -EAGAIN; ··· 3637 3637 static ssize_t show_tx_power(struct device *d, 3638 3638 struct device_attribute *attr, char *buf) 3639 3639 { 3640 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3640 + struct iwl_priv *priv = dev_get_drvdata(d); 3641 3641 return sprintf(buf, "%d\n", priv->tx_power_user_lmt); 3642 3642 } 3643 3643 ··· 3645 3645 struct device_attribute *attr, 3646 3646 const char *buf, size_t count) 3647 3647 { 3648 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3648 + struct iwl_priv *priv = dev_get_drvdata(d); 3649 3649 char *p = (char *)buf; 3650 3650 u32 val; 3651 3651 ··· 3663 3663 static ssize_t show_flags(struct device *d, 3664 3664 struct device_attribute *attr, char *buf) 3665 3665 { 3666 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3666 + struct iwl_priv *priv = dev_get_drvdata(d); 3667 3667 3668 3668 return sprintf(buf, "0x%04X\n", priv->active_rxon.flags); 3669 3669 } ··· 3672 3672 struct device_attribute *attr, 3673 3673 const char *buf, size_t count) 3674 3674 { 3675 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3675 + struct iwl_priv *priv = dev_get_drvdata(d); 3676 3676 u32 flags = simple_strtoul(buf, NULL, 0); 3677 3677 3678 3678 mutex_lock(&priv->mutex); ··· 3697 3697 static ssize_t show_filter_flags(struct device *d, 3698 3698 struct device_attribute *attr, char *buf) 3699 3699 { 3700 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3700 + struct iwl_priv *priv = dev_get_drvdata(d); 3701 3701 3702 3702 return sprintf(buf, "0x%04X\n", 3703 3703 le32_to_cpu(priv->active_rxon.filter_flags)); ··· 3707 3707 struct device_attribute *attr, 3708 3708 const char *buf, size_t count) 3709 3709 { 3710 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3710 + struct iwl_priv *priv = dev_get_drvdata(d); 3711 3711 u32 filter_flags = simple_strtoul(buf, NULL, 0); 3712 3712 3713 3713 mutex_lock(&priv->mutex); ··· 3992 3992 static ssize_t show_status(struct device *d, 3993 3993 struct device_attribute *attr, char *buf) 3994 3994 { 3995 - struct iwl_priv *priv = (struct iwl_priv *)d->driver_data; 3995 + struct iwl_priv *priv = dev_get_drvdata(d); 3996 3996 if (!iwl_is_alive(priv)) 3997 3997 return -EAGAIN; 3998 3998 return sprintf(buf, "0x%08x\n", (int)priv->status); ··· 4004 4004 struct device_attribute *attr, 4005 4005 const char *buf, size_t count) 4006 4006 { 4007 + struct iwl_priv *priv = dev_get_drvdata(d); 4007 4008 char *p = (char *)buf; 4008 4009 4009 4010 if (p[0] == '1') 4010 - iwl3945_dump_nic_error_log((struct iwl_priv *)d->driver_data); 4011 + iwl3945_dump_nic_error_log(priv); 4011 4012 4012 4013 return strnlen(buf, count); 4013 4014 } ··· 4019 4018 struct device_attribute *attr, 4020 4019 const char *buf, size_t count) 4021 4020 { 4021 + struct iwl_priv *priv = dev_get_drvdata(d); 4022 4022 char *p = (char *)buf; 4023 4023 4024 4024 if (p[0] == '1') 4025 - iwl3945_dump_nic_event_log((struct iwl_priv *)d->driver_data); 4025 + iwl3945_dump_nic_event_log(priv); 4026 4026 4027 4027 return strnlen(buf, count); 4028 4028 }