On Fri, Jul 08, 2016 at 09:49:37PM +0200, H. Nikolaus Schaller wrote:
+static int is31fl319x_microamp_to_cs(u32 microamp) +{
- switch (microamp) {
- default:
WARN(1, "Invalid microamp setting");
- case 20000: return 0;
- case 15000: return 1;
- case 10000: return 2;
- case 5000: return 3;
- case 40000: return 4;
- case 35000: return 5;
- case 30000: return 6;
- case 25000: return 7;
- }
+}
...
- regmap_write(is31->regmap, IS31FL319X_CONFIG2,
is31fl319x_microamp_to_cs(aggregated_led_microamp) << 4 |
is31->audio_gain_db / 3);
As I figured out by now, previous implementation of current setting (by inline expression) was fine, this new one is just more obvious. So if you wonder why it was replaced, I can say - "because of misunderstanding". So switching back to that implementation is possible.
+static struct i2c_driver is31fl319x_driver = {
- .driver = {
.name = "leds-is31fl319x",
.of_match_table = of_match_ptr(of_is31fl319x_leds_match),
Broken alignment :/ If this gets another iteration, i'll fix it.