Re: [PATCH 2/9] PCI: mvebu: increment nports only for registered ports

Sebastian Hesselbarth
2013-08-13T09:24:06Z

On 08/13/13 09:15, Thomas Petazzoni wrote:
> Dear Sebastian Hesselbarth,
>
> On Mon, 12 Aug 2013 20:46:48 +0200, Sebastian Hesselbarth wrote:
>
>> diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
>> index d5fe674..0a359d7 100644
>> --- a/drivers/pci/host/pci-mvebu.c
>> +++ b/drivers/pci/host/pci-mvebu.c
>> @@ -842,21 +842,21 @@ static int __init mvebu_pcie_probe(struct platform_device *pdev)
>> return ret;
>> }
>>
>> + i = 0;
>> for_each_child_of_node(pdev->dev.of_node, child) {
>> if (!of_device_is_available(child))
>> continue;
>> - pcie->nports++;
>> + i++;
>> }
>>
>> - pcie->ports = devm_kzalloc(&pdev->dev, pcie->nports *
>> + pcie->ports = devm_kzalloc(&pdev->dev, i *
>> sizeof(struct mvebu_pcie_port),
>> GFP_KERNEL);
>> if (!pcie->ports)
>> return -ENOMEM;
>>
>> - i = 0;
>> for_each_child_of_node(pdev->dev.of_node, child) {
>> - struct mvebu_pcie_port *port = &pcie->ports[i];
>> + struct mvebu_pcie_port *port = &pcie->ports[pcie->nports];
>>
>> if (!of_device_is_available(child))
>> continue;
>> @@ -929,7 +929,7 @@ static int __init mvebu_pcie_probe(struct platform_device *pdev)
>> port->dn = child;
>> spin_lock_init(&port->conf_lock);
>> mvebu_sw_pci_bridge_init(port);
>> - i++;
>> + pcie->nports++;
>> }
>
> I think I'd prefer using 'i' in this loop, and then after the loop have
> a:
>
> pcie->nports = i;
>
> assignment. That's nitpicking, but I don't like the fact that within
> the loop 'pcie->nports' doesn't mean "Number of enabled PCIe ports",
> but means "Last enabled PCIe port".

Ok, I'll use 'i' in both loops and assign it like you suggested.

Sebastian