On 02/05/2024 15.15, Cédric Le Goater wrote:
> get_sclp_device() scans the whole machine to find a TYPE_SCLP object.
> Now that the SCLPDevice instance is available under the machine state,
> use it to simplify the lookup. While at it, remove the inline to let
> the compiler decide on how to optimize.
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>
> ---
> hw/s390x/sclp.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index d236dbaf0bdd15c3fc07749a98a5813e05cfb9a1..e725dcd5fdfd159f20307e930a38bed3326c9e0e 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -21,13 +21,14 @@
> #include "hw/s390x/s390-pci-bus.h"
> #include "hw/s390x/ipl.h"
> #include "hw/s390x/cpu-topology.h"
> +#include "hw/s390x/s390-virtio-ccw.h"
>
> -static inline SCLPDevice *get_sclp_device(void)
> +static SCLPDevice *get_sclp_device(void)
> {
> static SCLPDevice *sclp;
>
> if (!sclp) {
> - sclp = SCLP(object_resolve_path_type("", TYPE_SCLP, NULL));
> + sclp = S390_CCW_MACHINE(qdev_get_machine())->sclp;
> }
> return sclp;
> }
Reviewed-by: Thomas Huth <thuth@redhat.com>