Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66a26a8f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* '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
parents 9a2845c4 8e9bb19e
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -263,6 +263,9 @@ static int camera_probe(void)
	struct i2c_msg msg;
	struct i2c_msg msg;
	int ret;
	int ret;


	if (!a)
		return -ENODEV;

	camera_power(1);
	camera_power(1);
	msg.addr = 0x6e;
	msg.addr = 0x6e;
	msg.buf = camera_ncm03j_magic;
	msg.buf = camera_ncm03j_magic;
+6 −1
Original line number Original line Diff line number Diff line
@@ -47,6 +47,7 @@ struct sh_mobile_lcdc_priv {
#endif
#endif
	unsigned long lddckr;
	unsigned long lddckr;
	struct sh_mobile_lcdc_chan ch[2];
	struct sh_mobile_lcdc_chan ch[2];
	int started;
};
};


/* shared registers */
/* shared registers */
@@ -451,6 +452,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)


	/* start the lcdc */
	/* start the lcdc */
	sh_mobile_lcdc_start_stop(priv, 1);
	sh_mobile_lcdc_start_stop(priv, 1);
	priv->started = 1;


	/* tell the board code to enable the panel */
	/* tell the board code to enable the panel */
	for (k = 0; k < ARRAY_SIZE(priv->ch); k++) {
	for (k = 0; k < ARRAY_SIZE(priv->ch); k++) {
@@ -493,7 +495,10 @@ static void sh_mobile_lcdc_stop(struct sh_mobile_lcdc_priv *priv)
	}
	}


	/* stop the lcdc */
	/* stop the lcdc */
	if (priv->started) {
		sh_mobile_lcdc_start_stop(priv, 0);
		sh_mobile_lcdc_start_stop(priv, 0);
		priv->started = 0;
	}


	/* stop clocks */
	/* stop clocks */
	for (k = 0; k < ARRAY_SIZE(priv->ch); k++)
	for (k = 0; k < ARRAY_SIZE(priv->ch); k++)