On Mon, Mar 25, 2019 at 02:18:39PM -0700, Paul Walmsley wrote: > All of these drivers are for single IP blocks. Mostly DRAM controllers. > There's no "platform EDAC manager" IP block in these cases. Maybe because they have RAS functionality in one single IP block. Others like altera_edac, for example, have added support for more IP blocks with time. > So the EDAC "platform," if there is one, would be Xilinx Zynq, not > Synopsys. We have IP blocks sharing between drivers, see fsl_ddr_edac and skx_common, for example. > 2. We could create a platform driver for the "SiFive FU540-C000 EDAC" > reporting platform that wouldn't map to any hardware block, but > would call functions exported by other sources of EDAC data - most > likely drivers living in separate directories. If, for example, we > wind up using a Synopsys memory controller in a future product, we > move the Synopsys code into a separate library, and move the Xilinx > Zynq-specific code into a zynq_edac driver, etc. Yes, librarizing is something we do already. So if you wanna share IP blocks with other vendors, you can abstract it out into compilation units like in the examples above. And then those compilation units can be linked into a platform driver. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.