arm: Clean up fragile use of error_is_set() in realize() methods
commit0175ba109eb0c098a00903887328393c2e17d4ae
authorMarkus Armbruster <armbru@redhat.com>
Fri, 25 Apr 2014 10:44:23 +0000 (25 12:44 +0200)
committerAndreas Färber <afaerber@suse.de>
Mon, 5 May 2014 17:08:49 +0000 (5 19:08 +0200)
tree400ba5c96ecc4d7b21c0dc1fd013b28f0554d608
parent65cd9064e13f2388d3bd9c815826f5db6b0b13ec
arm: Clean up fragile use of error_is_set() in realize() methods

Using error_is_set(ERRP) to find out whether a function failed is
either wrong, fragile, or unnecessarily opaque.  It's wrong when ERRP
may be null, because errors go undetected when it is.  It's fragile
when proving ERRP non-null involves a non-local argument.  Else, it's
unnecessarily opaque (see commit 84d18f0).

I guess the error_is_set(errp) in the DeviceClass realize() methods
are merely fragile right now, because I can't find a call chain that
passes a null errp argument.

Make the code more robust and more obviously correct: receive the
error in a local variable, then propagate it through the parameter.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/intc/arm_gic.c
hw/intc/arm_gic_kvm.c
hw/intc/armv7m_nvic.c