diff mbox

[1/3] hw/ppc: include fdt helper routine in a common file

Message ID 1469456683-25891-2-git-send-email-clg@kaod.org
State New
Headers show

Commit Message

Cédric Le Goater July 25, 2016, 2:24 p.m. UTC
spapr_pci would also be a good candidate but the macro _FDT is
slightly different. It returns and does not exit.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/ppc/spapr.c        | 11 +----------
 hw/ppc/spapr_events.c | 11 +----------
 include/hw/ppc/fdt.h  | 23 +++++++++++++++++++++++
 3 files changed, 25 insertions(+), 20 deletions(-)
 create mode 100644 include/hw/ppc/fdt.h

Comments

David Gibson July 26, 2016, 5:57 a.m. UTC | #1
On Mon, Jul 25, 2016 at 04:24:41PM +0200, Cédric Le Goater wrote:
> spapr_pci would also be a good candidate but the macro _FDT is
> slightly different. It returns and does not exit.
> 
> Signed-off-by: Cédric Le Goater <clg@kaod.org>

Ugh, I so want to get rid of that ugly macro.  It may be a while
before I have time to revisit my qdt cleanups though, so in the
mentime we might as well have only one definition of the thing.

Applied to ppc-for-2.8.

> ---
>  hw/ppc/spapr.c        | 11 +----------
>  hw/ppc/spapr_events.c | 11 +----------
>  include/hw/ppc/fdt.h  | 23 +++++++++++++++++++++++
>  3 files changed, 25 insertions(+), 20 deletions(-)
>  create mode 100644 include/hw/ppc/fdt.h
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 9193ac2c122b..538ff5a46768 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -47,6 +47,7 @@
>  #include "hw/ppc/ppc.h"
>  #include "hw/loader.h"
>  
> +#include "hw/ppc/fdt.h"
>  #include "hw/ppc/spapr.h"
>  #include "hw/ppc/spapr_vio.h"
>  #include "hw/pci-host/spapr.h"
> @@ -299,16 +300,6 @@ static hwaddr spapr_node0_size(void)
>      return machine->ram_size;
>  }
>  
> -#define _FDT(exp) \
> -    do { \
> -        int ret = (exp);                                           \
> -        if (ret < 0) {                                             \
> -            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
> -                    #exp, fdt_strerror(ret));                      \
> -            exit(1);                                               \
> -        }                                                          \
> -    } while (0)
> -
>  static void add_str(GString *s, const gchar *s1)
>  {
>      g_string_append_len(s, s1, strlen(s1) + 1);
> diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
> index b0668b34a927..4c7b6aeab630 100644
> --- a/hw/ppc/spapr_events.c
> +++ b/hw/ppc/spapr_events.c
> @@ -32,6 +32,7 @@
>  #include "hw/qdev.h"
>  #include "sysemu/device_tree.h"
>  
> +#include "hw/ppc/fdt.h"
>  #include "hw/ppc/spapr.h"
>  #include "hw/ppc/spapr_vio.h"
>  #include "hw/pci/pci.h"
> @@ -210,16 +211,6 @@ struct hp_log_full {
>  #define EVENT_MASK_HOTPLUG                   0x10000000
>  #define EVENT_MASK_IO                        0x08000000
>  
> -#define _FDT(exp) \
> -    do { \
> -        int ret = (exp);                                           \
> -        if (ret < 0) {                                             \
> -            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
> -                    #exp, fdt_strerror(ret));                      \
> -            exit(1);                                               \
> -        }                                                          \
> -    } while (0)
> -
>  void spapr_events_fdt_skel(void *fdt, uint32_t check_exception_irq)
>  {
>      uint32_t irq_ranges[] = {cpu_to_be32(check_exception_irq), cpu_to_be32(1)};
> diff --git a/include/hw/ppc/fdt.h b/include/hw/ppc/fdt.h
> new file mode 100644
> index 000000000000..fff3e1b57763
> --- /dev/null
> +++ b/include/hw/ppc/fdt.h
> @@ -0,0 +1,23 @@
> +/*
> + * QEMU PowerPC helper routines for the device tree.
> + *
> + * Copyright (C) 2016 IBM Corp.
> + *
> + * This code is licensed under the GPL version 2 or later. See the
> + * COPYING file in the top-level directory.
> + */
> +
> +#ifndef PPC_FDT_H
> +#define PPC_FDT_H
> +
> +#define _FDT(exp)                               \
> +    do { \
> +        int ret = (exp);                                           \
> +        if (ret < 0) {                                             \
> +            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
> +                    #exp, fdt_strerror(ret));                      \
> +            exit(1);                                               \
> +        }                                                          \
> +    } while (0)
> +
> +#endif /* PPC_FDT_H */
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 9193ac2c122b..538ff5a46768 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -47,6 +47,7 @@ 
 #include "hw/ppc/ppc.h"
 #include "hw/loader.h"
 
+#include "hw/ppc/fdt.h"
 #include "hw/ppc/spapr.h"
 #include "hw/ppc/spapr_vio.h"
 #include "hw/pci-host/spapr.h"
@@ -299,16 +300,6 @@  static hwaddr spapr_node0_size(void)
     return machine->ram_size;
 }
 
-#define _FDT(exp) \
-    do { \
-        int ret = (exp);                                           \
-        if (ret < 0) {                                             \
-            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
-                    #exp, fdt_strerror(ret));                      \
-            exit(1);                                               \
-        }                                                          \
-    } while (0)
-
 static void add_str(GString *s, const gchar *s1)
 {
     g_string_append_len(s, s1, strlen(s1) + 1);
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
index b0668b34a927..4c7b6aeab630 100644
--- a/hw/ppc/spapr_events.c
+++ b/hw/ppc/spapr_events.c
@@ -32,6 +32,7 @@ 
 #include "hw/qdev.h"
 #include "sysemu/device_tree.h"
 
+#include "hw/ppc/fdt.h"
 #include "hw/ppc/spapr.h"
 #include "hw/ppc/spapr_vio.h"
 #include "hw/pci/pci.h"
@@ -210,16 +211,6 @@  struct hp_log_full {
 #define EVENT_MASK_HOTPLUG                   0x10000000
 #define EVENT_MASK_IO                        0x08000000
 
-#define _FDT(exp) \
-    do { \
-        int ret = (exp);                                           \
-        if (ret < 0) {                                             \
-            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
-                    #exp, fdt_strerror(ret));                      \
-            exit(1);                                               \
-        }                                                          \
-    } while (0)
-
 void spapr_events_fdt_skel(void *fdt, uint32_t check_exception_irq)
 {
     uint32_t irq_ranges[] = {cpu_to_be32(check_exception_irq), cpu_to_be32(1)};
diff --git a/include/hw/ppc/fdt.h b/include/hw/ppc/fdt.h
new file mode 100644
index 000000000000..fff3e1b57763
--- /dev/null
+++ b/include/hw/ppc/fdt.h
@@ -0,0 +1,23 @@ 
+/*
+ * QEMU PowerPC helper routines for the device tree.
+ *
+ * Copyright (C) 2016 IBM Corp.
+ *
+ * This code is licensed under the GPL version 2 or later. See the
+ * COPYING file in the top-level directory.
+ */
+
+#ifndef PPC_FDT_H
+#define PPC_FDT_H
+
+#define _FDT(exp)                               \
+    do { \
+        int ret = (exp);                                           \
+        if (ret < 0) {                                             \
+            fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \
+                    #exp, fdt_strerror(ret));                      \
+            exit(1);                                               \
+        }                                                          \
+    } while (0)
+
+#endif /* PPC_FDT_H */