Message ID | 20180716090814.GA4505@amd (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Pavel, I think if there is not exist pdata, it should be set to the value of power on reset (POR) to sync with the chip. According to the LM3560 datasheet, Flash Timeout is 512ms, Flash current is 875mA and Torch Current is 93.75mA. Daniel Jeong. On 07/016/2018 18:08 PM, Pavel Machek wrote: > If no pdata is found, we should use lowest current settings, not highest. > > Signed-off-by: Pavel Machek <pavel@ucw.cz> > > --- > > v2: I got notification from patchwork that patch no longer applies, so > I'm rediffing the patch. > > diff --git a/drivers/media/i2c/lm3560.c b/drivers/media/i2c/lm3560.c > index b600e03a..c4e5ed5 100644 > --- a/drivers/media/i2c/lm3560.c > +++ b/drivers/media/i2c/lm3560.c > @@ -420,14 +434,14 @@ static int lm3560_probe(struct i2c_client *client, > pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL); > if (pdata == NULL) > return -ENODEV; > - pdata->peak = LM3560_PEAK_3600mA; > - pdata->max_flash_timeout = LM3560_FLASH_TOUT_MAX; > + pdata->peak = LM3560_PEAK_1600mA; > + pdata->max_flash_timeout = LM3560_FLASH_TOUT_MIN; > /* led 1 */ > - pdata->max_flash_brt[LM3560_LED0] = LM3560_FLASH_BRT_MAX; > - pdata->max_torch_brt[LM3560_LED0] = LM3560_TORCH_BRT_MAX; > + pdata->max_flash_brt[LM3560_LED0] = LM3560_FLASH_BRT_MIN; > + pdata->max_torch_brt[LM3560_LED0] = LM3560_TORCH_BRT_MIN; > /* led 2 */ > - pdata->max_flash_brt[LM3560_LED1] = LM3560_FLASH_BRT_MAX; > - pdata->max_torch_brt[LM3560_LED1] = LM3560_TORCH_BRT_MAX; > + pdata->max_flash_brt[LM3560_LED1] = LM3560_FLASH_BRT_MIN; > + pdata->max_torch_brt[LM3560_LED1] = LM3560_TORCH_BRT_MIN; > } > flash->pdata = pdata; > flash->dev = &client->dev; > > >
On Sat, Aug 11, 2018 at 9:10 AM, Daniel Jeong <gshark.jeong@gmail.com> wrote: > Hi Pavel, > > I think if there is not exist pdata, it should be set to the value of power > on reset (POR) to sync with the chip. > > According to the LM3560 datasheet, Flash Timeout is 512ms, Flash current is > 875mA and Torch Current is 93.75mA. Can't we simple read back?
diff --git a/drivers/media/i2c/lm3560.c b/drivers/media/i2c/lm3560.c index b600e03a..c4e5ed5 100644 --- a/drivers/media/i2c/lm3560.c +++ b/drivers/media/i2c/lm3560.c @@ -420,14 +434,14 @@ static int lm3560_probe(struct i2c_client *client, pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL); if (pdata == NULL) return -ENODEV; - pdata->peak = LM3560_PEAK_3600mA; - pdata->max_flash_timeout = LM3560_FLASH_TOUT_MAX; + pdata->peak = LM3560_PEAK_1600mA; + pdata->max_flash_timeout = LM3560_FLASH_TOUT_MIN; /* led 1 */ - pdata->max_flash_brt[LM3560_LED0] = LM3560_FLASH_BRT_MAX; - pdata->max_torch_brt[LM3560_LED0] = LM3560_TORCH_BRT_MAX; + pdata->max_flash_brt[LM3560_LED0] = LM3560_FLASH_BRT_MIN; + pdata->max_torch_brt[LM3560_LED0] = LM3560_TORCH_BRT_MIN; /* led 2 */ - pdata->max_flash_brt[LM3560_LED1] = LM3560_FLASH_BRT_MAX; - pdata->max_torch_brt[LM3560_LED1] = LM3560_TORCH_BRT_MAX; + pdata->max_flash_brt[LM3560_LED1] = LM3560_FLASH_BRT_MIN; + pdata->max_torch_brt[LM3560_LED1] = LM3560_TORCH_BRT_MIN; } flash->pdata = pdata; flash->dev = &client->dev;
If no pdata is found, we should use lowest current settings, not highest. Signed-off-by: Pavel Machek <pavel@ucw.cz> --- v2: I got notification from patchwork that patch no longer applies, so I'm rediffing the patch.