aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2009-04-30 17:43:31 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-06-16 00:30:26 -0400
commitbab030595a4f84c679fe26e05263e3dc9f560391 (patch)
tree0a49f3a38b7798eaf79a10b76df718023f5da066
parentfcb5207723919ad85178420633d55efea80b652d (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>
-rw-r--r--drivers/ieee1394/eth1394.c16
-rw-r--r--drivers/ieee1394/sbp2.c8
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
747static int sbp2_update(struct unit_directory *ud) 747static 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);
1057no_hi: 1057no_hi: