media: i2c: lm3560: use conservative defaults
Subsystems (2)
PATCH 1/1 media: i2c: lm3560: use conservative defaults
If no pdata is found, we should use lowest current settings, not highest.
drivers/media/i2c/lm3560.c +6 -6
@@ -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;
Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180506/7eef940f/attachment.sig>
PATCH v2 1/1 media: i2c: lm3560: use conservative defaults
If no pdata is found, we should use lowest current settings, not highest.
---
v2: I got notification from patchwork that patch no longer applies, so I'm rediffing the patch.
drivers/media/i2c/lm3560.c +6 -6
@@ -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;
Signature · 9 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180716/85c917e2/attachment.sig>
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.
Quoted 37 lines · Pavel Machek
If no pdata is found, we should use lowest current settings, not highest.
Signed-off-by Pavel Machek <[email protected]>---
v2: I got notification from patchwork that patch no longer applies, so I'm rediffing the patch.
drivers/media/i2c/lm3560.c +6
-6@@ -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;
Quoted 7 lines · Daniel Jeong
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?
Signature · 2 lines
With Best Regards, Andy Shevchenko