Publish the devices listed in dts under SOC as of_device just like what mpc85xx_mds platforms do. The 85xx cds and ads platforms currently do not export the devices in dts as of_device.
I need the memory controller, L2 cache-controller, and the PCI controller published as of_device so the mpc85xx EDAC driver can claim them for usage. Signed-off-by: Dave Jiang <[EMAIL PROTECTED]> --- Same as the earlier posted patch. Reposting to keep patch numbers consistent since there are 3 patches in the series now. arch/powerpc/platforms/85xx/mpc85xx_ads.c | 19 +++++++++++++++++++ arch/powerpc/platforms/85xx/mpc85xx_cds.c | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ads.c b/arch/powerpc/platforms/85xx/mpc85xx_ads.c index 40a8286..599d7f7 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c @@ -18,6 +18,8 @@ #include <linux/delay.h> #include <linux/seq_file.h> +#include <asm/of_device.h> +#include <asm/of_platform.h> #include <asm/system.h> #include <asm/time.h> #include <asm/machdep.h> @@ -254,6 +256,23 @@ static int __init mpc85xx_ads_probe(void) return of_flat_dt_is_compatible(root, "MPC85xxADS"); } +static struct of_device_id mpc85xx_ids[] = { + { .type = "soc", }, + { .compatible = "soc", }, + {}, +}; + +static int __init mpc85xx_publish_devices(void) +{ + if (!machine_is(mpc85xx_ads)) + return 0; + + of_platform_bus_probe(NULL, mpc85xx_ids, NULL); + + return 0; +} +device_initcall(mpc85xx_publish_devices); + define_machine(mpc85xx_ads) { .name = "MPC85xx ADS", .probe = mpc85xx_ads_probe, diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c index 6a171e9..5294884 100644 --- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c +++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c @@ -27,6 +27,8 @@ #include <linux/interrupt.h> #include <linux/fsl_devices.h> +#include <asm/of_device.h> +#include <asm/of_platform.h> #include <asm/system.h> #include <asm/pgtable.h> #include <asm/page.h> @@ -342,6 +344,23 @@ static int __init mpc85xx_cds_probe(void) return of_flat_dt_is_compatible(root, "MPC85xxCDS"); } +static struct of_device_id mpc85xx_ids[] = { + { .type = "soc", }, + { .compatible = "soc", }, + {}, +}; + +static int __init mpc85xx_publish_devices(void) +{ + if (!machine_is(mpc85xx_cds)) + return 0; + + of_platform_bus_probe(NULL, mpc85xx_ids, NULL); + + return 0; +} +device_initcall(mpc85xx_publish_devices); + define_machine(mpc85xx_cds) { .name = "MPC85xx CDS", .probe = mpc85xx_cds_probe, _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev