summaryrefslogtreecommitdiffstats
path: root/hw/i2c.h
Commit message (Collapse)AuthorAgeFilesLines
* qdev: register all types natively through QEMU Object ModelAnthony Liguori2012-02-031-3/+0
| | | | | | | | | | | | | | | | | | | | | This was done in a mostly automated fashion. I did it in three steps and then rebased it into a single step which avoids repeatedly touching every file in the tree. The first step was a sed-based addition of the parent type to the subclass registration functions. The second step was another sed-based removal of subclass registration functions while also adding virtual functions from the base class into a class_init function as appropriate. Finally, a python script was used to convert the DeviceInfo structures and qdev_register_subclass functions to TypeInfo structures, class_init functions, and type_register_static calls. We are almost fully converted to QOM after this commit. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* i2c: smbus: convert to QEMU Object ModelAnthony Liguori2012-01-271-17/+23
| | | | | | | This converts two types because smbus is implemented as a subclass of i2c. It's extremely difficult to convert these two independently. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* i2c: rename i2c_slave -> I2CSlaveAnthony Liguori2012-01-271-10/+12
| | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* vmstate: extract declarations out of hw/hw.hPaolo Bonzini2012-01-131-0/+10
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* lm832x: Take DeviceState pointer in lm832x_key_event()Peter Maydell2011-07-301-1/+1
| | | | | | | | | | | | | Since lm832x has been qdev'ified, its users will generally have a DeviceState pointer rather than an i2c_slave pointer, so adjust lm832x_key_event's prototype to suit. This allows the n810 (its only user) to actually pass a correct pointer to it rather than NULL. The effect is that we no longer segfault when a key is pressed. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
* max7310: finish qdev'icationDmitry Eremin-Solenikov2011-02-111-5/+0
| | | | | | | | | | 1) Move GPIO-related functionality to qdev. Now one can use directly qdev_get_gpio_in()/qdev_connect_gpio_out() on max7310 devices. 2) Make reset to be called through qdev.reset callback. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
* vmstate: remove i2c_slave_load/saveJuan Quintela2009-10-051-2/+0
| | | | | | | All its users moved to vmstate Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* i2c: addresses are load/save as uint8_t values, change types to reflect thisJuan Quintela2009-10-051-4/+4
| | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qdev: add return value to init() callbacks.Gerd Hoffmann2009-08-271-1/+1
| | | | | | | | | | | | | | | | | | Sorry folks, but it has to be. One more of these invasive qdev patches. We have a serious design bug in the qdev interface: device init callbacks can't signal failure because the init() callback has no return value. This patch fixes it. We have already one case in-tree where this is needed: Try -device virtio-blk-pci (without drive= specified) and watch qemu segfault. This patch fixes it. With usb+scsi being converted to qdev we'll get more devices where the init callback can fail for various reasons. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qdev: rework device properties.Gerd Hoffmann2009-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a major overhaul of the device properties. The properties are saved directly in the device state struct now, the linked list of property values is gone. Advantages: * We don't have to maintain the list with the property values. * The value in the property list and the value actually used by the device can't go out of sync any more (used to happen for the pci.devfn == -1 case) because there is only one place where the value is stored. * A record describing the property is required now, you can't set random properties any more. There are bus-specific and device-specific properties. The former should be used for properties common to all bus drivers. Typical use case is bus addressing, i.e. pci.devfn and i2c.address. Properties have a PropertyInfo struct attached with name, size and function pointers to parse and print properties. A few common property types have PropertyInfos defined in qdev-properties.c. Drivers are free to implement their own very special property parsers if needed. Properties can have default values. If unset they are zero-filled. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qdev: move name+size into DeviceInfo (v2)Gerd Hoffmann2009-06-111-1/+1
| | | | | | | | Rationale: move device information from code to data structures. v2: Adapt the drivers missed in the first version. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Add common BusStatePaul Brook2009-05-231-3/+3
| | | | | | | | | | | Implement and use a common device bus state. The main side-effect is that creating a bus and attaching it to a parent device are no longer separate operations. For legacy code we allow a NULL parent, but that should go away eventually. Also tweak creation code to veriry theat a device in on the right bus. Signed-off-by: Paul Brook <paul@codesourcery.com>
* PXA SSI qdev conversionPaul Brook2009-05-141-8/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* I2C cleanupPaul Brook2009-05-141-5/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* TWL92230 qdev conversionPaul Brook2009-05-141-5/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* WM8750 qdev coversionPaul Brook2009-05-141-3/+1
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* TMP105 qdev conversionPaul Brook2009-05-141-2/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* LM832x qdev conversionPaul Brook2009-05-141-2/+1
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* MAX7310 I2C qdev conversionPaul Brook2009-05-141-1/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* SSD0303 qdev conversionPaul Brook2009-05-141-3/+0
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* I2C qdev supportPaul Brook2009-05-141-1/+22
| | | | Signed-off-by: Paul Brook <paul@codesourcery.com>
* Push AUD_init down to devicesPaul Brook2009-05-121-1/+1
| | | | | | | | Now we can safely call AUD_init multiple times we can push it down to individual audio devices, rather than having to pass it from the board init. Signed-off-by: Paul Brook <paul@codesourcery.com>
* Follow coding conventionsPaul Brook2009-05-101-4/+4
| | | | | | Remove explicit struct qualifiers and rename structure types. Signed-off-by: Paul Brook <paul@codesourcery.com>
* graphical_console_init change (Stefano Stabellini)aliguori2009-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch 5/7 This patch changes the graphical_console_init function to return an allocated DisplayState instead of a QEMUConsole. This patch contains just the graphical_console_init change and few other modifications mainly in console.c and vl.c. It was necessary to move the display frontends (e.g. sdl and vnc) initialization after machine->init in vl.c. This patch does *not* include any required changes to any device, these changes come with the following patches. Patch 6/7 This patch changes the QEMUMachine init functions not to take a DisplayState as an argument because is not needed any more; In few places the graphic hardware initialization function was called only if DisplayState was not NULL, now they are always called. Apart from these cases, the rest are all mechanical substitutions. Patch 7/7 This patch updates the graphic device code to use the new graphical_console_init function. As for the previous patch, in few places graphical_console_init was called only if DisplayState was not NULL, now it is always called. Apart from these cases, the rest are all mechanical substitutions. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6344 c046a42c-6fe2-441c-8c8c-71466251a162
* Don't use "hz" in identifiers to make AIX happy.balrog2008-11-121-1/+1
| | | | | | | | malc found AIX headers leak "hz" and so it can't be used there. Change the occurences in hw/. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5709 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix i2c save/restore.pbrook2008-07-011-2/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4820 c046a42c-6fe2-441c-8c8c-71466251a162
* Add the LM8323-based keyboard of N810.balrog2008-05-091-0/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4400 c046a42c-6fe2-441c-8c8c-71466251a162
* Use external clock in wm8750 slave mode.balrog2008-05-041-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4325 c046a42c-6fe2-441c-8c8c-71466251a162
* Let WM8750 users write to audio buffer directly.balrog2008-04-261-0/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4254 c046a42c-6fe2-441c-8c8c-71466251a162
* Nokia N800 machine support (ARM).balrog2008-04-141-0/+10
| | | | | | | | | | | Also add various peripherals: two miscellaneous Nokia CBUS chips, EPSON S1D13745 LCD/TV remote-framebuffer controller, TWL92230 - standard OMAP2 power management companion chip on i2c. Generic OneNAND flash memory, TMP105 temperature sensor on i2c. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4215 c046a42c-6fe2-441c-8c8c-71466251a162
* Break up vl.h.pbrook2007-11-171-4/+11
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162
* Spelling fixes, by Stefan Weil.ths2007-07-111-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3066 c046a42c-6fe2-441c-8c8c-71466251a162
* Savevm/loadvm bits for ARM core, the PXA2xx peripherals and Spitz hardware.balrog2007-05-241-0/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2857 c046a42c-6fe2-441c-8c8c-71466251a162
* Add WM8750 and MAX7310 chips (I2C slaves).balrog2007-05-231-0/+14
| | | | | | | Wolfson Microsystems WM8750 audio chip and Maxim MAX7310 gpio expander chip are used in the Spitz. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2854 c046a42c-6fe2-441c-8c8c-71466251a162
* I2C/SMBus framework.pbrook2007-05-231-0/+49
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2845 c046a42c-6fe2-441c-8c8c-71466251a162
OpenPOWER on IntegriCloud