From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 00/22] Indirection Cleanup
Date: Mon, 24 Aug 2009 13:03:21 +0200 [thread overview]
Message-ID: <cover.1251111439.git.quintela@redhat.com> (raw)
This patch series clean up "half" converted qemu drivers that had changed from:
struct FOOState
to
typedef PCIFOOState {
PCIDevice dev;
FOOState foo;
} PCIFOOState;
It just moves PCIDevice to be the 1st field of FOOState.
Once there, other cleanups were done:
a - pci_dev pointer from FOOState to PCIFOOState is removed, jsut use s->dev
The field is leave only in the drivers that also emulate isa.
b- Once there, transformo
PCIFOOState *s = (PCIFOOState *)pci_dev
to
PCIFOOState *s = DO_UPCAST(PCIFOOState, dev, pci_dev)
where pci_dev is a PCI_DEVICE.
c- again, once there, remove all the casts from void * (they are not
needed since '89)
PCIFOOState *s = (PCIFOOState *)opaque;
to
PCIFOOState *s = opaque;
d- Start of vga.c cleanup. It is not trivial, as just now
VGAState == VGACommonState, functions need to be changed to use the right value.
ToDo:
- pcnet: It needs a different approach, because it can be both a PCIDevice
or a SysBus device.
- vga: It have to separate the common part for the not common part, problems now
is that VGAState is used for both the common state and the standard vga.
To make things more interesting, different bits are "inherited" from vga
in different devices:
- cirrus_vga
- vmware_vga
- blizzard (vga that is not pci)
- vga common state has a pci_dev pointer, that is only needed by std vga,
as cirrus_vga stores it (with this patches) otherplace, blizzard is not pci
.... you get the idea
- I guess some other driver is missing, but my fast grep didn't found it.
Later, Juan.
Juan Quintela (22):
eepro100: convert casts to DO_UPCAST()
eepro100: cast a void * makes no sense
eepro100: Remove unused indirection of PCIDevice
es1370: Remove unused indirection of PCIES1370State and ES1370State
ne2000: remove casts from void *
ne2000: pci_dev has this very value with the right type
ne2000: Remove unneeded double indirection of PCINE2000State
ne2000: change pci_dev to is_pci
pci: remove casts from void *
rtl8139: Remove unneeded double indirection of PCIRTL8139State
rtl8139: remove pointless cast from void *
lsi53c895a: remove pointless cast from void *
lsi53c895a: use DO_UPCAST to cast from PCIDevice
lsi53c895a: rename PCIDevice field from pci_dev to dev (consistence)
lsi53c895a: LSIState is a PCIDevice is a DeviceHost
usb-ohci: Remove unneeded double indirection of OHCIPCIState
cirrus_vga: Remove unneeded double indirection of PCICirrusVGAState
cirrus_vga: remove pointless cast from void *
cirrus_vga: change use of pci_dev for is_pci
Introduce vga_common_reset() to be able to typcheck vga_reset()
vga: Rename vga_state -> vga
Everything outside of vga.c should use VGACommonState
hw/cirrus_vga.c | 59 ++++++++++++++++++++++---------------------------
hw/eepro100.c | 65 ++++++++++++++++++++++--------------------------------
hw/es1370.c | 31 ++++++++-----------------
hw/lsi53c895a.c | 65 ++++++++++++++++++++++++++++---------------------------
hw/ne2000.c | 41 ++++++++++++++--------------------
hw/pci.c | 8 +++---
hw/rtl8139.c | 42 ++++++++++++----------------------
hw/usb-ohci.c | 34 +++++++++++-----------------
hw/vga.c | 26 +++++++++++++--------
hw/vga_int.h | 12 ++++------
hw/vmware_vga.c | 4 +-
11 files changed, 170 insertions(+), 217 deletions(-)
next reply other threads:[~2009-08-24 11:06 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-24 11:03 Juan Quintela [this message]
2009-08-24 11:03 ` [Qemu-devel] [PATCH 01/22] eepro100: convert casts to DO_UPCAST() Juan Quintela
2009-08-24 12:59 ` Stefan Weil
2009-08-24 12:59 ` [Qemu-devel] " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense Juan Quintela
2009-08-24 12:56 ` Stefan Weil
2009-08-24 13:04 ` [Qemu-devel] " Juan Quintela
2009-08-24 13:51 ` Anthony Liguori
2009-08-24 13:51 ` [Qemu-devel] " Markus Armbruster
2009-08-26 13:52 ` [Qemu-devel] Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense) Stefan Weil
2009-08-26 14:49 ` Gerd Hoffmann
2009-08-26 17:04 ` Jamie Lokier
2009-08-26 18:37 ` malc
2009-08-26 19:03 ` Jamie Lokier
2009-08-26 19:26 ` malc
2009-08-26 21:00 ` Jamie Lokier
2009-08-26 15:01 ` [Qemu-devel] Coding style, C++ compatible code Markus Armbruster
2009-08-26 15:19 ` Anthony Liguori
2009-08-26 15:20 ` Coding style, C++ compatible code (was Re: [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense) Måns Rullgård
2009-08-26 15:58 ` Reimar Döffinger
2009-08-26 16:08 ` Avi Kivity
2009-09-03 12:05 ` Stuart Brady
2009-08-26 15:54 ` [Qemu-devel] " Avi Kivity
2009-08-26 17:36 ` Jamie Lokier
2009-08-24 14:05 ` [Qemu-devel] [PATCH 02/22] eepro100: cast a void * makes no sense Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 03/22] eepro100: Remove unused indirection of PCIDevice Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 04/22] es1370: Remove unused indirection of PCIES1370State and ES1370State Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 05/22] ne2000: remove casts from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 06/22] ne2000: pci_dev has this very value with the right type Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 07/22] ne2000: Remove unneeded double indirection of PCINE2000State Juan Quintela
2009-08-24 12:40 ` Gerd Hoffmann
2009-08-24 12:51 ` [Qemu-devel] " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 08/22] ne2000: change pci_dev to is_pci Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 09/22] pci: remove casts from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 10/22] rtl8139: Remove unneeded double indirection of PCIRTL8139State Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 11/22] rtl8139: remove pointless cast from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 12/22] lsi53c895a: " Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 13/22] lsi53c895a: use DO_UPCAST to cast from PCIDevice Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 14/22] lsi53c895a: rename PCIDevice field from pci_dev to dev (consistence) Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 15/22] lsi53c895a: LSIState is a PCIDevice is a DeviceHost Juan Quintela
2009-08-24 12:44 ` Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 16/22] usb-ohci: Remove unneeded double indirection of OHCIPCIState Juan Quintela
2009-08-24 12:46 ` Gerd Hoffmann
2009-08-24 11:03 ` [Qemu-devel] [PATCH 17/22] cirrus_vga: Remove unneeded double indirection of PCICirrusVGAState Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 18/22] cirrus_vga: remove pointless cast from void * Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 19/22] cirrus_vga: change use of pci_dev for is_pci Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 20/22] Introduce vga_common_reset() to be able to typcheck vga_reset() Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 21/22] vga: Rename vga_state -> vga Juan Quintela
2009-08-24 11:03 ` [Qemu-devel] [PATCH 22/22] Everything outside of vga.c should use VGACommonState Juan Quintela
2009-08-24 12:37 ` [Qemu-devel] [PATCH 00/22] Indirection Cleanup Gerd Hoffmann
2009-08-24 12:56 ` [Qemu-devel] " Juan Quintela
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=cover.1251111439.git.quintela@redhat.com \
--to=quintela@redhat.com \
--cc=qemu-devel@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 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).