diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2007-09-26 05:45:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-10-17 08:30:08 -0400 |
commit | 6b08f3ae8eec27a9e557468a48540bc64fd4a524 (patch) | |
tree | 0739be87e3262ddef0535949186670f4ae5eb850 /drivers/infiniband | |
parent | 55347cc9962fbf2048a3cf78e92c3f52035ac524 (diff) |
[POWERPC] ibmebus: Move to of_device and of_platform_driver, match eHCA and eHEA drivers
Replace struct ibmebus_dev and struct ibmebus_driver with struct of_device
and struct of_platform_driver, respectively. Match the external ibmebus
interface and drivers using it.
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_classes.h | 2 | ||||
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_eq.c | 6 | ||||
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_main.c | 32 |
3 files changed, 20 insertions, 20 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_classes.h b/drivers/infiniband/hw/ehca/ehca_classes.h index 0f7a55d35ea7..3f2d68cff764 100644 --- a/drivers/infiniband/hw/ehca/ehca_classes.h +++ b/drivers/infiniband/hw/ehca/ehca_classes.h | |||
@@ -107,7 +107,7 @@ struct ehca_sport { | |||
107 | 107 | ||
108 | struct ehca_shca { | 108 | struct ehca_shca { |
109 | struct ib_device ib_device; | 109 | struct ib_device ib_device; |
110 | struct ibmebus_dev *ibmebus_dev; | 110 | struct of_device *ofdev; |
111 | u8 num_ports; | 111 | u8 num_ports; |
112 | int hw_level; | 112 | int hw_level; |
113 | struct list_head shca_list; | 113 | struct list_head shca_list; |
diff --git a/drivers/infiniband/hw/ehca/ehca_eq.c b/drivers/infiniband/hw/ehca/ehca_eq.c index 1d41faa7a337..b4ac617a70e6 100644 --- a/drivers/infiniband/hw/ehca/ehca_eq.c +++ b/drivers/infiniband/hw/ehca/ehca_eq.c | |||
@@ -123,7 +123,7 @@ int ehca_create_eq(struct ehca_shca *shca, | |||
123 | 123 | ||
124 | /* register interrupt handlers and initialize work queues */ | 124 | /* register interrupt handlers and initialize work queues */ |
125 | if (type == EHCA_EQ) { | 125 | if (type == EHCA_EQ) { |
126 | ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_eq, | 126 | ret = ibmebus_request_irq(eq->ist, ehca_interrupt_eq, |
127 | IRQF_DISABLED, "ehca_eq", | 127 | IRQF_DISABLED, "ehca_eq", |
128 | (void *)shca); | 128 | (void *)shca); |
129 | if (ret < 0) | 129 | if (ret < 0) |
@@ -131,7 +131,7 @@ int ehca_create_eq(struct ehca_shca *shca, | |||
131 | 131 | ||
132 | tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca); | 132 | tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca); |
133 | } else if (type == EHCA_NEQ) { | 133 | } else if (type == EHCA_NEQ) { |
134 | ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_neq, | 134 | ret = ibmebus_request_irq(eq->ist, ehca_interrupt_neq, |
135 | IRQF_DISABLED, "ehca_neq", | 135 | IRQF_DISABLED, "ehca_neq", |
136 | (void *)shca); | 136 | (void *)shca); |
137 | if (ret < 0) | 137 | if (ret < 0) |
@@ -171,7 +171,7 @@ int ehca_destroy_eq(struct ehca_shca *shca, struct ehca_eq *eq) | |||
171 | u64 h_ret; | 171 | u64 h_ret; |
172 | 172 | ||
173 | spin_lock_irqsave(&eq->spinlock, flags); | 173 | spin_lock_irqsave(&eq->spinlock, flags); |
174 | ibmebus_free_irq(NULL, eq->ist, (void *)shca); | 174 | ibmebus_free_irq(eq->ist, (void *)shca); |
175 | 175 | ||
176 | h_ret = hipz_h_destroy_eq(shca->ipz_hca_handle, eq); | 176 | h_ret = hipz_h_destroy_eq(shca->ipz_hca_handle, eq); |
177 | 177 | ||
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c index 403467f66fe6..a3409fdb307c 100644 --- a/drivers/infiniband/hw/ehca/ehca_main.c +++ b/drivers/infiniband/hw/ehca/ehca_main.c | |||
@@ -404,7 +404,7 @@ int ehca_init_device(struct ehca_shca *shca) | |||
404 | shca->ib_device.node_type = RDMA_NODE_IB_CA; | 404 | shca->ib_device.node_type = RDMA_NODE_IB_CA; |
405 | shca->ib_device.phys_port_cnt = shca->num_ports; | 405 | shca->ib_device.phys_port_cnt = shca->num_ports; |
406 | shca->ib_device.num_comp_vectors = 1; | 406 | shca->ib_device.num_comp_vectors = 1; |
407 | shca->ib_device.dma_device = &shca->ibmebus_dev->ofdev.dev; | 407 | shca->ib_device.dma_device = &shca->ofdev->dev; |
408 | shca->ib_device.query_device = ehca_query_device; | 408 | shca->ib_device.query_device = ehca_query_device; |
409 | shca->ib_device.query_port = ehca_query_port; | 409 | shca->ib_device.query_port = ehca_query_port; |
410 | shca->ib_device.query_gid = ehca_query_gid; | 410 | shca->ib_device.query_gid = ehca_query_gid; |
@@ -658,7 +658,7 @@ static struct attribute_group ehca_dev_attr_grp = { | |||
658 | .attrs = ehca_dev_attrs | 658 | .attrs = ehca_dev_attrs |
659 | }; | 659 | }; |
660 | 660 | ||
661 | static int __devinit ehca_probe(struct ibmebus_dev *dev, | 661 | static int __devinit ehca_probe(struct of_device *dev, |
662 | const struct of_device_id *id) | 662 | const struct of_device_id *id) |
663 | { | 663 | { |
664 | struct ehca_shca *shca; | 664 | struct ehca_shca *shca; |
@@ -666,16 +666,16 @@ static int __devinit ehca_probe(struct ibmebus_dev *dev, | |||
666 | struct ib_pd *ibpd; | 666 | struct ib_pd *ibpd; |
667 | int ret; | 667 | int ret; |
668 | 668 | ||
669 | handle = of_get_property(dev->ofdev.node, "ibm,hca-handle", NULL); | 669 | handle = of_get_property(dev->node, "ibm,hca-handle", NULL); |
670 | if (!handle) { | 670 | if (!handle) { |
671 | ehca_gen_err("Cannot get eHCA handle for adapter: %s.", | 671 | ehca_gen_err("Cannot get eHCA handle for adapter: %s.", |
672 | dev->ofdev.node->full_name); | 672 | dev->node->full_name); |
673 | return -ENODEV; | 673 | return -ENODEV; |
674 | } | 674 | } |
675 | 675 | ||
676 | if (!(*handle)) { | 676 | if (!(*handle)) { |
677 | ehca_gen_err("Wrong eHCA handle for adapter: %s.", | 677 | ehca_gen_err("Wrong eHCA handle for adapter: %s.", |
678 | dev->ofdev.node->full_name); | 678 | dev->node->full_name); |
679 | return -ENODEV; | 679 | return -ENODEV; |
680 | } | 680 | } |
681 | 681 | ||
@@ -686,9 +686,9 @@ static int __devinit ehca_probe(struct ibmebus_dev *dev, | |||
686 | } | 686 | } |
687 | mutex_init(&shca->modify_mutex); | 687 | mutex_init(&shca->modify_mutex); |
688 | 688 | ||
689 | shca->ibmebus_dev = dev; | 689 | shca->ofdev = dev; |
690 | shca->ipz_hca_handle.handle = *handle; | 690 | shca->ipz_hca_handle.handle = *handle; |
691 | dev->ofdev.dev.driver_data = shca; | 691 | dev->dev.driver_data = shca; |
692 | 692 | ||
693 | ret = ehca_sense_attributes(shca); | 693 | ret = ehca_sense_attributes(shca); |
694 | if (ret < 0) { | 694 | if (ret < 0) { |
@@ -764,7 +764,7 @@ static int __devinit ehca_probe(struct ibmebus_dev *dev, | |||
764 | } | 764 | } |
765 | } | 765 | } |
766 | 766 | ||
767 | ret = sysfs_create_group(&dev->ofdev.dev.kobj, &ehca_dev_attr_grp); | 767 | ret = sysfs_create_group(&dev->dev.kobj, &ehca_dev_attr_grp); |
768 | if (ret) /* only complain; we can live without attributes */ | 768 | if (ret) /* only complain; we can live without attributes */ |
769 | ehca_err(&shca->ib_device, | 769 | ehca_err(&shca->ib_device, |
770 | "Cannot create device attributes ret=%d", ret); | 770 | "Cannot create device attributes ret=%d", ret); |
@@ -814,12 +814,12 @@ probe1: | |||
814 | return -EINVAL; | 814 | return -EINVAL; |
815 | } | 815 | } |
816 | 816 | ||
817 | static int __devexit ehca_remove(struct ibmebus_dev *dev) | 817 | static int __devexit ehca_remove(struct of_device *dev) |
818 | { | 818 | { |
819 | struct ehca_shca *shca = dev->ofdev.dev.driver_data; | 819 | struct ehca_shca *shca = dev->dev.driver_data; |
820 | int ret; | 820 | int ret; |
821 | 821 | ||
822 | sysfs_remove_group(&dev->ofdev.dev.kobj, &ehca_dev_attr_grp); | 822 | sysfs_remove_group(&dev->dev.kobj, &ehca_dev_attr_grp); |
823 | 823 | ||
824 | if (ehca_open_aqp1 == 1) { | 824 | if (ehca_open_aqp1 == 1) { |
825 | int i; | 825 | int i; |
@@ -870,11 +870,11 @@ static struct of_device_id ehca_device_table[] = | |||
870 | {}, | 870 | {}, |
871 | }; | 871 | }; |
872 | 872 | ||
873 | static struct ibmebus_driver ehca_driver = { | 873 | static struct of_platform_driver ehca_driver = { |
874 | .name = "ehca", | 874 | .name = "ehca", |
875 | .id_table = ehca_device_table, | 875 | .match_table = ehca_device_table, |
876 | .probe = ehca_probe, | 876 | .probe = ehca_probe, |
877 | .remove = ehca_remove, | 877 | .remove = ehca_remove, |
878 | }; | 878 | }; |
879 | 879 | ||
880 | void ehca_poll_eqs(unsigned long data) | 880 | void ehca_poll_eqs(unsigned long data) |