qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: "Cédric Le Goater" <clg@kaod.org>, qemu-arm@nongnu.org
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Joel Stanley <joel@jms.id.au>, Andrew Jeffery <andrew@aj.id.au>,
	Alistair Francis <alistair@alistair23.me>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Eduardo Habkost <eduardo@habkost.net>,
	Bernhard Beschow <shentey@gmail.com>,
	Markus Armbruster <armbru@redhat.com>,
	Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper
Date: Wed, 31 May 2023 08:17:17 +0200	[thread overview]
Message-ID: <6bfba08e-ce3e-539b-952d-697c8791fab2@linaro.org> (raw)
In-Reply-To: <523179dd-7842-7f03-14d6-678ed680a017@kaod.org>

+QOM tinkerers

On 31/5/23 07:59, Cédric Le Goater wrote:
> On 5/30/23 23:15, Philippe Mathieu-Daudé wrote:
>> On 30/5/23 22:34, Philippe Mathieu-Daudé wrote:
>>> On 8/5/23 09:58, Cédric Le Goater 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>
>>>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>>>> ---
>>>>   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 ffd3a34ba4..c7beabdb09 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, int addr);
>>
>> Also, this helper should (preferably) return a SSIPeripheral type.
> 
> Well, having a DeviceState is handy for the callers (today) and
> ssi_create_peripheral() returns a DeviceState. Let's keep it that
> way.

Yes I know it is handy :) I'm not against your patch; besides other
APIs do that. I'm wondering about QOM design here. Having Foo device,
should FOO API return the common qdev abstract type (DeviceState) or
a Foo type? Either ways we keep QOM-casting around, but I still tend
to consider FOO API returning Foo pointer provides some type check
safety, and also provides the API user hints about what is used.
Need more coffee.


  reply	other threads:[~2023-05-31  6:18 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-08  7:58 [PATCH 00/12] aspeed: fixes and extensions Cédric Le Goater
2023-05-08  7:58 ` [PATCH 01/12] aspeed/hace: Initialize g_autofree pointer Cédric Le Goater
2023-05-08 14:28   ` Francisco Iglesias
2023-05-30 21:30   ` Philippe Mathieu-Daudé
2023-05-08  7:58 ` [PATCH 02/12] aspeed: Introduce a boot_rom region at the machine level Cédric Le Goater
2023-05-08 14:27   ` Francisco Iglesias
2023-05-30 21:28   ` Philippe Mathieu-Daudé
2023-05-08  7:58 ` [PATCH 03/12] aspeed: Use the boot_rom region of the fby35 machine Cédric Le Goater
2023-05-30 21:27   ` Philippe Mathieu-Daudé
2023-05-31  5:57     ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 04/12] hw/ssi: Add an "addr" property to SSIPeripheral Cédric Le Goater
2023-05-30 20:33   ` Philippe Mathieu-Daudé
2023-05-31  5:58     ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 05/12] hw/ssi: Introduce a ssi_get_cs() helper Cédric Le Goater
2023-05-30 20:34   ` Philippe Mathieu-Daudé
2023-05-30 21:15     ` Philippe Mathieu-Daudé
2023-05-31  5:59       ` Cédric Le Goater
2023-05-31  6:17         ` Philippe Mathieu-Daudé [this message]
2023-05-31  6:36           ` Cédric Le Goater
2023-05-31  7:39             ` Philippe Mathieu-Daudé
2023-06-05  5:57               ` Bernhard Beschow
2023-06-05 16:21                 ` Cédric Le Goater
2023-05-31  5:58     ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 06/12] aspeed/smc: Wire CS lines at reset Cédric Le Goater
2023-05-30 20:56   ` Philippe Mathieu-Daudé
2023-05-31  6:14     ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 07/12] hw/ssi: Check for duplicate addresses Cédric Le Goater
2023-05-30 21:05   ` Philippe Mathieu-Daudé
2023-05-31  6:20     ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 08/12] aspeed: Create flash devices only when defaults are enabled Cédric Le Goater
2023-05-08  7:58 ` [PATCH 09/12] m25p80: Introduce an helper to retrieve the BlockBackend of a device Cédric Le Goater
2023-05-30 21:14   ` Philippe Mathieu-Daudé
2023-05-31  6:48     ` Cédric Le Goater
2023-05-31  7:47       ` Philippe Mathieu-Daudé
2023-05-08  7:58 ` [PATCH 10/12] aspeed: Get the BlockBackend of FMC0 from the flash device Cédric Le Goater
2023-05-30 21:08   ` Philippe Mathieu-Daudé
2023-05-08  7:58 ` [PATCH 11/12] aspeed: Introduce a "uart" machine option Cédric Le Goater
2023-05-30 21:22   ` Philippe Mathieu-Daudé
2023-05-31  6:28     ` Cédric Le Goater
2023-05-31  7:50       ` Philippe Mathieu-Daudé
2023-05-31  8:47         ` Cédric Le Goater
2023-05-08  7:58 ` [PATCH 12/12] target/arm: Allow users to set the number of VFP registers Cédric Le Goater
2023-05-30 15:03 ` [PATCH 00/12] aspeed: fixes and extensions Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6bfba08e-ce3e-539b-952d-697c8791fab2@linaro.org \
    --to=philmd@linaro.org \
    --cc=alistair@alistair23.me \
    --cc=andrew@aj.id.au \
    --cc=armbru@redhat.com \
    --cc=clg@kaod.org \
    --cc=eduardo@habkost.net \
    --cc=joel@jms.id.au \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shentey@gmail.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).