Branch: master

6a0fb5c3 2015-09-21 16:39:50 Timothy Pearson
Add new timekeeping class to tdehwlib
Classify a number of new devices
M tdecore/tdehw/tdehardwaredevices.cpp
M tdecore/tdehw/tdehwcommontypes.h
diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
index 9b21a4b..3c08cfc 100644
--- a/tdecore/tdehw/tdehardwaredevices.cpp
+++ b/tdecore/tdehw/tdehardwaredevices.cpp
@@ -1402,6 +1402,9 @@
 	else if (query == "TestAndMeasurement") {
 		ret = TDEGenericDeviceType::TestAndMeasurement;
 	}
+	else if (query == "Timekeeping") {
+		ret = TDEGenericDeviceType::Timekeeping;
+	}
 	else if (query == "Event") {
 		ret = TDEGenericDeviceType::Event;
 	}
@@ -2043,8 +2046,12 @@
 		}
 		if ((devicetypestring == "audio")
 			|| (devicesubsystem == "sound")
+			|| (devicesubsystem == "hdaudio")
 			|| (devicesubsystem == "ac97")) {
 			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Sound);
+		}
+		if (devicesubsystem == "container") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::OtherACPI);
 		}
 		if ((devicesubsystem == "video4linux")
 			|| (devicesubsystem == "dvb")) {
@@ -2089,9 +2096,18 @@
 			|| (devicesubsystem == "amba")) {
 			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Platform);
 		}
+		if (devicesubsystem == "edac") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::RAM);
+		}
+		if (devicesubsystem.startsWith("mc") && systempath.contains("/edac/")) {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::RAM);
+		}
 		if ((devicesubsystem == "ipmi")
 			|| (devicesubsystem == "ipmi_si")) {
 			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Mainboard);
+		}
+		if (devicesubsystem == "iommu") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Platform);
 		}
 		if (devicesubsystem == "misc") {
 			if (devicedriver.startsWith("tpm_")) {
@@ -2100,6 +2116,15 @@
 			else {
 				if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Platform);
 			}
+		}
+		if (devicesubsystem == "media") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Platform);
+		}
+		if (devicesubsystem == "nd") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::RAM);
+		}
+		if (devicesubsystem == "ptp") {
+			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Timekeeping);
 		}
 		if (devicesubsystem == "leds") {
 			if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::OtherACPI);
@@ -4116,6 +4141,9 @@
 	else if (query == TDEGenericDeviceType::TestAndMeasurement) {
 		ret = i18n("Test and Measurement");
 	}
+	else if (query == TDEGenericDeviceType::Timekeeping) {
+		ret = i18n("Timekeeping");
+	}
 	else if (query == TDEGenericDeviceType::Event) {
 		ret = i18n("Platform Event");
 	}
@@ -4283,6 +4311,9 @@
 	else if (query == TDEGenericDeviceType::TestAndMeasurement) {
 		ret = DesktopIcon("kcmdevices", size);
 	}
+	else if (query == TDEGenericDeviceType::Timekeeping) {
+		ret = DesktopIcon("history", size);
+	}
 	else if (query == TDEGenericDeviceType::Event) {
 		ret = DesktopIcon("preferences-system", size);
 	}
diff --git a/tdecore/tdehw/tdehwcommontypes.h b/tdecore/tdehw/tdehwcommontypes.h
index 403a21d..dd32b9a 100644
--- a/tdecore/tdehw/tdehwcommontypes.h
+++ b/tdecore/tdehw/tdehwcommontypes.h
@@ -66,6 +66,7 @@
 	CryptographicCard,
 	BiometricSecurity,
 	TestAndMeasurement,
+	Timekeeping,
 	Event,
 	Input,
 	PNP,