Arnd Bergmann åé:Hi Arnd,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