Re: [PATCH -v11 05/30] PCI: Add busn_res operation functions
From: Yinghai Lu
Date: Tue May 01 2012 - 03:19:30 EST
On Mon, Apr 30, 2012 at 5:34 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> On Mon, Apr 30, 2012 at 4:29 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> On Sun, Mar 18, 2012 at 11:42 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>>> +void pci_bus_update_busn_res_end(struct pci_bus *b, int bus_max)
>>> +{
>>> + struct resource *res = &b->busn_res;
>>> + struct resource old_res = *res;
>>> +
>>> + res->end = bus_max;
>>
>> I've mentioned before that I'm not comfortable with updating the
>> struct resource after it's been inserted into the tree. If you want
>> to do an in-place update, I think you need to add a new interface in
>> kernel/resource.c so it can make sure the resource tree remains
>> consistent.
>
> ok, will add one function in kernel/resource.c to make sure that end
> could be updated safely
> by checking parent and children.
Rebased busn_alloc branch and added attached patch into that.
as for removing bus->subordinate and bus->secondary, like to do that later.
Thanks
Yinghai
Attachment:
resource_update.patch
Description: Binary data