mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-01-28 11:50:37 -07:00
Minor changes to:
Add an SMBus config entry Cleanup/simplify/document some I2C interfaces -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE/Q1c5nzg9ZpmiCaGYfOMkJGb/4EFAl8Qko8ACgkQYfOMkJGb /4FZTw//bMJWaXncOCYGJS8k4mCAgE7Bbo7tz2AkIqE59ty6kQ0fjDX/olMa9bLi mxFEEPw1mO2A65A6najWMjhxJnuNa+a66xWpQQRfuWXTXO4zM7I8QxC6pnYjCXrN iYPfv6IS5TQMsKrRP3kvXueW3jkpYYyUocww9CF/CoB1YiNhVpx/p7Ov4nwdBV+6 GU7EBenu+X0a4mk5mX7DZJ7IPvIXUSa8HTfhpiV3doAe+31W2c839+u6ZcuN6JQ5 Vxdg5ApWasoMdEyaFvWowx2cKMZK/TYNRLJcKtxHgS5ZpfXr+lwMe3Hiv++QJw6a aedaZl1eYklHcY6qOD9JFlbSOx6y4pJUi2NB4SXHtji7tcTgErygRVf8PukyXuU3 laKsavBmM0Lc/w4BbyUP+L+a/YTY+vv8WHi+bOQH06HohQpZGrycf7iPL3MwYmdG oCf8uls5MPdPL1N6wNcGbd1F921IVd5mnNwuSfAau5ocgyUjHMuxlXradeFuJfY4 ihIp49i3dS+f01txeM+zPIMAxImM+tpuH02nzDK9isztCZIo34P4iNMYTB0v4e4L ESRqohhyC55Tg6vudJBpjJLK/trz7TpyZnEOnCo5pwHvbnFyWOZY0F8Pj1LTfDMf sD+Nvm9yk6bNIvmRHBCvCiWX2D/Y6OC5vZdVNt+kqpSkUavxMGE= =SsWF -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/cminyard/tags/for-qemu-i2c-5' into staging Minor changes to: Add an SMBus config entry Cleanup/simplify/document some I2C interfaces # gpg: Signature made Thu 16 Jul 2020 18:46:55 BST # gpg: using RSA key FD0D5CE67CE0F59A6688268661F38C90919BFF81 # gpg: Good signature from "Corey Minyard <cminyard@mvista.com>" [unknown] # gpg: aka "Corey Minyard <minyard@acm.org>" [unknown] # gpg: aka "Corey Minyard <corey@minyard.net>" [unknown] # gpg: aka "Corey Minyard <minyard@mvista.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: FD0D 5CE6 7CE0 F59A 6688 2686 61F3 8C90 919B FF81 * remotes/cminyard/tags/for-qemu-i2c-5: hw/i2c: Document the I2C qdev helpers hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() hw/i2c: Rename i2c_realize_and_unref() as i2c_slave_realize_and_unref() hw/i2c: Rename i2c_try_create_slave() as i2c_slave_new() hw/i2c/aspeed_i2c: Simplify aspeed_i2c_get_bus() hw/i2c/Kconfig: Add an entry for the SMBus Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
873ec69aeb
20 changed files with 131 additions and 77 deletions
|
|
@ -93,6 +93,6 @@ typedef struct AspeedI2CClass {
|
|||
|
||||
} AspeedI2CClass;
|
||||
|
||||
I2CBus *aspeed_i2c_get_bus(DeviceState *dev, int busnr);
|
||||
I2CBus *aspeed_i2c_get_bus(AspeedI2CState *s, int busnr);
|
||||
|
||||
#endif /* ASPEED_I2C_H */
|
||||
|
|
|
|||
|
|
@ -79,9 +79,57 @@ 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);
|
||||
|
||||
DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr);
|
||||
DeviceState *i2c_try_create_slave(const char *name, uint8_t addr);
|
||||
bool i2c_realize_and_unref(DeviceState *dev, I2CBus *bus, Error **errp);
|
||||
/**
|
||||
* 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 and realize 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).
|
||||
*/
|
||||
I2CSlave *i2c_slave_create_simple(I2CBus *bus, const char *name, uint8_t addr);
|
||||
|
||||
/**
|
||||
* Realize and and drop a reference 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: pointer to NULL initialized error object
|
||||
*
|
||||
* Returns: %true on success, %false on failure.
|
||||
*
|
||||
* Call 'realize' on @dev, put it on the specified @bus, and drop the
|
||||
* reference to it.
|
||||
*
|
||||
* 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 */
|
||||
void lm832x_key_event(DeviceState *dev, int key, int state);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue