Thanks for doing this, Cédric! Reviewed-by: Glenn Miles <mil...@linux.vnet.ibm.com>
-Glenn On Mon, 2024-03-25 at 14:48 +0100, Cédric Le Goater wrote: > The PCA9552 and PCA9554 devices are both I2C GPIO controllers and the > PCA9552 also can drive LEDs. Do all the necessary adjustments to move > the models under hw/gpio. > > Cc: Glenn Miles <mil...@linux.vnet.ibm.com> > Signed-off-by: Cédric Le Goater <c...@redhat.com> > --- > MAINTAINERS | 4 ++-- > include/hw/{misc => gpio}/pca9552.h | 0 > include/hw/{misc => gpio}/pca9552_regs.h | 0 > include/hw/{misc => gpio}/pca9554.h | 0 > include/hw/{misc => gpio}/pca9554_regs.h | 0 > hw/arm/aspeed.c | 2 +- > hw/{misc => gpio}/pca9552.c | 4 ++-- > hw/{misc => gpio}/pca9554.c | 4 ++-- > tests/qtest/pca9552-test.c | 2 +- > tests/qtest/pnv-host-i2c-test.c | 4 ++-- > hw/gpio/meson.build | 2 ++ > hw/gpio/trace-events | 4 ++++ > hw/misc/meson.build | 2 -- > hw/misc/trace-events | 4 ---- > 14 files changed, 16 insertions(+), 16 deletions(-) > rename include/hw/{misc => gpio}/pca9552.h (100%) > rename include/hw/{misc => gpio}/pca9552_regs.h (100%) > rename include/hw/{misc => gpio}/pca9554.h (100%) > rename include/hw/{misc => gpio}/pca9554_regs.h (100%) > rename hw/{misc => gpio}/pca9552.c (99%) > rename hw/{misc => gpio}/pca9554.c (99%) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 409d7db4d457..a07af6b9d48e 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1549,8 +1549,8 @@ M: Glenn Miles <mil...@linux.vnet.ibm.com> > L: qemu-...@nongnu.org > L: qemu-...@nongnu.org > S: Odd Fixes > -F: hw/misc/pca955*.c > -F: include/hw/misc/pca955*.h > +F: hw/gpio/pca955*.c > +F: include/hw/gpio/pca955*.h > > virtex_ml507 > M: Edgar E. Iglesias <edgar.igles...@gmail.com> > diff --git a/include/hw/misc/pca9552.h b/include/hw/gpio/pca9552.h > similarity index 100% > rename from include/hw/misc/pca9552.h > rename to include/hw/gpio/pca9552.h > diff --git a/include/hw/misc/pca9552_regs.h > b/include/hw/gpio/pca9552_regs.h > similarity index 100% > rename from include/hw/misc/pca9552_regs.h > rename to include/hw/gpio/pca9552_regs.h > diff --git a/include/hw/misc/pca9554.h b/include/hw/gpio/pca9554.h > similarity index 100% > rename from include/hw/misc/pca9554.h > rename to include/hw/gpio/pca9554.h > diff --git a/include/hw/misc/pca9554_regs.h > b/include/hw/gpio/pca9554_regs.h > similarity index 100% > rename from include/hw/misc/pca9554_regs.h > rename to include/hw/gpio/pca9554_regs.h > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 729f66941462..badf6f6fa09d 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -18,7 +18,7 @@ > #include "hw/block/flash.h" > #include "hw/i2c/i2c_mux_pca954x.h" > #include "hw/i2c/smbus_eeprom.h" > -#include "hw/misc/pca9552.h" > +#include "hw/gpio/pca9552.h" > #include "hw/nvram/eeprom_at24c.h" > #include "hw/sensor/tmp105.h" > #include "hw/misc/led.h" > diff --git a/hw/misc/pca9552.c b/hw/gpio/pca9552.c > similarity index 99% > rename from hw/misc/pca9552.c > rename to hw/gpio/pca9552.c > index 2ae13af35e93..27d4db068095 100644 > --- a/hw/misc/pca9552.c > +++ b/hw/gpio/pca9552.c > @@ -15,8 +15,8 @@ > #include "qemu/module.h" > #include "qemu/bitops.h" > #include "hw/qdev-properties.h" > -#include "hw/misc/pca9552.h" > -#include "hw/misc/pca9552_regs.h" > +#include "hw/gpio/pca9552.h" > +#include "hw/gpio/pca9552_regs.h" > #include "hw/irq.h" > #include "migration/vmstate.h" > #include "qapi/error.h" > diff --git a/hw/misc/pca9554.c b/hw/gpio/pca9554.c > similarity index 99% > rename from hw/misc/pca9554.c > rename to hw/gpio/pca9554.c > index 5e31696797d9..7d10a64ba7c1 100644 > --- a/hw/misc/pca9554.c > +++ b/hw/gpio/pca9554.c > @@ -11,8 +11,8 @@ > #include "qemu/module.h" > #include "qemu/bitops.h" > #include "hw/qdev-properties.h" > -#include "hw/misc/pca9554.h" > -#include "hw/misc/pca9554_regs.h" > +#include "hw/gpio/pca9554.h" > +#include "hw/gpio/pca9554_regs.h" > #include "hw/irq.h" > #include "migration/vmstate.h" > #include "qapi/error.h" > diff --git a/tests/qtest/pca9552-test.c b/tests/qtest/pca9552-test.c > index ccca2b3d9140..747495769239 100644 > --- a/tests/qtest/pca9552-test.c > +++ b/tests/qtest/pca9552-test.c > @@ -12,7 +12,7 @@ > #include "libqtest.h" > #include "libqos/qgraph.h" > #include "libqos/i2c.h" > -#include "hw/misc/pca9552_regs.h" > +#include "hw/gpio/pca9552_regs.h" > > #define PCA9552_TEST_ID "pca9552-test" > #define PCA9552_TEST_ADDR 0x60 > diff --git a/tests/qtest/pnv-host-i2c-test.c b/tests/qtest/pnv-host- > i2c-test.c > index c6351772520c..7f64d597ac1d 100644 > --- a/tests/qtest/pnv-host-i2c-test.c > +++ b/tests/qtest/pnv-host-i2c-test.c > @@ -8,8 +8,8 @@ > */ > #include "qemu/osdep.h" > #include "libqtest.h" > -#include "hw/misc/pca9554_regs.h" > -#include "hw/misc/pca9552_regs.h" > +#include "hw/gpio/pca9554_regs.h" > +#include "hw/gpio/pca9552_regs.h" > #include "pnv-xscom.h" > > #define PPC_BIT(bit) (0x8000000000000000ULL >> (bit)) > diff --git a/hw/gpio/meson.build b/hw/gpio/meson.build > index 791e93a97bcc..a7495d196ae9 100644 > --- a/hw/gpio/meson.build > +++ b/hw/gpio/meson.build > @@ -2,6 +2,8 @@ system_ss.add(when: 'CONFIG_GPIO_KEY', if_true: > files('gpio_key.c')) > system_ss.add(when: 'CONFIG_GPIO_MPC8XXX', if_true: > files('mpc8xxx.c')) > system_ss.add(when: 'CONFIG_GPIO_PWR', if_true: files('gpio_pwr.c')) > system_ss.add(when: 'CONFIG_MAX7310', if_true: files('max7310.c')) > +system_ss.add(when: 'CONFIG_PCA9552', if_true: files('pca9552.c')) > +system_ss.add(when: 'CONFIG_PCA9554', if_true: files('pca9554.c')) > system_ss.add(when: 'CONFIG_PL061', if_true: files('pl061.c')) > system_ss.add(when: 'CONFIG_ZAURUS', if_true: files('zaurus.c')) > > diff --git a/hw/gpio/trace-events b/hw/gpio/trace-events > index 9331f4289d5a..b91cc7e9a45d 100644 > --- a/hw/gpio/trace-events > +++ b/hw/gpio/trace-events > @@ -13,6 +13,10 @@ nrf51_gpio_write(uint64_t offset, uint64_t value) > "offset 0x%" PRIx64 " value 0x > nrf51_gpio_set(int64_t line, int64_t value) "line %" PRIi64 " value > %" PRIi64 > nrf51_gpio_update_output_irq(int64_t line, int64_t value) "line %" > PRIi64 " value %" PRIi64 > > +# pca9552.c > +pca955x_gpio_status(const char *description, const char *buf) "%s > GPIOs 0-15 [%s]" > +pca955x_gpio_change(const char *description, unsigned id, unsigned > prev_state, unsigned current_state) "%s GPIO id:%u status: %u -> %u" > + > # pl061.c > pl061_update(const char *id, uint32_t dir, uint32_t data, uint32_t > pullups, uint32_t floating) "%s GPIODIR 0x%x GPIODATA 0x%x pullups > 0x%x floating 0x%x" > pl061_set_output(const char *id, int gpio, int level) "%s setting > output %d to %d" > diff --git a/hw/misc/meson.build b/hw/misc/meson.build > index 8e1ddc00f9b2..dd6cf89a5449 100644 > --- a/hw/misc/meson.build > +++ b/hw/misc/meson.build > @@ -3,8 +3,6 @@ system_ss.add(when: 'CONFIG_EDU', if_true: > files('edu.c')) > system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: > files('vmcoreinfo.c')) > system_ss.add(when: 'CONFIG_ISA_DEBUG', if_true: > files('debugexit.c')) > system_ss.add(when: 'CONFIG_ISA_TESTDEV', if_true: files('pc- > testdev.c')) > -system_ss.add(when: 'CONFIG_PCA9552', if_true: files('pca9552.c')) > -system_ss.add(when: 'CONFIG_PCA9554', if_true: files('pca9554.c')) > system_ss.add(when: 'CONFIG_PCI_TESTDEV', if_true: files('pci- > testdev.c')) > system_ss.add(when: 'CONFIG_UNIMP', if_true: files('unimp.c')) > system_ss.add(when: 'CONFIG_EMPTY_SLOT', if_true: > files('empty_slot.c')) > diff --git a/hw/misc/trace-events b/hw/misc/trace-events > index 0374eb33ac52..4896001f35de 100644 > --- a/hw/misc/trace-events > +++ b/hw/misc/trace-events > @@ -340,10 +340,6 @@ grlib_apb_pnp_read(uint64_t addr, unsigned size, > uint32_t value) "APB PnP read a > led_set_intensity(const char *color, const char *desc, uint8_t > intensity_percent) "LED desc:'%s' color:%s intensity: %u%%" > led_change_intensity(const char *color, const char *desc, uint8_t > old_intensity_percent, uint8_t new_intensity_percent) "LED desc:'%s' > color:%s intensity %u%% -> %u%%" > > -# pca9552.c > -pca955x_gpio_status(const char *description, const char *buf) "%s > GPIOs 0-15 [%s]" > -pca955x_gpio_change(const char *description, unsigned id, unsigned > prev_state, unsigned current_state) "%s GPIO id:%u status: %u -> %u" > - > # bcm2835_cprman.c > bcm2835_cprman_read(uint64_t offset, uint64_t value) "offset:0x%" > PRIx64 " value:0x%" PRIx64 > bcm2835_cprman_write(uint64_t offset, uint64_t value) "offset:0x%" > PRIx64 " value:0x%" PRIx64