Skip to contentSkip to conversation

i2c: Move typedef of bitbang_i2c_interface to i2c.h

PATCH In review BALATON Zoltan 5 participants 7 messages Nov 28, 2018 – Dec 1, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 i2c: Move typedef of bitbang_i2c_interface to i2c.h

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

---
 hw/i2c/bitbang_i2c.h        | 2 --
 include/hw/i2c/i2c.h        | 2 ++
 include/hw/i2c/ppc4xx_i2c.h | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -2
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
 
 #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define BITBANG_I2C_SDA 0
 #define BITBANG_I2C_SCL 1
 
include/hw/i2c/i2c.h +2 -0
index 5dc166158b..cf4c45a98f 100644
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
 
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
 /* lm832x.c */
 void lm832x_key_event(DeviceState *dev, int key, int state);
 
include/hw/i2c/ppc4xx_i2c.h +0 -3
index 0891a9c948..b3450bacf7 100644
@@ -31,9 +31,6 @@
 #include "hw/sysbus.h"
 #include "hw/i2c/i2c.h"
 
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)
 
Signature · 1 line
2.13.7
Reviewed-by on v1 1/1
#1 lore raw
Quoted 43 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

---
 hw/i2c/bitbang_i2c.h        | 2 --
 include/hw/i2c/i2c.h        | 2 ++
 include/hw/i2c/ppc4xx_i2c.h | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -2
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
 
 #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define BITBANG_I2C_SDA 0
 #define BITBANG_I2C_SCL 1
 
include/hw/i2c/i2c.h +2 -0
index 5dc166158b..cf4c45a98f 100644
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
 
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
 /* lm832x.c */
 void lm832x_key_event(DeviceState *dev, int key, int state);
 
include/hw/i2c/ppc4xx_i2c.h +0 -0
index 0891a9c948..b3450bacf7 100644

include/hw/i2c/ppc4xx_i2c.h line 35

Quoted 8 lines
include/hw/i2c/ppc4xx_i2c.h +0 -3
@@ -31,9 +31,6 @@
 #include "hw/sysbus.h"
 #include "hw/i2c/i2c.h"
 
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)

Peter, in case you've got to roll another rc, I think this should be included, too. Otherwise, I think this can also be included later via qemu-stable (for the few people like me who still use clang 3.4).

Thomas

#2 lore raw
In reply to BALATON Zoltan
Quoted 17 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

---
  hw/i2c/bitbang_i2c.h        | 2 --
  include/hw/i2c/i2c.h        | 2 ++
  include/hw/i2c/ppc4xx_i2c.h | 3 ---
  3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -0
index 3a7126d5de..9443021710 100644

hw/i2c/bitbang_i2c.h line 6

Quoted 4 lines
hw/i2c/bitbang_i2c.h +0 -1
@@ -3,8 +3,6 @@
 
  #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;

Would this also be an opportunity to rename the struct to something CamelCase to match our coding conventions?

Signature · 3 lines
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
#3 lore raw
Quoted 13 lines · Eric Blake
Quoted 12 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

---
  hw/i2c/bitbang_i2c.h        | 2 --
  include/hw/i2c/i2c.h        | 2 ++
  include/hw/i2c/ppc4xx_i2c.h | 3 ---

  3 files changed, 2 insertions(+), 5 deletions(-)
Quoted 10 lines

hw/i2c/bitbang_i2c.h line 4

Quoted 7 lines
hw/i2c/bitbang_i2c.h +0 -0
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
     #include "hw/i2c/i2c.h"
   -typedef struct bitbang_i2c_interface bitbang_i2c_interface;

Would this also be an opportunity to rename the struct to something CamelCase to match our coding conventions?

That's a different issue, so I'd say it should be done in a different patch.

Thomas

Acked-by on v1 1/1
#4 lore raw
In reply to BALATON Zoltan
Quoted 6 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

Quoted 46 lines
---
 hw/i2c/bitbang_i2c.h        | 2 --
 include/hw/i2c/i2c.h        | 2 ++
 include/hw/i2c/ppc4xx_i2c.h | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -2
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
 
 #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define BITBANG_I2C_SDA 0
 #define BITBANG_I2C_SCL 1
 
include/hw/i2c/i2c.h +2 -0
index 5dc166158b..cf4c45a98f 100644
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
 
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
 /* lm832x.c */
 void lm832x_key_event(DeviceState *dev, int key, int state);
 
include/hw/i2c/ppc4xx_i2c.h +0 -3
index 0891a9c948..b3450bacf7 100644
@@ -31,9 +31,6 @@
 #include "hw/sysbus.h"
 #include "hw/i2c/i2c.h"
 
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)
 
Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Acked-by on v1 1/1
#5 lore raw
In reply to BALATON Zoltan
Quoted 6 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

Quoted 46 lines
---
 hw/i2c/bitbang_i2c.h        | 2 --
 include/hw/i2c/i2c.h        | 2 ++
 include/hw/i2c/ppc4xx_i2c.h | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -2
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
 
 #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define BITBANG_I2C_SDA 0
 #define BITBANG_I2C_SCL 1
 
include/hw/i2c/i2c.h +2 -0
index 5dc166158b..cf4c45a98f 100644
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
 
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
 /* lm832x.c */
 void lm832x_key_event(DeviceState *dev, int key, int state);
 
include/hw/i2c/ppc4xx_i2c.h +0 -3
index 0891a9c948..b3450bacf7 100644
@@ -31,9 +31,6 @@
 #include "hw/sysbus.h"
 #include "hw/i2c/i2c.h"
 
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)
 
Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Reviewed-by on v1 1/1
#6 lore raw
In reply to BALATON Zoltan

Cc'ing Corey, the new I2C maintainer (since 4.0).

Quoted 6 lines · BALATON Zoltan

Clang 3.4 considers duplicate typedef in ppc4xx_i2c.h and bitbang_i2c.h an error even if they are identical. Move it to a common place to allow building with this clang version.

Quoted 47 lines
---
 hw/i2c/bitbang_i2c.h        | 2 --
 include/hw/i2c/i2c.h        | 2 ++
 include/hw/i2c/ppc4xx_i2c.h | 3 ---
 3 files changed, 2 insertions(+), 5 deletions(-)
hw/i2c/bitbang_i2c.h +0 -2
index 3a7126d5de..9443021710 100644
@@ -3,8 +3,6 @@
 
 #include "hw/i2c/i2c.h"
 
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define BITBANG_I2C_SDA 0
 #define BITBANG_I2C_SCL 1
 
include/hw/i2c/i2c.h +2 -0
index 5dc166158b..cf4c45a98f 100644
@@ -82,6 +82,8 @@ int i2c_recv(I2CBus *bus);
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
 
+typedef struct bitbang_i2c_interface bitbang_i2c_interface;
+
 /* lm832x.c */
 void lm832x_key_event(DeviceState *dev, int key, int state);
 
include/hw/i2c/ppc4xx_i2c.h +0 -3
index 0891a9c948..b3450bacf7 100644
@@ -31,9 +31,6 @@
 #include "hw/sysbus.h"
 #include "hw/i2c/i2c.h"
 
-/* from hw/i2c/bitbang_i2c.h */
-typedef struct bitbang_i2c_interface bitbang_i2c_interface;
-
 #define TYPE_PPC4xx_I2C "ppc4xx-i2c"
 #define PPC4xx_I2C(obj) OBJECT_CHECK(PPC4xxI2CState, (obj), TYPE_PPC4xx_I2C)