The driver fails to:

 - initialize packages which are not available at driver init time, though
   the value of that initialization is completely unclear as nothing ever
   uses these values. I fixed it up nevertheless and leave it to the
   maintainers to decide whether it should completely go away.

 - to propagate error codes in the hotplug online path, where a
   registration fails and the package data is freed, but return code is 0.

The initialization/removal code of that driver is a maze of duplicated code
which is more or less the same as the cpu hotplug code. After switching
over the driver to the hotplug statemachine, the whole init/removal
machinery can be replaced by installing/removing the hotplug state.

The total damage is:

 intel_rapl.c |  363 ++++++++++++++++-------------------------------------------
 1 file changed, 104 insertions(+), 259 deletions(-)

and the binary size shrinks as well:

   text    data     bss     dec     hex
   7996     625      32    8653    21cd   Before
   7216     593      32    7841    1ea1   After

Thanks,

        tglx




Reply via email to