Re: [PATCH 4/4] i2o: Use pci_bus_alloc_resource(), not allocate_resource() directly

From: Bjorn Helgaas
Date: Wed Feb 26 2014 - 18:48:27 EST


On Wed, Feb 26, 2014 at 3:48 PM, One Thousand Gnomes
<gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, 26 Feb 2014 12:09:27 -0700
> Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>
>> Convert i2o_res_alloc() to use pci_bus_alloc_resource() rather than
>> pci_find_parent_resource() and allocate_resource(). We don't have a
>> resource to start with, so pci_find_parent_resource() can't do anything
>> useful: a bus may have several memory resources available, so there might
>> be several possible parents. This is more likely on root buses because
>> host bridges may have any number of apertures.
>>
>> I'm pretty sure this didn't work in the first place because it passed
>> size == min == max to allocate_resource(). The min and max parameters are
>> constraints on the *addresses* of the resource, not on its size, so I think
>> it was impossible for allocate_resource() to succeed.
>
> I don't think many i2o controllers ever used that path, and I doubt any
> in normal use did as the vision of offloading for devices on the host bus
> basically never happened (it happened even less than i2o)
>
> A rather more sensible question might be "If i2o went away is there
> anyone who would even notice". About the only devices that ever used i2o
> in the real world (AMI MegaRAID and some FC stuff) had native firmware or
> modes that worked better anyway.

I don't know anything about i2o, so I have no idea whether it could be
completely removed. I just want to remove its usage of
pci_find_parent_resource() so I can change the semantics of that a bit
(see [1]).

Bjorn

[1] https://lkml.kernel.org/r/20140226193723.10125.15799.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/