[s3c24xx] Update to 2.6.30.1, refresh patches
[openwrt.git] / target / linux / s3c24xx / patches-2.6.28 / 010-preserve-resolution.patch
1 --- a/drivers/video/display/jbt6k74.c
2 +++ b/drivers/video/display/jbt6k74.c
3 @@ -443,8 +443,17 @@ int jbt6k74_enter_state(struct jbt_info 
4                 break;
5         }
6         
7 -       if (rc == 0)
8 +       if (rc == 0) {
9 +               switch (new_state) {
10 +               case JBT_STATE_NORMAL:
11 +               case JBT_STATE_QVGA_NORMAL:
12 +                       jbt->last_state = new_state;
13 +                       break;
14 +               default:
15 +                       break;
16 +               }
17                 jbt->state = new_state;
18 +       }
19  
20         return rc;
21  }
22 @@ -595,7 +604,14 @@ static int fb_notifier_callback(struct n
23         switch (fb_blank) {
24         case FB_BLANK_UNBLANK:
25                 dev_info(&jbt->spi_dev->dev, "**** jbt6k74 unblank\n");
26 -               jbt6k74_enter_state(jbt, JBT_STATE_NORMAL);
27 +               switch (jbt->last_state) {
28 +               case JBT_STATE_QVGA_NORMAL:
29 +                       jbt6k74_enter_state(jbt, JBT_STATE_QVGA_NORMAL);
30 +                       break;
31 +               default:
32 +                       jbt6k74_enter_state(jbt, JBT_STATE_NORMAL);
33 +                       break;
34 +               }
35                 break;
36         case FB_BLANK_NORMAL:
37                 dev_info(&jbt->spi_dev->dev, "**** jbt6k74 normal\n");
38 @@ -720,8 +736,6 @@ static int jbt_suspend(struct spi_device
39  {
40         struct jbt_info *jbt = dev_get_drvdata(&spi->dev);
41  
42 -       /* Save mode for resume */
43 -       jbt->last_state = jbt->state;
44         /* FIXME: deep standby causes WSOD on certain devices. We use
45          * sleep as workaround */
46         jbt6k74_enter_state(jbt, JBT_STATE_SLEEP);