|
|
@@ -192,7 +192,30 @@ static ssize_t store_hibernate(struct device *dev,
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-static DEVICE_ATTR(hibernate, S_IWUSR, NULL, store_hibernate);
|
|
|
+#define USER_DT_UPDATE 0
|
|
|
+#define KERN_DT_UPDATE 1
|
|
|
+
|
|
|
+/**
|
|
|
+ * show_hibernate - Report device tree update responsibilty
|
|
|
+ * @dev: subsys root device
|
|
|
+ * @attr: device attribute struct
|
|
|
+ * @buf: buffer
|
|
|
+ *
|
|
|
+ * Report whether a device tree update is performed by the kernel after a
|
|
|
+ * resume, or if drmgr must coordinate the update from user space.
|
|
|
+ *
|
|
|
+ * Return value:
|
|
|
+ * 0 if drmgr is to initiate update, and 1 otherwise
|
|
|
+ **/
|
|
|
+static ssize_t show_hibernate(struct device *dev,
|
|
|
+ struct device_attribute *attr,
|
|
|
+ char *buf)
|
|
|
+{
|
|
|
+ return sprintf(buf, "%d\n", KERN_DT_UPDATE);
|
|
|
+}
|
|
|
+
|
|
|
+static DEVICE_ATTR(hibernate, S_IWUSR | S_IRUGO,
|
|
|
+ show_hibernate, store_hibernate);
|
|
|
|
|
|
static struct bus_type suspend_subsys = {
|
|
|
.name = "power",
|