From: Gerd Hoffmann <kraxel@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: [PATCH 05/20] eepro100: Add all supported devices to pci.c
Date: Wed, 03 Mar 2010 14:31:53 +0100 [thread overview]
Message-ID: <4B8E64C9.10406@redhat.com> (raw)
In-Reply-To: <20100303115111.GD15278@redhat.com>
On 03/03/10 12:51, Michael S. Tsirkin wrote:
> On Sun, Feb 21, 2010 at 10:08:49PM +0100, Stefan Weil wrote:
>>>> static const char * const pci_nic_models[] = {
>>>> "ne2k_pci",
>>>> + "i82550",
>>>> "i82551",
>>>> + "i82557a",
>>>> "i82557b",
>>>> + "i82557c",
>>>> + "i82558a",
>>>> + "i82558b",
>>>> + "i82559a",
>>>> + "i82559b",
>>>> + "i82559c",
>>>> "i82559er",
>>>> + "i82562",
>>>> "rtl8139",
>>>> "e1000",
>>>> "pcnet",
>>> One wonders: would it be cleaner to have a single eepro100 device
>>> with specific model as qdev option?
No. I think it would be cleaner to use qdev even more. For that
specific driver it would make sense to create a private Info struct,
i.e. something like this:
E100PCIDeviceInfo {
PCIDeviceInfo pci;
[ model specific stuff such as has_extended_tcb_support here ]
};
Then go
static E100PCIDeviceInfo eepro100_info[] = {
{
.pci.qdev.name = "i82550",
[ usual qdev stuff here ]
has_extended_tcb_support = 0 | 1;
[ more e100 device description bits here ]
},
[ ... ]
};
Then you can simply zap all the one-liner wrapper functions around
nic_init(). nic_init() can get a pointer using something like this:
E100PCIDeviceInfo *einfo = DO_UPCAST(E100PCIDeviceInfo,
pci.qdev, pci_dev->qdev.info);
and setup the device accordingly.
>> I prefer the "official" device names which are also
>> used in the Intel documentation. eepro100 or e100
>> are marketing names (more of them exist).
qdev has aliases. You can add .qdev.alias = "eepro100" to one of the
variants, then the eepro100 name will work as well.
Adding the marketing name to the .desc test is probably a good idea too
because alot of people know the marketing name only.
>> Please note that this patch was marked as optional.
>> The arrays pci_nic_names and pci_nic_models are
>> not really needed, and as soon as the table of available
>> nics is automatically derived from the device information,
>> all variants of i825xx are supported automatically.
> Gerd, any input on this patch?
Looks fine to me. When we switch over to walking the list of registered
devices instead of having a hard-coded list of pci nic drivers all the
eepro100 variants will show up in the list anyway.
cheers,
Gerd
next prev parent reply other threads:[~2010-03-03 13:32 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-14 16:15 [Qemu-devel] eepro100: New patch series adds full GPXE support Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 01/20] eepro100: Fix compiler errors from debug messages Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 02/20] eepro100: Add missing SCB register names Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 03/20] eepro100: Fix PXE boot Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 04/20] eepro100: Support gpxe boot for all eepro100 devices Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 05/20] eepro100: Add all supported devices to pci.c Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 06/20] eepro100: Add TODO list Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 07/20] eepro100: Update copyright notice Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 08/20] eepro100: Add device descriptions Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 09/20] eepro100: Use symbolic names and BIT macros in binary operations Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 10/20] eepro100: Remove old unused code Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 11/20] eepro100: Use symbolic names for bits in EEPROM id Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 12/20] eepro100: Replace variable name to fix a compiler warning Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 13/20] eepro100: Support RNR interrupt Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 14/20] eepro100: Fix CU Start command Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 15/20] eepro100: Prettify code (no functional changes) Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 16/20] eepro100: Use tx.status Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 17/20] eepro100: New function for reading command block Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 18/20] eepro100: Add diagnose command Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 19/20] eepro100: Remove C++ comments Stefan Weil
2010-02-14 16:16 ` [Qemu-devel] [PATCH 20/20] eepro100: Keep includes sorted Stefan Weil
2010-02-21 17:05 ` [Qemu-devel] Re: [PATCH 11/20] eepro100: Use symbolic names for bits in EEPROM id Michael S. Tsirkin
2010-02-21 21:38 ` Stefan Weil
2010-02-22 9:00 ` Michael S. Tsirkin
2010-03-02 18:42 ` [Qemu-devel] " Stefan Weil
2010-02-21 17:00 ` [Qemu-devel] Re: [PATCH 05/20] eepro100: Add all supported devices to pci.c Michael S. Tsirkin
2010-02-21 21:08 ` Stefan Weil
2010-03-03 11:51 ` Michael S. Tsirkin
2010-03-03 13:31 ` Gerd Hoffmann [this message]
2010-03-03 13:33 ` Michael S. Tsirkin
2010-03-03 18:53 ` Stefan Weil
2010-03-04 8:56 ` Gerd Hoffmann
2010-03-02 18:43 ` [Qemu-devel] [PATCH 03/20] eepro100: Fix PXE boot Stefan Weil
2010-03-02 20:04 ` [Qemu-devel] " Michael S. Tsirkin
2010-02-19 21:05 ` [Qemu-devel] [PATCH 01/20] eepro100: Fix compiler errors from debug messages Anthony Liguori
2010-03-01 17:54 ` Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 " Stefan Weil
2010-03-03 11:52 ` [Qemu-devel] " Michael S. Tsirkin
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 02/20] eepro100: Add missing SCB register names Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 03/20] eepro100: Fix PXE boot Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 04/20] eepro100: Support gpxe boot for all eepro100 devices Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 05/20] eepro100: Add all supported devices to pci.c Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 06/20] eepro100: Add TODO list Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 07/20] eepro100: Update copyright notice Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 08/20] eepro100: Add device descriptions Stefan Weil
2010-03-03 11:49 ` [Qemu-devel] " Michael S. Tsirkin
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 09/20] eepro100: Use symbolic names and BIT macros in binary operations Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 10/20] eepro100: Remove old unused code Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 11/20] eepro100: Use symbolic names for bits in EEPROM id Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 12/20] eepro100: Replace variable name to fix a compiler warning Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 13/20] eepro100: Support RNR interrupt Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 14/20] eepro100: Fix CU Start command Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 15/20] eepro100: Prettify code (no functional changes) Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 16/20] eepro100: Use tx.status Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 17/20] eepro100: New function for reading command block Stefan Weil
2010-03-03 11:44 ` [Qemu-devel] " Michael S. Tsirkin
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 18/20] eepro100: Add diagnose command Stefan Weil
2010-03-02 21:37 ` [Qemu-devel] [PATCHv3 19/20] eepro100: Remove C++ comments Stefan Weil
2010-03-03 11:47 ` [Qemu-devel] " Michael S. Tsirkin
2010-03-03 19:15 ` Stefan Weil
2010-03-03 19:59 ` Michael S. Tsirkin
2010-03-02 21:38 ` [Qemu-devel] [PATCHv3 20/20] eepro100: Keep includes sorted Stefan Weil
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=4B8E64C9.10406@redhat.com \
--to=kraxel@redhat.com \
--cc=mst@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 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.