c8c9e10394
hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init
...
I2CSlaveClass::init is no more used, remove it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20180419212727.26095-3-f4bug@amsat.org >
Reviewed-by: Markus Armbruster <armbru@redhat.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20180528144509.15812-3-armbru@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2018-06-01 15:14:31 +02:00
aa88d7ad28
i2c: Move the bus class to i2c.h
...
Some devices need access to it.
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Message-id: 20180227104903.21353-3-linus.walleij@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-03-01 11:05:45 +00:00
373b8ac794
i2c: Fix some brace style issues
...
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Message-id: 20180227104903.21353-2-linus.walleij@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-03-01 11:05:44 +00:00
7ab14c5ace
hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h
...
while here use TYPE_WM8750 and declare a data_req_cb() typedef.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-id: 20170919123053.32675-1-f4bug@amsat.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2018-02-02 08:19:25 +01:00
d307c28ca9
i2c: Allow I2C devices to NAK start events
...
Add a return value to the event handler. Some I2C devices will
NAK if they have no data, so allow them to do this. This required
the following changes:
Go through all the event handlers and change them to return int
and return 0.
Modify i2c_start_transfer to terminate the transaction on a NAK.
Modify smbus handing to not assert if a NAK occurs on a second
operation, and terminate the transaction and return -1 instead.
Add some information on semantics to I2CSlaveClass.
Signed-off-by: Corey Minyard <cminyard@mvista.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2017-01-09 11:40:20 +00:00
056fca7b51
i2c: Factor our send() and recv() common logic
...
Most of the control flow logic between send and recv (error checking
etc) is the same. Factor this out into a common send_recv() API.
This is then usable by clients, where the control logic for send
and receive differs only by a boolean. E.g.
if (send)
i2c_send(...):
else
i2c_recv(...);
becomes:
i2c_send_recv(... , send);
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Message-id: 1465833014-21982-4-git-send-email-fred.konrad@greensocs.com
Changes from FK:
* Rebased on master.
* Rebased on my i2c broadcast patch.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com >
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2016-06-14 15:59:14 +01:00
9fe451a08e
i2c: Drop FROM_I2C_SLAVE() macro
...
We now use type-specific QOM cast macros instead.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Signed-off-by: Andreas Färber <afaerber@suse.de >
2014-02-14 16:22:32 +01:00
a5c828525e
i2c: Rename i2c_bus to I2CBus
...
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com >
Signed-off-by: Andreas Färber <afaerber@suse.de >
2014-02-14 16:22:31 +01:00
0d09e41a51
hw: move headers to include/
...
Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2013-04-08 18:13:10 +02:00