Hi Simon, On 01.03.2017 06:40, Simon Glass wrote: > On 28 February 2017 at 09:32, Stefan Roese <s...@denx.de> wrote: >> >> Hi! >> >> I'm currently trying to add some code to stop (DMA) buffer usage >> in the Marvell mvpp2 ethernet driver, that should only be >> executed once, before the OS is started - stop() does not work >> easily for me here. I've found the weak function >> "board_quiesce_devices()", which is already used for >> such cases. But since you are not fond of weak functions >> (I totally agree here, this is far from perfect) and already >> suggested some kind of "finalize" DM API call, I'm wondering >> if I should introduce this new API call for such cases and use >> it in the ethernet driver. >> >> So what is your opinion about this? Should I add such a >> finalize DM function and call it from the arch/.../bootm >> code? Or do you have other suggestions on how to handle >> such driver specific last-stage (pre OS) calls? > > Is it possible to use the device's remove() method?
I also thought about this of course. Using remove has the following disadvantages, that I currently can think of: - The remove functions of all devices are called, adding to the bootup time - Since all devices are removed, serial (and other) output is not available (for debug purposes) any more It should be possible to add a DM flag to enable this pre-OS device remove, which could be enabled on a per-device basis. This way we don't need another API function. But still I need to hook this pre-OS "remove" into arch/.../bootm. What do you think? Thanks, Stefan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/listinfo/u-boot