diff options
author | Alan Cox <alan@linux.intel.com> | 2012-05-14 07:03:34 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-17 06:05:29 -0400 |
commit | 6607e024014e4920e8d3e43bcfeec0436d43d980 (patch) | |
tree | 67058567b0e441d84cb3ba72a361a54581bceb8e /drivers/gpu/drm/gma500/psb_drv.c | |
parent | f9aa76a85248565ff13dc0e10633c4343a059f71 (diff) |
gma500: Fix crash on D2700MUD and various other boards
The recent changes led to the lid timer code being run on various devices.
It does no harm on most but isn't needed. It also calls unconditionally
into the Poulsbo backlight code which goes bang on Cedartrail.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500/psb_drv.c')
-rw-r--r-- | drivers/gpu/drm/gma500/psb_drv.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index 7473d3b8fffe..c4c6c8ea129a 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c | |||
@@ -208,11 +208,11 @@ static int psb_driver_unload(struct drm_device *dev) | |||
208 | psb_modeset_cleanup(dev); | 208 | psb_modeset_cleanup(dev); |
209 | 209 | ||
210 | if (dev_priv) { | 210 | if (dev_priv) { |
211 | psb_intel_opregion_fini(dev); | ||
212 | psb_lid_timer_takedown(dev_priv); | ||
213 | 211 | ||
214 | if (dev_priv->ops->chip_teardown) | 212 | if (dev_priv->ops->chip_teardown) |
215 | dev_priv->ops->chip_teardown(dev); | 213 | dev_priv->ops->chip_teardown(dev); |
214 | |||
215 | psb_intel_opregion_fini(dev); | ||
216 | psb_do_takedown(dev); | 216 | psb_do_takedown(dev); |
217 | 217 | ||
218 | 218 | ||
@@ -336,8 +336,6 @@ static int psb_driver_load(struct drm_device *dev, unsigned long chipset) | |||
336 | PSB_WSGX32(0x30000000, PSB_CR_BIF_3D_REQ_BASE); | 336 | PSB_WSGX32(0x30000000, PSB_CR_BIF_3D_REQ_BASE); |
337 | 337 | ||
338 | acpi_video_register(); | 338 | acpi_video_register(); |
339 | if (dev_priv->opregion.lid_state) | ||
340 | psb_lid_timer_init(dev_priv); | ||
341 | 339 | ||
342 | ret = drm_vblank_init(dev, dev_priv->num_pipe); | 340 | ret = drm_vblank_init(dev, dev_priv->num_pipe); |
343 | if (ret) | 341 | if (ret) |