Skip to content

Commit 6aff4c2

Browse files
patjakThomas Zimmermann
authored andcommitted
drm/gma500: Remove lid code
Due to a change in the order of initialization, the lid timer got started before proper setup was made. This resulted in a crash during boot. The lid switch is handled by gma500 through a timer that periodically polls the opregion for changes. These types of ACPI events shouldn't be handled by the graphics driver so let's get rid of the lid code. This fixes the crash during boot. Reported-by: Enrico Bartky <[email protected]> Fixes: 8f1aacc ("drm/gma500: Implement client-based fbdev emulation") Tested-by: Enrico Bartky <[email protected]> Signed-off-by: Patrik Jakobsson <[email protected]> Reviewed-by: Thomas Zimmermann <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 941c0bd commit 6aff4c2

File tree

4 files changed

+1
-94
lines changed

4 files changed

+1
-94
lines changed

drivers/gpu/drm/gma500/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ gma500_gfx-y += \
3434
psb_intel_lvds.o \
3535
psb_intel_modes.o \
3636
psb_intel_sdvo.o \
37-
psb_lid.o \
3837
psb_irq.o
3938

4039
gma500_gfx-$(CONFIG_ACPI) += opregion.o

drivers/gpu/drm/gma500/psb_device.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ static int psb_backlight_setup(struct drm_device *dev)
7373
}
7474

7575
psb_intel_lvds_set_brightness(dev, PSB_MAX_BRIGHTNESS);
76-
/* This must occur after the backlight is properly initialised */
77-
psb_lid_timer_init(dev_priv);
76+
7877
return 0;
7978
}
8079

@@ -259,8 +258,6 @@ static int psb_chip_setup(struct drm_device *dev)
259258

260259
static void psb_chip_teardown(struct drm_device *dev)
261260
{
262-
struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
263-
psb_lid_timer_takedown(dev_priv);
264261
gma_intel_teardown_gmbus(dev);
265262
}
266263

drivers/gpu/drm/gma500/psb_drv.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@
162162
#define PSB_NUM_VBLANKS 2
163163

164164
#define PSB_WATCHDOG_DELAY (HZ * 2)
165-
#define PSB_LID_DELAY (HZ / 10)
166165

167166
#define PSB_MAX_BRIGHTNESS 100
168167

@@ -491,11 +490,7 @@ struct drm_psb_private {
491490
/* Hotplug handling */
492491
struct work_struct hotplug_work;
493492

494-
/* LID-Switch */
495-
spinlock_t lid_lock;
496-
struct timer_list lid_timer;
497493
struct psb_intel_opregion opregion;
498-
u32 lid_last_state;
499494

500495
/* Watchdog */
501496
uint32_t apm_reg;
@@ -591,10 +586,6 @@ struct psb_ops {
591586
int i2c_bus; /* I2C bus identifier for Moorestown */
592587
};
593588

594-
/* psb_lid.c */
595-
extern void psb_lid_timer_init(struct drm_psb_private *dev_priv);
596-
extern void psb_lid_timer_takedown(struct drm_psb_private *dev_priv);
597-
598589
/* modesetting */
599590
extern void psb_modeset_init(struct drm_device *dev);
600591
extern void psb_modeset_cleanup(struct drm_device *dev);

drivers/gpu/drm/gma500/psb_lid.c

Lines changed: 0 additions & 80 deletions
This file was deleted.

0 commit comments

Comments
 (0)