Hi Kim,

On 17.09.2010 03:54, Kim Phillips wrote:
>> +#if defined(CONFIG_SYS_PCIE2_CFG_BASE)&&  defined(CONFIG_SYS_PCIE2_SIZE)
>>   #define PCIE_MAX_BUSES 2
>> +#else
>> +#define PCIE_MAX_BUSES 1
>> +#endif
>>      
> Technically this should be an indirect function of MPC8308, but what's
> the problem with leaving MAX_BUSES as 2 always?
>    

Well, we can save a couple of bytes but I agree it doesn't worth it. 
I'll remove the ifdef here.

>> +    unsigned int *cfg_addr;
>> +
>> +    if (bus == 0) {
>> +            cfg_addr = (unsigned int *)CONFIG_SYS_PCIE1_CFG_BASE;
>> +    } else {
>> +#if defined(CONFIG_SYS_PCIE2_CFG_BASE)&&  defined(CONFIG_SYS_PCIE2_SIZE)
>> +            cfg_addr = (unsigned int *)CONFIG_SYS_PCIE2_CFG_BASE;
>> +#else
>> +            printf("Second PCIE host controller not configured!\n");
>> +            return;
>> +#endif
>>      
> let's reduce the new ifdefs introduced in the file down to one, and
> still be able remove the 'if (bus)' clauses by adding a static pcie cfg
> struct array[], to which this and code below it would directly
> dereference with array[bus].  The single ifdef should protect the
> second entry in the array.  The "second PCIE host controller not
> configured" check can be made by comparing num_buses with ARRAY_SIZE
> (array) in mpc83xx_pcie_init prior to calling mpc83xx_pcie_init_bus
> with an illegal bus value.
>    

Yes, this sounds like much cleaner code. I'll post the updated patches 
in the short while.

Regards, Ilya.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to