[gnome-battery-bench] system-info: pci device class, add revision
- From: Christian Kellner <gicmo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-battery-bench] system-info: pci device class, add revision
- Date: Wed, 5 Jul 2017 14:18:55 +0000 (UTC)
commit a0ac3e4c72820a9df4eb20bb5c826f7e9ecba2f4
Author: Christian Kellner <gicmo gnome org>
Date: Tue Jun 13 18:33:03 2017 +0200
system-info: pci device class, add revision
src/system-info.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/system-info.c b/src/system-info.c
index 7316b7e..1a559e0 100644
--- a/src/system-info.c
+++ b/src/system-info.c
@@ -53,6 +53,8 @@ typedef struct _GbbPciDevicePrivate {
gboolean enabled;
+ guint revision;
+
} GbbPciDevicePrivate;
enum {
@@ -64,6 +66,7 @@ enum {
PROP_DEVICE_ID,
PROP_DEVICE_NAME,
PROP_ENABLED,
+ PROP_REVISION,
PROP_PCI_DEVICE_LAST
};
@@ -132,6 +135,10 @@ gbb_pci_device_get_property(GObject *object,
case PROP_ENABLED:
g_value_set_boolean(value, priv->enabled);
break;
+
+ case PROP_REVISION:
+ g_value_set_uint(value, priv->revision);
+ break;
}
}
@@ -212,6 +219,12 @@ gbb_pci_device_class_init(GbbPciDeviceClass *klass)
G_PARAM_READABLE |
G_PARAM_STATIC_NAME);
+ pcidev_props[PROP_REVISION] =
+ g_param_spec_uint("revision",
+ NULL, NULL,
+ 0, G_MAXUINT8, 0,
+ G_PARAM_READABLE | G_PARAM_STATIC_NAME);
+
g_object_class_install_properties(gobject_class,
PROP_PCI_DEVICE_LAST,
pcidev_props);
@@ -257,6 +270,11 @@ gbb_pci_device_constructed(GObject *obj)
if (ok) {
priv->enabled = val != 0;
}
+
+ ok = sysfs_read_guint64(udevice, "revision", &val);
+ if (ok) {
+ priv->revision = (guint) val;
+ }
}
static void
@@ -1329,6 +1347,7 @@ gbb_system_info_to_json (const GbbSystemInfo *info, JsonBuilder *builder)
guint vendor_id;
guint device_id;
gboolean enabled;
+ guint revision;
g_object_get(gpu,
"vendor", &vendor_id,
@@ -1336,6 +1355,7 @@ gbb_system_info_to_json (const GbbSystemInfo *info, JsonBuilder *builder)
"device", &device_id,
"device-name", &device_name,
"enabled", &enabled,
+ "revision", &revision,
NULL);
json_builder_begin_object(builder);
@@ -1345,6 +1365,8 @@ gbb_system_info_to_json (const GbbSystemInfo *info, JsonBuilder *builder)
json_builder_add_int_value(builder, device_id);
jsb_add_kv_string(builder, "vendor-name", vendor_name);
jsb_add_kv_string(builder, "device-name", device_name);
+ json_builder_set_member_name(builder, "revision");
+ json_builder_add_int_value(builder, revision);
json_builder_set_member_name(builder, "enabled");
json_builder_add_boolean_value(builder, enabled);
json_builder_end_object(builder);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]