diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-30 17:43:31 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-16 00:30:26 -0400 |
commit | bab030595a4f84c679fe26e05263e3dc9f560391 (patch) | |
tree | 0a49f3a38b7798eaf79a10b76df718023f5da066 /drivers | |
parent | fcb5207723919ad85178420633d55efea80b652d (diff) |
ieee1394: 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: linux1394-devel@lists.sourceforge.net
Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Ben Collins <ben.collins@ubuntu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ieee1394/eth1394.c | 16 | ||||
-rw-r--r-- | drivers/ieee1394/sbp2.c | 8 |
2 files changed, 11 insertions, 13 deletions
diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c index 4ca103577c0a..f5c586c2bba6 100644 --- a/drivers/ieee1394/eth1394.c +++ b/drivers/ieee1394/eth1394.c | |||
@@ -361,7 +361,7 @@ static int eth1394_new_node(struct eth1394_host_info *hi, | |||
361 | node_info->pdg.sz = 0; | 361 | node_info->pdg.sz = 0; |
362 | node_info->fifo = CSR1212_INVALID_ADDR_SPACE; | 362 | node_info->fifo = CSR1212_INVALID_ADDR_SPACE; |
363 | 363 | ||
364 | ud->device.driver_data = node_info; | 364 | dev_set_drvdata(&ud->device, node_info); |
365 | new_node->ud = ud; | 365 | new_node->ud = ud; |
366 | 366 | ||
367 | priv = netdev_priv(hi->dev); | 367 | priv = netdev_priv(hi->dev); |
@@ -406,7 +406,7 @@ static int eth1394_remove(struct device *dev) | |||
406 | list_del(&old_node->list); | 406 | list_del(&old_node->list); |
407 | kfree(old_node); | 407 | kfree(old_node); |
408 | 408 | ||
409 | node_info = (struct eth1394_node_info*)ud->device.driver_data; | 409 | node_info = dev_get_drvdata(&ud->device); |
410 | 410 | ||
411 | spin_lock_irqsave(&node_info->pdg.lock, flags); | 411 | spin_lock_irqsave(&node_info->pdg.lock, flags); |
412 | /* The partial datagram list should be empty, but we'll just | 412 | /* The partial datagram list should be empty, but we'll just |
@@ -416,7 +416,7 @@ static int eth1394_remove(struct device *dev) | |||
416 | spin_unlock_irqrestore(&node_info->pdg.lock, flags); | 416 | spin_unlock_irqrestore(&node_info->pdg.lock, flags); |
417 | 417 | ||
418 | kfree(node_info); | 418 | kfree(node_info); |
419 | ud->device.driver_data = NULL; | 419 | dev_set_drvdata(&ud->device, NULL); |
420 | return 0; | 420 | return 0; |
421 | } | 421 | } |
422 | 422 | ||
@@ -688,7 +688,7 @@ static void ether1394_host_reset(struct hpsb_host *host) | |||
688 | ether1394_reset_priv(dev, 0); | 688 | ether1394_reset_priv(dev, 0); |
689 | 689 | ||
690 | list_for_each_entry(node, &priv->ip_node_list, list) { | 690 | list_for_each_entry(node, &priv->ip_node_list, list) { |
691 | node_info = node->ud->device.driver_data; | 691 | node_info = dev_get_drvdata(&node->ud->device); |
692 | 692 | ||
693 | spin_lock_irqsave(&node_info->pdg.lock, flags); | 693 | spin_lock_irqsave(&node_info->pdg.lock, flags); |
694 | 694 | ||
@@ -872,8 +872,7 @@ static __be16 ether1394_parse_encap(struct sk_buff *skb, struct net_device *dev, | |||
872 | if (!node) | 872 | if (!node) |
873 | return cpu_to_be16(0); | 873 | return cpu_to_be16(0); |
874 | 874 | ||
875 | node_info = | 875 | node_info = dev_get_drvdata(&node->ud->device); |
876 | (struct eth1394_node_info *)node->ud->device.driver_data; | ||
877 | 876 | ||
878 | /* Update our speed/payload/fifo_offset table */ | 877 | /* Update our speed/payload/fifo_offset table */ |
879 | node_info->maxpayload = maxpayload; | 878 | node_info->maxpayload = maxpayload; |
@@ -1080,7 +1079,7 @@ static int ether1394_data_handler(struct net_device *dev, int srcid, int destid, | |||
1080 | priv->ud_list[NODEID_TO_NODE(srcid)] = ud; | 1079 | priv->ud_list[NODEID_TO_NODE(srcid)] = ud; |
1081 | } | 1080 | } |
1082 | 1081 | ||
1083 | node_info = (struct eth1394_node_info *)ud->device.driver_data; | 1082 | node_info = dev_get_drvdata(&ud->device); |
1084 | 1083 | ||
1085 | /* First, did we receive a fragmented or unfragmented datagram? */ | 1084 | /* First, did we receive a fragmented or unfragmented datagram? */ |
1086 | hdr->words.word1 = ntohs(hdr->words.word1); | 1085 | hdr->words.word1 = ntohs(hdr->words.word1); |
@@ -1617,8 +1616,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) | |||
1617 | if (!node) | 1616 | if (!node) |
1618 | goto fail; | 1617 | goto fail; |
1619 | 1618 | ||
1620 | node_info = | 1619 | node_info = dev_get_drvdata(&node->ud->device); |
1621 | (struct eth1394_node_info *)node->ud->device.driver_data; | ||
1622 | if (node_info->fifo == CSR1212_INVALID_ADDR_SPACE) | 1620 | if (node_info->fifo == CSR1212_INVALID_ADDR_SPACE) |
1623 | goto fail; | 1621 | goto fail; |
1624 | 1622 | ||
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c index a51ab233342d..83b734aec923 100644 --- a/drivers/ieee1394/sbp2.c +++ b/drivers/ieee1394/sbp2.c | |||
@@ -718,7 +718,7 @@ static int sbp2_remove(struct device *dev) | |||
718 | struct scsi_device *sdev; | 718 | struct scsi_device *sdev; |
719 | 719 | ||
720 | ud = container_of(dev, struct unit_directory, device); | 720 | ud = container_of(dev, struct unit_directory, device); |
721 | lu = ud->device.driver_data; | 721 | lu = dev_get_drvdata(&ud->device); |
722 | if (!lu) | 722 | if (!lu) |
723 | return 0; | 723 | return 0; |
724 | 724 | ||
@@ -746,7 +746,7 @@ static int sbp2_remove(struct device *dev) | |||
746 | 746 | ||
747 | static int sbp2_update(struct unit_directory *ud) | 747 | static int sbp2_update(struct unit_directory *ud) |
748 | { | 748 | { |
749 | struct sbp2_lu *lu = ud->device.driver_data; | 749 | struct sbp2_lu *lu = dev_get_drvdata(&ud->device); |
750 | 750 | ||
751 | if (sbp2_reconnect_device(lu) != 0) { | 751 | if (sbp2_reconnect_device(lu) != 0) { |
752 | /* | 752 | /* |
@@ -815,7 +815,7 @@ static struct sbp2_lu *sbp2_alloc_device(struct unit_directory *ud) | |||
815 | atomic_set(&lu->state, SBP2LU_STATE_RUNNING); | 815 | atomic_set(&lu->state, SBP2LU_STATE_RUNNING); |
816 | INIT_WORK(&lu->protocol_work, NULL); | 816 | INIT_WORK(&lu->protocol_work, NULL); |
817 | 817 | ||
818 | ud->device.driver_data = lu; | 818 | dev_set_drvdata(&ud->device, lu); |
819 | 819 | ||
820 | hi = hpsb_get_hostinfo(&sbp2_highlevel, ud->ne->host); | 820 | hi = hpsb_get_hostinfo(&sbp2_highlevel, ud->ne->host); |
821 | if (!hi) { | 821 | if (!hi) { |
@@ -1051,7 +1051,7 @@ static void sbp2_remove_device(struct sbp2_lu *lu) | |||
1051 | hpsb_unregister_addrspace(&sbp2_highlevel, hi->host, | 1051 | hpsb_unregister_addrspace(&sbp2_highlevel, hi->host, |
1052 | lu->status_fifo_addr); | 1052 | lu->status_fifo_addr); |
1053 | 1053 | ||
1054 | lu->ud->device.driver_data = NULL; | 1054 | dev_set_drvdata(&lu->ud->device, NULL); |
1055 | 1055 | ||
1056 | module_put(hi->host->driver->owner); | 1056 | module_put(hi->host->driver->owner); |
1057 | no_hi: | 1057 | no_hi: |