diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-07 14:08:56 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-07 14:08:56 -0400 |
commit | 5a89770daad83df74d77a8d34a1ffaedae565ce9 (patch) | |
tree | 0d8ef70293a6ef969ba8b7718e59608337643d40 /drivers/video/atmel_lcdfb.c | |
parent | c46c948260f41af18b277c1eb1895d788d3605dc (diff) | |
parent | af7c951d76708c61b862463d579d76be757130bf (diff) |
Merge branches 'pxa-core' and 'pxa-machines' into pxa-all
Conflicts:
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c
Diffstat (limited to 'drivers/video/atmel_lcdfb.c')
-rw-r--r-- | drivers/video/atmel_lcdfb.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c index 9c5925927ece..5a24c6411d34 100644 --- a/drivers/video/atmel_lcdfb.c +++ b/drivers/video/atmel_lcdfb.c | |||
@@ -939,7 +939,7 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev) | |||
939 | ret = register_framebuffer(info); | 939 | ret = register_framebuffer(info); |
940 | if (ret < 0) { | 940 | if (ret < 0) { |
941 | dev_err(dev, "failed to register framebuffer device: %d\n", ret); | 941 | dev_err(dev, "failed to register framebuffer device: %d\n", ret); |
942 | goto free_cmap; | 942 | goto reset_drvdata; |
943 | } | 943 | } |
944 | 944 | ||
945 | /* add selected videomode to modelist */ | 945 | /* add selected videomode to modelist */ |
@@ -955,7 +955,8 @@ static int __init atmel_lcdfb_probe(struct platform_device *pdev) | |||
955 | 955 | ||
956 | return 0; | 956 | return 0; |
957 | 957 | ||
958 | 958 | reset_drvdata: | |
959 | dev_set_drvdata(dev, NULL); | ||
959 | free_cmap: | 960 | free_cmap: |
960 | fb_dealloc_cmap(&info->cmap); | 961 | fb_dealloc_cmap(&info->cmap); |
961 | unregister_irqs: | 962 | unregister_irqs: |
@@ -992,10 +993,11 @@ static int __exit atmel_lcdfb_remove(struct platform_device *pdev) | |||
992 | { | 993 | { |
993 | struct device *dev = &pdev->dev; | 994 | struct device *dev = &pdev->dev; |
994 | struct fb_info *info = dev_get_drvdata(dev); | 995 | struct fb_info *info = dev_get_drvdata(dev); |
995 | struct atmel_lcdfb_info *sinfo = info->par; | 996 | struct atmel_lcdfb_info *sinfo; |
996 | 997 | ||
997 | if (!sinfo) | 998 | if (!info || !info->par) |
998 | return 0; | 999 | return 0; |
1000 | sinfo = info->par; | ||
999 | 1001 | ||
1000 | cancel_work_sync(&sinfo->task); | 1002 | cancel_work_sync(&sinfo->task); |
1001 | exit_backlight(sinfo); | 1003 | exit_backlight(sinfo); |