diff mbox series

[16/17] hw/arm/spitz: Provide usual QOM macros for corgi-ssp and spitz-lcdtg

Message ID 20200628142429.17111-17-peter.maydell@linaro.org
State Superseded
Headers show
Series spitz: fix hacks, fix CID 1421913, various cleanups | expand

Commit Message

Peter Maydell June 28, 2020, 2:24 p.m. UTC
The QOM types "spitz-lcdtg" and "corgi-ssp" are missing the
usual QOM TYPE and casting macros; provide and use them.

In particular, we can safely use the QOM cast macros instead of
FROM_SSI_SLAVE() because in both cases the 'ssidev' field of
the instance state struct is the first field in it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 hw/arm/spitz.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

-- 
2.20.1

Comments

Philippe Mathieu-Daudé June 29, 2020, 9:17 a.m. UTC | #1
On 6/28/20 4:24 PM, Peter Maydell wrote:
> The QOM types "spitz-lcdtg" and "corgi-ssp" are missing the

> usual QOM TYPE and casting macros; provide and use them.

> 

> In particular, we can safely use the QOM cast macros instead of

> FROM_SSI_SLAVE() because in both cases the 'ssidev' field of

> the instance state struct is the first field in it.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

>  hw/arm/spitz.c | 23 +++++++++++++++--------

>  1 file changed, 15 insertions(+), 8 deletions(-)


Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Alistair Francis July 2, 2020, 5:51 p.m. UTC | #2
On Sun, Jun 28, 2020 at 7:35 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>

> The QOM types "spitz-lcdtg" and "corgi-ssp" are missing the

> usual QOM TYPE and casting macros; provide and use them.

>

> In particular, we can safely use the QOM cast macros instead of

> FROM_SSI_SLAVE() because in both cases the 'ssidev' field of

> the instance state struct is the first field in it.

>

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Reviewed-by: Alistair Francis <alistair.francis@wdc.com>


Alistair

> ---

>  hw/arm/spitz.c | 23 +++++++++++++++--------

>  1 file changed, 15 insertions(+), 8 deletions(-)

>

> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c

> index 49eae3fce4e..f020aff9747 100644

> --- a/hw/arm/spitz.c

> +++ b/hw/arm/spitz.c

> @@ -579,6 +579,9 @@ static void spitz_keyboard_realize(DeviceState *dev, Error **errp)

>  #define LCDTG_PICTRL    0x06

>  #define LCDTG_POLCTRL   0x07

>

> +#define TYPE_SPITZ_LCDTG "spitz-lcdtg"

> +#define SPITZ_LCDTG(obj) OBJECT_CHECK(SpitzLCDTG, (obj), TYPE_SPITZ_LCDTG)

> +

>  typedef struct {

>      SSISlave ssidev;

>      uint32_t bl_intensity;

> @@ -616,7 +619,7 @@ static inline void spitz_bl_power(void *opaque, int line, int level)

>

>  static uint32_t spitz_lcdtg_transfer(SSISlave *dev, uint32_t value)

>  {

> -    SpitzLCDTG *s = FROM_SSI_SLAVE(SpitzLCDTG, dev);

> +    SpitzLCDTG *s = SPITZ_LCDTG(dev);

>      int addr;

>      addr = value >> 5;

>      value &= 0x1f;

> @@ -645,7 +648,7 @@ static uint32_t spitz_lcdtg_transfer(SSISlave *dev, uint32_t value)

>

>  static void spitz_lcdtg_realize(SSISlave *ssi, Error **errp)

>  {

> -    SpitzLCDTG *s = FROM_SSI_SLAVE(SpitzLCDTG, ssi);

> +    SpitzLCDTG *s = SPITZ_LCDTG(ssi);

>      DeviceState *dev = DEVICE(s);

>

>      s->bl_power = 0;

> @@ -664,6 +667,9 @@ static void spitz_lcdtg_realize(SSISlave *ssi, Error **errp)

>  #define SPITZ_GPIO_MAX1111_CS   20

>  #define SPITZ_GPIO_TP_INT       11

>

> +#define TYPE_CORGI_SSP "corgi-ssp"

> +#define CORGI_SSP(obj) OBJECT_CHECK(CorgiSSPState, (obj), TYPE_CORGI_SSP)

> +

>  /* "Demux" the signal based on current chipselect */

>  typedef struct {

>      SSISlave ssidev;

> @@ -673,7 +679,7 @@ typedef struct {

>

>  static uint32_t corgi_ssp_transfer(SSISlave *dev, uint32_t value)

>  {

> -    CorgiSSPState *s = FROM_SSI_SLAVE(CorgiSSPState, dev);

> +    CorgiSSPState *s = CORGI_SSP(dev);

>      int i;

>

>      for (i = 0; i < 3; i++) {

> @@ -702,7 +708,7 @@ static void corgi_ssp_gpio_cs(void *opaque, int line, int level)

>  static void corgi_ssp_realize(SSISlave *d, Error **errp)

>  {

>      DeviceState *dev = DEVICE(d);

> -    CorgiSSPState *s = FROM_SSI_SLAVE(CorgiSSPState, d);

> +    CorgiSSPState *s = CORGI_SSP(d);

>

>      qdev_init_gpio_in(dev, corgi_ssp_gpio_cs, 3);

>      s->bus[0] = ssi_create_bus(dev, "ssi0");

> @@ -714,10 +720,11 @@ static void spitz_ssp_attach(SpitzMachineState *sms)

>  {

>      void *bus;

>

> -    sms->mux = ssi_create_slave(sms->mpu->ssp[CORGI_SSP_PORT - 1], "corgi-ssp");

> +    sms->mux = ssi_create_slave(sms->mpu->ssp[CORGI_SSP_PORT - 1],

> +                                TYPE_CORGI_SSP);

>

>      bus = qdev_get_child_bus(sms->mux, "ssi0");

> -    sms->lcdtg = ssi_create_slave(bus, "spitz-lcdtg");

> +    sms->lcdtg = ssi_create_slave(bus, TYPE_SPITZ_LCDTG);

>

>      bus = qdev_get_child_bus(sms->mux, "ssi1");

>      sms->ads7846 = ssi_create_slave(bus, "ads7846");

> @@ -1220,7 +1227,7 @@ static void corgi_ssp_class_init(ObjectClass *klass, void *data)

>  }

>

>  static const TypeInfo corgi_ssp_info = {

> -    .name          = "corgi-ssp",

> +    .name          = TYPE_CORGI_SSP,

>      .parent        = TYPE_SSI_SLAVE,

>      .instance_size = sizeof(CorgiSSPState),

>      .class_init    = corgi_ssp_class_init,

> @@ -1249,7 +1256,7 @@ static void spitz_lcdtg_class_init(ObjectClass *klass, void *data)

>  }

>

>  static const TypeInfo spitz_lcdtg_info = {

> -    .name          = "spitz-lcdtg",

> +    .name          = TYPE_SPITZ_LCDTG,

>      .parent        = TYPE_SSI_SLAVE,

>      .instance_size = sizeof(SpitzLCDTG),

>      .class_init    = spitz_lcdtg_class_init,

> --

> 2.20.1

>

>
diff mbox series

Patch

diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index 49eae3fce4e..f020aff9747 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -579,6 +579,9 @@  static void spitz_keyboard_realize(DeviceState *dev, Error **errp)
 #define LCDTG_PICTRL    0x06
 #define LCDTG_POLCTRL   0x07
 
+#define TYPE_SPITZ_LCDTG "spitz-lcdtg"
+#define SPITZ_LCDTG(obj) OBJECT_CHECK(SpitzLCDTG, (obj), TYPE_SPITZ_LCDTG)
+
 typedef struct {
     SSISlave ssidev;
     uint32_t bl_intensity;
@@ -616,7 +619,7 @@  static inline void spitz_bl_power(void *opaque, int line, int level)
 
 static uint32_t spitz_lcdtg_transfer(SSISlave *dev, uint32_t value)
 {
-    SpitzLCDTG *s = FROM_SSI_SLAVE(SpitzLCDTG, dev);
+    SpitzLCDTG *s = SPITZ_LCDTG(dev);
     int addr;
     addr = value >> 5;
     value &= 0x1f;
@@ -645,7 +648,7 @@  static uint32_t spitz_lcdtg_transfer(SSISlave *dev, uint32_t value)
 
 static void spitz_lcdtg_realize(SSISlave *ssi, Error **errp)
 {
-    SpitzLCDTG *s = FROM_SSI_SLAVE(SpitzLCDTG, ssi);
+    SpitzLCDTG *s = SPITZ_LCDTG(ssi);
     DeviceState *dev = DEVICE(s);
 
     s->bl_power = 0;
@@ -664,6 +667,9 @@  static void spitz_lcdtg_realize(SSISlave *ssi, Error **errp)
 #define SPITZ_GPIO_MAX1111_CS   20
 #define SPITZ_GPIO_TP_INT       11
 
+#define TYPE_CORGI_SSP "corgi-ssp"
+#define CORGI_SSP(obj) OBJECT_CHECK(CorgiSSPState, (obj), TYPE_CORGI_SSP)
+
 /* "Demux" the signal based on current chipselect */
 typedef struct {
     SSISlave ssidev;
@@ -673,7 +679,7 @@  typedef struct {
 
 static uint32_t corgi_ssp_transfer(SSISlave *dev, uint32_t value)
 {
-    CorgiSSPState *s = FROM_SSI_SLAVE(CorgiSSPState, dev);
+    CorgiSSPState *s = CORGI_SSP(dev);
     int i;
 
     for (i = 0; i < 3; i++) {
@@ -702,7 +708,7 @@  static void corgi_ssp_gpio_cs(void *opaque, int line, int level)
 static void corgi_ssp_realize(SSISlave *d, Error **errp)
 {
     DeviceState *dev = DEVICE(d);
-    CorgiSSPState *s = FROM_SSI_SLAVE(CorgiSSPState, d);
+    CorgiSSPState *s = CORGI_SSP(d);
 
     qdev_init_gpio_in(dev, corgi_ssp_gpio_cs, 3);
     s->bus[0] = ssi_create_bus(dev, "ssi0");
@@ -714,10 +720,11 @@  static void spitz_ssp_attach(SpitzMachineState *sms)
 {
     void *bus;
 
-    sms->mux = ssi_create_slave(sms->mpu->ssp[CORGI_SSP_PORT - 1], "corgi-ssp");
+    sms->mux = ssi_create_slave(sms->mpu->ssp[CORGI_SSP_PORT - 1],
+                                TYPE_CORGI_SSP);
 
     bus = qdev_get_child_bus(sms->mux, "ssi0");
-    sms->lcdtg = ssi_create_slave(bus, "spitz-lcdtg");
+    sms->lcdtg = ssi_create_slave(bus, TYPE_SPITZ_LCDTG);
 
     bus = qdev_get_child_bus(sms->mux, "ssi1");
     sms->ads7846 = ssi_create_slave(bus, "ads7846");
@@ -1220,7 +1227,7 @@  static void corgi_ssp_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo corgi_ssp_info = {
-    .name          = "corgi-ssp",
+    .name          = TYPE_CORGI_SSP,
     .parent        = TYPE_SSI_SLAVE,
     .instance_size = sizeof(CorgiSSPState),
     .class_init    = corgi_ssp_class_init,
@@ -1249,7 +1256,7 @@  static void spitz_lcdtg_class_init(ObjectClass *klass, void *data)
 }
 
 static const TypeInfo spitz_lcdtg_info = {
-    .name          = "spitz-lcdtg",
+    .name          = TYPE_SPITZ_LCDTG,
     .parent        = TYPE_SSI_SLAVE,
     .instance_size = sizeof(SpitzLCDTG),
     .class_init    = spitz_lcdtg_class_init,