|
@@ -47,10 +47,9 @@ struct opregion_acpi {
|
|
|
/*FIXME: add it later*/
|
|
|
} __packed;
|
|
|
|
|
|
-int psb_intel_opregion_init(struct drm_device *dev)
|
|
|
+int intel_opregion_init(struct drm_device *dev)
|
|
|
{
|
|
|
struct drm_psb_private *dev_priv = dev->dev_private;
|
|
|
- /*struct psb_intel_opregion * opregion = &dev_priv->opregion;*/
|
|
|
u32 opregion_phy;
|
|
|
void *base;
|
|
|
u32 *lid_state;
|
|
@@ -68,6 +67,15 @@ int psb_intel_opregion_init(struct drm_device *dev)
|
|
|
lid_state = base + 0x01ac;
|
|
|
|
|
|
dev_priv->lid_state = lid_state;
|
|
|
- dev_priv->lid_last_state = *lid_state;
|
|
|
+ dev_priv->lid_last_state = readl(lid_state);
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+int intel_opregion_exit(struct drm_device *dev)
|
|
|
+{
|
|
|
+ struct drm_psb_private *dev_priv = dev->dev_private;
|
|
|
+ if (dev_priv->lid_state)
|
|
|
+ iounmap(dev_priv->lid_state);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|