[PATCH] hw/input/tsc2xxx: Reduce MouseTransformInfo structure exposure

Philippe Mathieu-Daudé posted 1 patch 3 years, 7 months ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch failed
Test FreeBSD failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200907010155.815131-1-f4bug@amsat.org
include/hw/input/tsc2xxx.h | 8 +++++++-
include/ui/console.h       | 8 --------
2 files changed, 7 insertions(+), 9 deletions(-)
[PATCH] hw/input/tsc2xxx: Reduce MouseTransformInfo structure exposure
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
Commit a5d7eb6534a ("Add TSC2301 touchscreen & keypad controller")
added the MouseTransformInfo declaration in "ui/console.h",
however it is only used in "hw/input/tsc2xxx.h".
Reduce the structure exposure by moving it to the single include
where it is used.

This should fix a build failure on OpenBSD:

  In file included from hw/arm/nseries.c:30:
  In file included from include/hw/arm/omap.h:24:
  In file included from include/hw/input/tsc2xxx.h:14:
  include/ui/console.h:11:11: fatal error: 'epoxy/gl.h' file not found
  # include <epoxy/gl.h>
            ^~~~~~~~~~~~
  1 error generated.
  gmake: *** [Makefile.ninja:1735:
  libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 include/hw/input/tsc2xxx.h | 8 +++++++-
 include/ui/console.h       | 8 --------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/include/hw/input/tsc2xxx.h b/include/hw/input/tsc2xxx.h
index 3cd8f1bf55b..5b76ebc1776 100644
--- a/include/hw/input/tsc2xxx.h
+++ b/include/hw/input/tsc2xxx.h
@@ -11,7 +11,13 @@
 #ifndef HW_INPUT_TSC2XXX_H
 #define HW_INPUT_TSC2XXX_H
 
-#include "ui/console.h"
+typedef struct MouseTransformInfo {
+    /* Touchscreen resolution */
+    int x;
+    int y;
+    /* Calibration values as used/generated by tslib */
+    int a[7];
+} MouseTransformInfo;
 
 typedef struct uWireSlave {
     uint16_t (*receive)(void *opaque);
diff --git a/include/ui/console.h b/include/ui/console.h
index f35b4fc082b..30eed00dfcd 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -65,14 +65,6 @@ void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry);
 
 void kbd_put_ledstate(int ledstate);
 
-typedef struct MouseTransformInfo {
-    /* Touchscreen resolution */
-    int x;
-    int y;
-    /* Calibration values as used/generated by tslib */
-    int a[7];
-} MouseTransformInfo;
-
 void hmp_mouse_set(Monitor *mon, const QDict *qdict);
 
 /* keysym is a unicode code except for special keys (see QEMU_KEY_xxx
-- 
2.26.2

Re: [PATCH] hw/input/tsc2xxx: Reduce MouseTransformInfo structure exposure
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
ping?

On 9/7/20 3:01 AM, Philippe Mathieu-Daudé wrote:
> Commit a5d7eb6534a ("Add TSC2301 touchscreen & keypad controller")
> added the MouseTransformInfo declaration in "ui/console.h",
> however it is only used in "hw/input/tsc2xxx.h".
> Reduce the structure exposure by moving it to the single include
> where it is used.
> 
> This should fix a build failure on OpenBSD:
> 
>   In file included from hw/arm/nseries.c:30:
>   In file included from include/hw/arm/omap.h:24:
>   In file included from include/hw/input/tsc2xxx.h:14:
>   include/ui/console.h:11:11: fatal error: 'epoxy/gl.h' file not found
>   # include <epoxy/gl.h>
>             ^~~~~~~~~~~~
>   1 error generated.
>   gmake: *** [Makefile.ninja:1735:
>   libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1
> 
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  include/hw/input/tsc2xxx.h | 8 +++++++-
>  include/ui/console.h       | 8 --------
>  2 files changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/include/hw/input/tsc2xxx.h b/include/hw/input/tsc2xxx.h
> index 3cd8f1bf55b..5b76ebc1776 100644
> --- a/include/hw/input/tsc2xxx.h
> +++ b/include/hw/input/tsc2xxx.h
> @@ -11,7 +11,13 @@
>  #ifndef HW_INPUT_TSC2XXX_H
>  #define HW_INPUT_TSC2XXX_H
>  
> -#include "ui/console.h"
> +typedef struct MouseTransformInfo {
> +    /* Touchscreen resolution */
> +    int x;
> +    int y;
> +    /* Calibration values as used/generated by tslib */
> +    int a[7];
> +} MouseTransformInfo;
>  
>  typedef struct uWireSlave {
>      uint16_t (*receive)(void *opaque);
> diff --git a/include/ui/console.h b/include/ui/console.h
> index f35b4fc082b..30eed00dfcd 100644
> --- a/include/ui/console.h
> +++ b/include/ui/console.h
> @@ -65,14 +65,6 @@ void qemu_remove_led_event_handler(QEMUPutLEDEntry *entry);
>  
>  void kbd_put_ledstate(int ledstate);
>  
> -typedef struct MouseTransformInfo {
> -    /* Touchscreen resolution */
> -    int x;
> -    int y;
> -    /* Calibration values as used/generated by tslib */
> -    int a[7];
> -} MouseTransformInfo;
> -
>  void hmp_mouse_set(Monitor *mon, const QDict *qdict);
>  
>  /* keysym is a unicode code except for special keys (see QEMU_KEY_xxx
>