This was originally based on some other code but its mostly misleading
comments now. Massively clean this up and accept its now a total fork.
There are no funciton changes here, just cleanup.
(Bitbake rev: 3daa9001269e5b9156d0eb3299d2628d2d219fff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>