Subject: [PATCH v7 4/5] edac: Add APM X-Gene SoC EDAC driver

From: [email-masked] (Arnd Bergmann)
Date: Wed, 29 Apr 2015 20:23:39 +0200

On Wednesday 29 April 2015 11:57:09 Rob Herring wrote:
> >>
> >
> > I had not looked at the driver before, but I have one comment now:
> >
> > I think this can be simplified to registering a single platform_driver
> > that just matches all four compatible strings, with an appropriate data:
> >
> > +static struct of_device_id xgene_edac_of_match[] = {
> > +       { .compatible = "apm,xgene-edac-mcu", .data = &xgene_edac_mcu_data },
> > +       { .compatible = "apm,xgene-edac-pmd", .data = &xgene_edac_pmd_data },
> > +       { .compatible = "apm,xgene-edac-l3",  .data = &xgene_edac_l3_data },
> > +       { .compatible = "apm,xgene-edac-soc", .data = &xgene_edac_soc_data },
> > +       {},
> > +};
> 
> What exactly is shared here to combine all this into one driver? I
> would argue these are all independent functions and should be separate
> drivers. Add some library functions if there are common parts.

Right, that is probably even better. I was mostly worried about having
multiple platform_driver instances in a single module, which is a bit odd,
and your approach would solve that in a simpler way.

	Arnd