Re: [PATCH] drivers/leds/leds-lp5521.c: check if reset issuccessful

From: Andrew Morton
Date: Tue Oct 18 2011 - 17:10:53 EST


On Mon, 10 Oct 2011 17:00:02 +0530
Srinidhi KASAGAR <srinidhi.kasagar@xxxxxxxxxxxxxx> wrote:

> make sure that the reset is successful by issuing a dummy
> read to R channel current register and check its default
> value. On some platforms, without this dummy read, any
> further access to {R/G/B}_EXEC will not have any impact.
>
> ...
>
> @@ -681,6 +685,21 @@ static int __devinit lp5521_probe(struct i2c_client *client,
> * Exact value is not available. 10 - 20ms
> * appears to be enough for reset.
> */
> +
> + /*
> + * Make sure that the chip is reset by reading back
> + * r channel current reg. This is a dummy read, otherwise
> + * in some platforms, access to R G B channel program
> + * execution mode to 'Run' in LP5521_REG_ENABLE register
> + * will not have any affect - strange!
> + */
> + lp5521_read(client, LP5521_REG_R_CURRENT, &buf);
> + if (buf != LP5521_REG_R_CURR_DEFAULT) {
> + dev_err(&client->dev, "error in reseting chip\n");
> + goto fail2;
> + }
> + usleep_range(10000, 20000);

Sorry, but I found that comment very hard to follow.

Is this version accurate and complete?

/*
* Make sure that the chip is reset by reading back the r channel
* current reg. This dummy read is required on some platforms -
* otherwise further access to the R G B channels in the
* LP5521_REG_ENABLE register will not have any effect - strange!
*/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/