Il 18/07/2013 16:42, Marcel Apfelbaum ha scritto: > On Thu, 2013-07-18 at 09:28 -0500, Anthony Liguori wrote: >> Marcel Apfelbaum <marce...@redhat.com> writes: >> >>> Categorize devices that appear as output to "-device ?" command >>> by logical functionality. Sort the devices by logical categories >>> before showing them to user. >>> >>> Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> >>> Reviewed-by: Kevin Wolf <kw...@redhat.com> >>> --- >>> include/hw/qdev-core.h | 7 +++++++ >>> qdev-monitor.c | 23 ++++++++++++++++++++++- >>> 2 files changed, 29 insertions(+), 1 deletion(-) >>> >>> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h >>> index 7fbffcb..4f7a9b8 100644 >>> --- a/include/hw/qdev-core.h >>> +++ b/include/hw/qdev-core.h >>> @@ -17,6 +17,12 @@ enum { >>> #define DEVICE_CLASS(klass) OBJECT_CLASS_CHECK(DeviceClass, (klass), >>> TYPE_DEVICE) >>> #define DEVICE_GET_CLASS(obj) OBJECT_GET_CLASS(DeviceClass, (obj), >>> TYPE_DEVICE) >>> >>> +#define DEVICE_CATEGORY_STORAGE "storage" >>> +#define DEVICE_CATEGORY_NETWORK "network" >>> +#define DEVICE_CATEGORY_INPUT "input" >>> +#define DEVICE_CATEGORY_DISPLAY "display" >>> +#define DEVICE_CATEGORY_SOUND "sound" >>> + >> >> Looks reasonable, but please make this a bitmap. There are cases, >> particularly if we start modeling multifunction PCI cards as a single >> device, where a single device can support multiple types of >> functionality. > > Antony, thanks for your review! > The whole point was to find a way to differentiate them by > functionality so they can be sorted... > Is it possible that a multifunction pci card will be used > for more then one category mentioned above?
Yes, for example your laptop's GPU probably has an audio function too. > I agree the list may not be exhaustive, but I really hope > I'll find a way to sort them in such a way that a > device will not fall under more than one category If you sort the bit definitions in alphabetic order (audio=bit 30, display=bit 29, etc. for example), the resulting integer sort should also yield alphabetic order. But perhaps it's not a smart idea if we take into account future localization of the help text. Paolo