diff options
author | arjan <arjan@arjan-desktop.localdomain> | 2010-09-08 12:16:35 -0700 |
---|---|---|
committer | arjan <arjan@arjan-desktop.localdomain> | 2010-09-08 12:16:35 -0700 |
commit | 3a7d8e45d75881d5e9579e363221661d19020388 (patch) | |
tree | e0633730e9d322194bacc3bf252db254c2648c3f /process/device.cpp | |
parent | a842b757b6aa0bede71d3e36c9d86a48c19e481e (diff) | |
download | powertop-3a7d8e45d75881d5e9579e363221661d19020388.tar.gz |
Add devices to the power guilty list
Diffstat (limited to 'process/device.cpp')
-rw-r--r-- | process/device.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/process/device.cpp b/process/device.cpp new file mode 100644 index 0000000..52bd157 --- /dev/null +++ b/process/device.cpp @@ -0,0 +1,44 @@ +#include "device.h" +#include "../parameters/parameters.h" +#include <stdio.h> + +device_consumer::device_consumer(class device *dev) +{ + wake_ups = 0; + disk_hits = 0; + accumulated_runtime = 0; + child_runtime = 0; + waker = NULL; + device = dev; + power = device->power_usage(&all_results, &all_parameters); +} + + +const char * device_consumer::description(void) +{ + sprintf(str, "Device (%s) %s", device->class_name(), device->device_name()); + return str; +} + +double device_consumer::Witts(void) +{ + return power; +} + +static void add_device(class device *device) +{ + class device_consumer *dev; + + if (device->show_in_list() == 0) + return; + + dev = new class device_consumer(device); + all_power.push_back(dev); +} + +void all_devices_to_all_power(void) +{ + unsigned int i; + for (i = 0; i < all_devices.size(); i++) + add_device(all_devices[i]); +} |