>> >> Instead of calling all of these in the init function you should split >> it up over the machines init and realize function. >> >> Look at the stm32f205_soc or xlnx-zynqmp files for examples of how to do >> this. >> >> It also moves away from calling qdev_create() and qdev_init_nofail() >> and instead manually creates the objects. >> > I am still learning all these. Please correct me if am wrong. > I need to create a SoC file and a board file like stm32f205 and > xlnx-zynqmp now right?
Hey Sundeep, I don't think you have to do it like that. I think for some SoCs/boards it makes sense. For example the ZynqMP SoCs are included on multiple different boards (EP108 and ZCU102) so it makes sense to have a SoC and a board separately defined. On the other hand if you had a SoC that is always on the same board it doesn't make as much sense. It is probably is a good idea to split it between a board and an SoC unless you have a good reason not to though. Thanks, Alistair > >> Otherwise this patch looks pretty good. > > Thank you :) > Sundeep > >> >> Thanks, >> >> Alistair >> >>> +} >>> + >>> +static void msf2_machine_init(MachineClass *mc) >>> +{ >>> + mc->desc = "SmartFusion2 SOM kit from Emcraft"; >>> + mc->init = msf2_init; >>> +} >>> + >>> +DEFINE_MACHINE("smartfusion2-som", msf2_machine_init) >>> -- >>> 2.5.0 >>> >>>