Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F158061830
D56953.id177611.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D56953.id177611.diff
View Options
diff --git a/sys/dev/acpi_support/acpi_ibm.c b/sys/dev/acpi_support/acpi_ibm.c
--- a/sys/dev/acpi_support/acpi_ibm.c
+++ b/sys/dev/acpi_support/acpi_ibm.c
@@ -1453,7 +1453,7 @@
* instead of suspend-to-RAM.
*/
case IBM_EVENT_SUSPEND_TO_RAM:
- power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND);
+ power_pm_suspend(POWER_TRANSITION_SUSPEND);
break;
case IBM_EVENT_BLUETOOTH:
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -3987,10 +3987,10 @@
break;
case SUSP:
- power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND);
+ power_pm_suspend(POWER_TRANSITION_SUSPEND);
break;
case STBY:
- power_pm_suspend(POWER_SSTATE_TRANSITION_STANDBY);
+ power_pm_suspend(POWER_TRANSITION_STANDBY);
break;
case DBG:
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -804,11 +804,11 @@
return (1);
case SPCLKEY | STBY: /* XXX Not present in kbdcontrol parser. */
/* Put machine into Stand-By mode. */
- power_pm_suspend(POWER_SSTATE_TRANSITION_STANDBY);
+ power_pm_suspend(POWER_TRANSITION_STANDBY);
return (1);
case SPCLKEY | SUSP: /* kbdmap(5) keyword `susp`. */
/* Suspend machine. */
- power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND);
+ power_pm_suspend(POWER_TRANSITION_SUSPEND);
return (1);
}
diff --git a/sys/kern/subr_power.c b/sys/kern/subr_power.c
--- a/sys/kern/subr_power.c
+++ b/sys/kern/subr_power.c
@@ -49,6 +49,55 @@
static bool power_pm_supported[POWER_STYPE_COUNT] = {0};
static struct task power_pm_task;
+<<<<<<< HEAD
+=======
+static d_ioctl_t power_ioctl;
+
+static struct cdevsw power_cdevsw = {
+ .d_version = D_VERSION,
+ .d_ioctl = power_ioctl,
+ .d_name = "power",
+};
+
+static void
+power_init(void *unused)
+{
+ struct make_dev_args args;
+ struct cdev *dev;
+
+ make_dev_args_init(&args);
+ args.mda_devsw = &power_cdevsw;
+ args.mda_uid = UID_ROOT;
+ args.mda_gid = GID_OPERATOR;
+ args.mda_mode = 0660;
+ if (make_dev_s(&args, &dev, "power") != 0)
+ printf("Failed to create power device");
+}
+SYSINIT(powerdev, SI_SUB_CONFIGURE, SI_ORDER_ANY, power_init, NULL);
+
+static int
+power_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag,
+ struct thread *td)
+{
+ uint32_t trans;
+
+ if ((fflag & FWRITE) == 0)
+ return (EPERM);
+
+ switch (cmd) {
+ case PIOTRANSITION:
+ trans = *(uint32_t *)data;
+ if (trans >= POWER_TRANSITION_COUNT)
+ return (EINVAL);
+ power_pm_suspend((enum power_transition)trans);
+ break;
+ default:
+ return (EINVAL);
+ }
+ return (0);
+}
+
+>>>>>>> 3f220005316b (power: Rename power transition enum)
enum power_stype
power_name_to_stype(const char *name)
{
@@ -176,7 +225,7 @@
}
void
-power_pm_suspend(enum power_sstate_transition trans)
+power_pm_suspend(enum power_transition trans)
{
enum power_stype stype;
@@ -184,13 +233,13 @@
return;
switch (trans) {
- case POWER_SSTATE_TRANSITION_STANDBY:
+ case POWER_TRANSITION_STANDBY:
stype = power_standby_stype;
break;
- case POWER_SSTATE_TRANSITION_SUSPEND:
+ case POWER_TRANSITION_SUSPEND:
stype = power_suspend_stype;
break;
- case POWER_SSTATE_TRANSITION_HIBERNATE:
+ case POWER_TRANSITION_HIBERNATE:
stype = power_hibernate_stype;
break;
default:
diff --git a/sys/sys/power.h b/sys/sys/power.h
--- a/sys/sys/power.h
+++ b/sys/sys/power.h
@@ -48,21 +48,22 @@
* Sleep state transition requests.
*
* These are high-level sleep states that the system can enter. They map to
- * a specific generic sleep type (enum power_stype).
+ * a specific generic sleep type (enum power_stype), depending on the
+ * kern.power.* sysctls.
*/
-enum power_sstate_transition {
- POWER_SSTATE_TRANSITION_STANDBY,
- POWER_SSTATE_TRANSITION_SUSPEND,
- POWER_SSTATE_TRANSITION_HIBERNATE,
+enum power_transition {
+ POWER_TRANSITION_STANDBY,
+ POWER_TRANSITION_SUSPEND,
+ POWER_TRANSITION_HIBERNATE,
};
/*
* Sleep type.
*
* These are the specific generic methods of entering a sleep state. E.g.
- * POWER_SSTATE_TRANSITION_SUSPEND could be set to enter either suspend-to-RAM
- * (which is S3 on ACPI systems), or suspend-to-idle (S0ix on ACPI systems).
- * This would be done through the kern.power.suspend sysctl.
+ * POWER_TRANSITION_SUSPEND could be set to enter either firmware suspend (which
+ * is suspend-to-RAM or S3 on ACPI systems), or suspend-to-idle (S0ix on ACPI
+ * platforms). This would be done through the kern.power.suspend sysctl.
*/
enum power_stype {
POWER_STYPE_AWAKE,
@@ -96,7 +97,7 @@
void *_pm_arg,
bool _pm_supported[static POWER_STYPE_COUNT]);
extern u_int power_pm_get_type(void);
-extern void power_pm_suspend(enum power_sstate_transition _trans);
+extern void power_pm_suspend(enum power_transition _trans);
/*
* System power API.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, May 29, 2:36 AM (6 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33597508
Default Alt Text
D56953.id177611.diff (4 KB)
Attached To
Mode
D56953: power: Rename power transition enum
Attached
Detach File
Event Timeline
Log In to Comment