Merge branch 'sh/for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* 'sh/for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
video: stop sh_mobile_lcdcfb only if started
sh: ap325 camera without i2c driver fix

+9 -1
+3
arch/sh/boards/board-ap325rxa.c
··· 263 struct i2c_msg msg; 264 int ret; 265 266 camera_power(1); 267 msg.addr = 0x6e; 268 msg.buf = camera_ncm03j_magic;
··· 263 struct i2c_msg msg; 264 int ret; 265 266 + if (!a) 267 + return -ENODEV; 268 + 269 camera_power(1); 270 msg.addr = 0x6e; 271 msg.buf = camera_ncm03j_magic;
+6 -1
drivers/video/sh_mobile_lcdcfb.c
··· 47 #endif 48 unsigned long lddckr; 49 struct sh_mobile_lcdc_chan ch[2]; 50 }; 51 52 /* shared registers */ ··· 452 453 /* start the lcdc */ 454 sh_mobile_lcdc_start_stop(priv, 1); 455 456 /* tell the board code to enable the panel */ 457 for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { ··· 495 } 496 497 /* stop the lcdc */ 498 - sh_mobile_lcdc_start_stop(priv, 0); 499 500 /* stop clocks */ 501 for (k = 0; k < ARRAY_SIZE(priv->ch); k++)
··· 47 #endif 48 unsigned long lddckr; 49 struct sh_mobile_lcdc_chan ch[2]; 50 + int started; 51 }; 52 53 /* shared registers */ ··· 451 452 /* start the lcdc */ 453 sh_mobile_lcdc_start_stop(priv, 1); 454 + priv->started = 1; 455 456 /* tell the board code to enable the panel */ 457 for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { ··· 493 } 494 495 /* stop the lcdc */ 496 + if (priv->started) { 497 + sh_mobile_lcdc_start_stop(priv, 0); 498 + priv->started = 0; 499 + } 500 501 /* stop clocks */ 502 for (k = 0; k < ARRAY_SIZE(priv->ch); k++)