[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 05/12] hw/ssi: Introduce a ssi_get_cs() helper
From: |
Joel Stanley |
Subject: |
Re: [PATCH v2 05/12] hw/ssi: Introduce a ssi_get_cs() helper |
Date: |
Wed, 7 Jun 2023 08:10:20 +0000 |
On Wed, 7 Jun 2023 at 04:40, Cédric Le Goater <clg@kaod.org> wrote:
>
> Simple routine to retrieve a DeviceState object on a SPI bus using its
> address/cs. It will be useful for the board to wire the CS lines.
>
> Cc: Alistair Francis <alistair@alistair23.me>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
> ---
> include/hw/ssi/ssi.h | 2 ++
> hw/ssi/ssi.c | 15 +++++++++++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/include/hw/ssi/ssi.h b/include/hw/ssi/ssi.h
> index 9e0706a5248c..01662521b09a 100644
> --- a/include/hw/ssi/ssi.h
> +++ b/include/hw/ssi/ssi.h
> @@ -112,4 +112,6 @@ SSIBus *ssi_create_bus(DeviceState *parent, const char
> *name);
>
> uint32_t ssi_transfer(SSIBus *bus, uint32_t val);
>
> +DeviceState *ssi_get_cs(SSIBus *bus, uint8_t addr);
> +
> #endif
> diff --git a/hw/ssi/ssi.c b/hw/ssi/ssi.c
> index d4409535429c..7c71fce0db90 100644
> --- a/hw/ssi/ssi.c
> +++ b/hw/ssi/ssi.c
> @@ -27,6 +27,21 @@ struct SSIBus {
> #define TYPE_SSI_BUS "SSI"
> OBJECT_DECLARE_SIMPLE_TYPE(SSIBus, SSI_BUS)
>
> +DeviceState *ssi_get_cs(SSIBus *bus, uint8_t addr)
> +{
> + BusState *b = BUS(bus);
> + BusChild *kid;
> +
> + QTAILQ_FOREACH(kid, &b->children, sibling) {
> + SSIPeripheral *kid_ssi = SSI_PERIPHERAL(kid->child);
> + if (kid_ssi->addr == addr) {
> + return kid->child;
> + }
> + }
> +
> + return NULL;
> +}
> +
> static const TypeInfo ssi_bus_info = {
> .name = TYPE_SSI_BUS,
> .parent = TYPE_BUS,
> --
> 2.40.1
>
- [PATCH v2 03/12] aspeed: Use the boot_rom region of the fby35 machine, (continued)
[PATCH v2 05/12] hw/ssi: Introduce a ssi_get_cs() helper, Cédric Le Goater, 2023/06/07
[PATCH v2 06/12] aspeed/smc: Wire CS lines at reset, Cédric Le Goater, 2023/06/07
[PATCH v2 07/12] hw/ssi: Check for duplicate addresses, Cédric Le Goater, 2023/06/07
[PATCH v2 09/12] m25p80: Introduce an helper to retrieve the BlockBackend of a device, Cédric Le Goater, 2023/06/07