diff options
-rw-r--r-- | drivers/message/i2o/iop.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/message/i2o/iop.c b/drivers/message/i2o/iop.c index bd971b1b88e3..92752fb5b2d3 100644 --- a/drivers/message/i2o/iop.c +++ b/drivers/message/i2o/iop.c | |||
@@ -655,8 +655,8 @@ static int i2o_iop_activate(struct i2o_controller *c) | |||
655 | static void i2o_res_alloc(struct i2o_controller *c, unsigned long flags) | 655 | static void i2o_res_alloc(struct i2o_controller *c, unsigned long flags) |
656 | { | 656 | { |
657 | i2o_status_block *sb = c->status_block.virt; | 657 | i2o_status_block *sb = c->status_block.virt; |
658 | struct resource *root, *res = &c->mem_resource; | 658 | struct resource *res = &c->mem_resource; |
659 | resource_size_t size, min, max, align; | 659 | resource_size_t size, align; |
660 | int err; | 660 | int err; |
661 | 661 | ||
662 | res->name = c->pdev->bus->name; | 662 | res->name = c->pdev->bus->name; |
@@ -664,21 +664,17 @@ static void i2o_res_alloc(struct i2o_controller *c, unsigned long flags) | |||
664 | res->start = 0; | 664 | res->start = 0; |
665 | res->end = 0; | 665 | res->end = 0; |
666 | osm_info("%s: requires private memory resources.\n", c->name); | 666 | osm_info("%s: requires private memory resources.\n", c->name); |
667 | root = pci_find_parent_resource(c->pdev, res); | ||
668 | if (root == NULL) { | ||
669 | osm_warn("%s: Can't find parent resource!\n", c->name); | ||
670 | return; | ||
671 | } | ||
672 | 667 | ||
673 | if (flags & IORESOURCE_MEM) { | 668 | if (flags & IORESOURCE_MEM) { |
674 | size = min = max = sb->desired_mem_size; | 669 | size = sb->desired_mem_size; |
675 | align = 1 << 20; /* unspecified, use 1Mb and play safe */ | 670 | align = 1 << 20; /* unspecified, use 1Mb and play safe */ |
676 | } else { | 671 | } else { |
677 | size = min = max = sb->desired_io_size; | 672 | size = sb->desired_io_size; |
678 | align = 1 << 12; /* unspecified, use 4Kb and play safe */ | 673 | align = 1 << 12; /* unspecified, use 4Kb and play safe */ |
679 | } | 674 | } |
680 | 675 | ||
681 | err = allocate_resource(root, res, size, min, max, align, NULL, NULL); | 676 | err = pci_bus_alloc_resource(c->pdev->bus, res, size, align, 0, 0, |
677 | NULL, NULL); | ||
682 | if (err < 0) | 678 | if (err < 0) |
683 | return; | 679 | return; |
684 | 680 | ||