From: Corey Minyard <minyard@acm.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Corey Minyard" <cminyard@mvista.com>,
"Andrew Jeffery" <andrew@aj.id.au>,
qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
"Cédric Le Goater" <clg@kaod.org>,
"Jan Kiszka" <jan.kiszka@web.de>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Joel Stanley" <joel@jms.id.au>
Subject: Re: [PATCH 5/5] hw/i2c: Document the I2C qdev helpers
Date: Mon, 29 Jun 2020 16:30:20 -0500 [thread overview]
Message-ID: <20200629213020.GU3235@minyard.net> (raw)
In-Reply-To: <20200629173821.22037-6-f4bug@amsat.org>
On Mon, Jun 29, 2020 at 07:38:21PM +0200, Philippe Mathieu-Daudé wrote:
> In commit d88c42ff2c we added new prototype but neglected to
> add their documentation. Fix that.
Reviewed-by: Corey Minyard <cminyard@mvista.com>
>
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/hw/i2c/i2c.h | 48 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
>
> diff --git a/include/hw/i2c/i2c.h b/include/hw/i2c/i2c.h
> index c533058998..fcc61e509b 100644
> --- a/include/hw/i2c/i2c.h
> +++ b/include/hw/i2c/i2c.h
> @@ -79,8 +79,56 @@ int i2c_send_recv(I2CBus *bus, uint8_t *data, bool send);
> int i2c_send(I2CBus *bus, uint8_t data);
> uint8_t i2c_recv(I2CBus *bus);
>
> +/**
> + * Create an I2C slave device on the heap.
> + * @name: a device type name
> + * @addr: I2C address of the slave when put on a bus
> + *
> + * This only initializes the device state structure and allows
> + * properties to be set. Type @name must exist. The device still
> + * needs to be realized. See qdev-core.h.
> + */
> I2CSlave *i2c_slave_new(const char *name, uint8_t addr);
> +
> +/**
> + * Create an I2C slave device on the heap.
> + * @bus: I2C bus to put it on
> + * @name: I2C slave device type name
> + * @addr: I2C address of the slave when put on a bus
> + *
> + * Create the device state structure, initialize it, put it on the
> + * specified @bus, and drop the reference to it (the device is realized).
> + * Any error aborts the process.
> + */
> I2CSlave *i2c_slave_create_simple(I2CBus *bus, const char *name, uint8_t addr);
> +
> +/**
> + * i2c_slave_realize_and_unref: realize and unref an I2C slave device
> + * @dev: I2C slave device to realize
> + * @bus: I2C bus to put it on
> + * @addr: I2C address of the slave on the bus
> + * @errp: error pointer
> + *
> + * Call 'realize' on @dev, put it on the specified @bus, and drop the
> + * reference to it. Errors are reported via @errp and by returning
> + * false.
> + *
> + * This function is useful if you have created @dev via qdev_new(),
> + * i2c_slave_new() or i2c_slave_try_new() (which take a reference to
> + * the device it returns to you), so that you can set properties on it
> + * before realizing it. If you don't need to set properties then
> + * i2c_slave_create_simple() is probably better (as it does the create,
> + * init and realize in one step).
> + *
> + * If you are embedding the I2C slave into another QOM device and
> + * initialized it via some variant on object_initialize_child() then
> + * do not use this function, because that family of functions arrange
> + * for the only reference to the child device to be held by the parent
> + * via the child<> property, and so the reference-count-drop done here
> + * would be incorrect. (Instead you would want i2c_slave_realize(),
> + * which doesn't currently exist but would be trivial to create if we
> + * had any code that wanted it.)
> + */
> bool i2c_slave_realize_and_unref(I2CSlave *dev, I2CBus *bus, Error **errp);
>
> /* lm832x.c */
> --
> 2.21.3
>
>
next prev parent reply other threads:[~2020-06-29 21:32 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-29 17:38 [PATCH 0/5] hw/i2c: Rename method names for consistency and add documentation Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-29 17:38 ` [PATCH 1/5] hw/i2c/aspeed_i2c: Simplify aspeed_i2c_get_bus() Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-30 9:28 ` Markus Armbruster
2020-07-13 12:23 ` Cédric Le Goater
2020-07-13 12:23 ` Cédric Le Goater
2020-06-29 17:38 ` [PATCH 2/5] hw/i2c: Rename i2c_try_create_slave() as i2c_slave_new() Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-29 21:29 ` Corey Minyard
2020-06-29 21:37 ` BALATON Zoltan
2020-06-29 21:37 ` BALATON Zoltan
2020-06-30 8:29 ` Philippe Mathieu-Daudé
2020-06-30 8:29 ` Philippe Mathieu-Daudé
2020-06-30 9:37 ` Markus Armbruster
2020-06-29 17:38 ` [PATCH 3/5] hw/i2c: Rename i2c_realize_and_unref() as i2c_slave_realize_and_unref() Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-29 21:29 ` Corey Minyard
2020-06-29 17:38 ` [PATCH 4/5] hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-29 21:29 ` Corey Minyard
2020-06-30 9:48 ` Markus Armbruster
2020-06-29 17:38 ` [PATCH 5/5] hw/i2c: Document the I2C qdev helpers Philippe Mathieu-Daudé
2020-06-29 17:38 ` Philippe Mathieu-Daudé
2020-06-29 21:30 ` Corey Minyard [this message]
2020-06-30 10:15 ` Markus Armbruster
2020-06-30 10:45 ` Philippe Mathieu-Daudé
2020-06-30 13:16 ` Peter Maydell
2020-07-14 7:05 ` Markus Armbruster
2020-07-14 9:32 ` Peter Maydell
2020-06-29 21:28 ` [PATCH 0/5] hw/i2c: Rename method names for consistency and add documentation Corey Minyard
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=20200629213020.GU3235@minyard.net \
--to=minyard@acm.org \
--cc=andrew@aj.id.au \
--cc=armbru@redhat.com \
--cc=clg@kaod.org \
--cc=cminyard@mvista.com \
--cc=david@gibson.dropbear.id.au \
--cc=f4bug@amsat.org \
--cc=jan.kiszka@web.de \
--cc=joel@jms.id.au \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.