Message ID | 20181128195802.B6A6C7456B9@zero.eik.bme.hu |
---|---|
State | New |
Headers | show |
Series | i2c: Move typedef of bitbang_i2c_interface to i2c.h | expand |
On 2018-11-28 20:27, BALATON Zoltan wrote: > 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. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > 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(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -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 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -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); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -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) Reviewed-by: Thomas Huth <thuth@redhat.com> 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
On 11/28/18 1:27 PM, BALATON Zoltan wrote: > 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. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > 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(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -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?
On 2018-11-28 21:03, Eric Blake wrote: > On 11/28/18 1:27 PM, BALATON Zoltan wrote: >> 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. >> >> Reported-by: Thomas Huth <thuth@redhat.com> >> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> >> --- >> 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(-) >> >> diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h >> index 3a7126d5de..9443021710 100644 >> --- a/hw/i2c/bitbang_i2c.h >> +++ b/hw/i2c/bitbang_i2c.h >> @@ -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
On Wed, Nov 28, 2018 at 08:27:06PM +0100, BALATON Zoltan wrote: > 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. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > 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(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -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 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -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); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -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) >
On Wed, Nov 28, 2018 at 08:27:06PM +0100, BALATON Zoltan wrote: > 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. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > 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(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -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 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -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); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -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) >
Cc'ing Corey, the new I2C maintainer (since 4.0). On 28/11/18 20:27, BALATON Zoltan wrote: > 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. > > Reported-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > 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(-) > > diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h > index 3a7126d5de..9443021710 100644 > --- a/hw/i2c/bitbang_i2c.h > +++ b/hw/i2c/bitbang_i2c.h > @@ -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 > > diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h > index 5dc166158b..cf4c45a98f 100644 > --- a/include/hw/i2c/i2c.h > +++ b/include/hw/i2c/i2c.h > @@ -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); > > diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h > index 0891a9c948..b3450bacf7 100644 > --- a/include/hw/i2c/ppc4xx_i2c.h > +++ b/include/hw/i2c/ppc4xx_i2c.h > @@ -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) > >
diff --git a/hw/i2c/bitbang_i2c.h b/hw/i2c/bitbang_i2c.h index 3a7126d5de..9443021710 100644 --- a/hw/i2c/bitbang_i2c.h +++ b/hw/i2c/bitbang_i2c.h @@ -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 diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h index 5dc166158b..cf4c45a98f 100644 --- a/include/hw/i2c/i2c.h +++ b/include/hw/i2c/i2c.h @@ -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); diff --git a/include/hw/i2c/ppc4xx_i2c.h b/include/hw/i2c/ppc4xx_i2c.h index 0891a9c948..b3450bacf7 100644 --- a/include/hw/i2c/ppc4xx_i2c.h +++ b/include/hw/i2c/ppc4xx_i2c.h @@ -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)
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. Reported-by: Thomas Huth <thuth@redhat.com> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> --- 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(-)