[Letux-kernel] [PATCH v3 1/2] drivers: led: is31fl319x: 1/3/6/9-channel light effect led driver
Jacek Anaszewski
j.anaszewski at samsung.com
Tue Jul 19 08:59:40 CEST 2016
Hi Nikolaus,
On 07/15/2016 10:08 AM, H. Nikolaus Schaller wrote:
> Hi Jacek,
>
>> Am 12.07.2016 um 22:14 schrieb Jacek Anaszewski <jacek.anaszewski at gmail.com>:
>>
>>>
>>> +
>>> +/*
>>> + * regmap is used as a cache of chip's register space,
>>> + * to avoid reading back brightness values from chip,
>>> + * which is known to hang.
>>> + */
>>> +struct is31fl319x_chip {
>>> + struct i2c_client *client;
>>> + struct regmap *regmap;
>>> + struct mutex lock;
>>> + u32 audio_gain_db;
>>> +
>>> + struct is31fl319x_led {
>>> + struct is31fl319x_chip *chip;
>>> + struct led_classdev cdev;
>>> + u32 max_microamp;
>>> + bool configured;
>>> + } leds[NUM_LEDS];
>>> +};
>>> +
>>> +static const struct i2c_device_id is31fl319x_id[] = {
>>> + { "is31fl3190", 1 },
>>> + { "is31fl3191", 1 },
>>> + { "is31fl3193", 3 },
>>> + { "is31fl3196", 6 },
>>> + { "is31fl3199", 9 },
>>> + { "sn3199", 9 },
>>> + { }
>>> +};
>>> +MODULE_DEVICE_TABLE(i2c, is31fl319x_id);
>>
>> This is redundant - you have this info in of_is31fl319x_leds_match,
>> and you can obtain it with of_match_device().
>> Please compare drivers/leds/leds-is31fl32xx.c.
>
> we have tried like is31fl32xx.c but it does not automatically load the driver
> if compiled as module (like all other I2C clients do). Reason seems to
> be that there is no i2c information in modalias database any more.
>
> So perhaps the i31fl32 approach is also incomplete. Has it been tested
> with loadable modules?
Having the issue clarified, please proceed accordingly in case of
your driver.
--
Best regards,
Jacek Anaszewski
More information about the Letux-kernel
mailing list