Subject: Re: [v0 PATCH 5/5] EDAC: CPC925 MC platform device setup

From: Harry Ciao <[email-masked]>
Date: Fri, 03 Apr 2009 11:17:14 +0800

Arnd Bergmann 写道:
> On Thursday 02 April 2009, Harry Ciao wrote:
>   
>> +#ifdef CONFIG_EDAC
>> +#define CPC925_MC_START                0xf8000000
>> +#define CPC925_MC_END          0xf8ffffff /* sizeof 16MB */
>> +/* Register a platform device for CPC925 memory controller */
>> +static int __init maple_cpc925_edac_setup(void)
>>     
>
> It's not good to have these encoded as magic numbers.
> Can't you find the addresses in the device tree? Maybe it's
> even possible to make this an of_platform_driver if you
> find a good node to bind to.
>
> Does the driver also work on a G5 Mac, or is it limited
> to the maple platform?
>
> 	Arnd <><
>
>  
Hi Arnd,

I did try to get resource information from its DTB node first, the 
"hostbridge" node do can be found successfully, however, unfortunately, 
as I put in the notes in that function, the #address-cells and 
#size-cells specified by its parent node are both 2, but the cell number 
used in its "reg" property is actually 1, as

reg = <0xf8000000 0x1000000>;

which will make of_address_to_resource() failed with -EINVAL; that's why 
I have to set it up from scratch manually.

Cheers,

Harry