powerpc/pseries: Expose in kernel device tree update to drmgr
Traditionally it has been drmgr's responsibilty to update the device tree through the /proc/ppc64/ofdt interface after a suspend/resume operation. This patchset however has modified suspend/resume ops to preform an update entirely in the kernel during the resume. Therefore, a mechanism is required to expose that information to drmgr. This patch adds a show function to the "hibernate" attribute that returns 1 if the kernel performs a device tree update after the resume and 0 otherwise. This allows newer versions of drmgr to avoid doing a second unnecessary device tree update. Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
6b36ba8492
commit
9da3489210
|
@ -192,7 +192,30 @@ out:
|
|||
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",
|
||||
|
|
Loading…
Reference in New Issue