summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/io/mc
diff options
context:
space:
mode:
authorrandyf <none@none>2007-10-20 16:00:42 -0700
committerrandyf <none@none>2007-10-20 16:00:42 -0700
commit2df1fe9ca32bb227b9158c67f5c00b54c20b10fd (patch)
tree358c576f885c00d42a760d9e35e5b66e77209fe2 /usr/src/uts/i86pc/io/mc
parent10b3fbf593a6678eec9b50a01903ef4eb73111e4 (diff)
downloadillumos-gate-2df1fe9ca32bb227b9158c67f5c00b54c20b10fd.tar.gz
PSARC/2005/469 X86 Energy Star compliance
PSARC/2006/632 PSMI extension for state save and restore 6330209 nge needs to support DDI_SUSPEND/DDI_RESUME 6381827 Suspend to RAM on x86 6393154 audio810 needs to support DDI_SUSPEND/DDI_RESUME 6397047 fd, fdc needs to support Suspend/Resume 6401974 cannot enter S3 with ohci PME enable set on Tyan 2865 with Sun or Tyan 2.01 BIOS 6422613 memscrubber doesn't re-acquire lock before CALLB_CPR_EXIT 6455736 ata/dadk/cmdk should support DDI_SUSPEND/DDI_RESUME 6511370 CPR on SPARC regression 6586018 TODOP Macros in i86pc/sys/machclock.h not in sun4u/sun4v equivilent (Sparc only) 6610124 It takes more than 3 minutes after printing "pci_pre_resume nv_sata:0" 6617143 powerd/pmconfig emits a different default message for an existing on or off action. --HG-- rename : usr/src/cmd/power/power.conf => usr/src/cmd/power/power.conf.sparc
Diffstat (limited to 'usr/src/uts/i86pc/io/mc')
-rw-r--r--usr/src/uts/i86pc/io/mc/mcamd_drv.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/usr/src/uts/i86pc/io/mc/mcamd_drv.c b/usr/src/uts/i86pc/io/mc/mcamd_drv.c
index d7c9371795..284de242a9 100644
--- a/usr/src/uts/i86pc/io/mc/mcamd_drv.c
+++ b/usr/src/uts/i86pc/io/mc/mcamd_drv.c
@@ -1491,6 +1491,17 @@ mc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
int chipid, rc;
mc_t *mc;
+ /*
+ * This driver has no hardware state, but does
+ * claim to have a reg property, so it will be
+ * called on suspend. It is probably better to
+ * make sure it doesn't get called on suspend,
+ * but it is just as easy to make sure we just
+ * return DDI_SUCCESS if called.
+ */
+ if (cmd == DDI_RESUME)
+ return (DDI_SUCCESS);
+
if (cmd != DDI_ATTACH || mc_no_attach != 0)
return (DDI_FAILURE);
@@ -1672,7 +1683,14 @@ mc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
static int
mc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd)
{
- return (DDI_FAILURE);
+ /*
+ * See the comment about suspend in
+ * mc_attach().
+ */
+ if (cmd == DDI_SUSPEND)
+ return (DDI_SUCCESS);
+ else
+ return (DDI_FAILURE);
}
static struct dev_ops mc_ops = {