Lines Matching defs:is31

115 	struct is31fl319x_chip *is31 = led->chip;
116 int chan = led - is31->leds;
121 dev_dbg(&is31->client->dev, "%s %d: %d\n", __func__, chan, brightness);
123 mutex_lock(&is31->lock);
126 ret = regmap_write(is31->regmap, IS31FL319X_PWM(chan), brightness);
131 for (i = 0; i < is31->cdef->num_leds; i++) {
140 ret = regmap_read(is31->regmap, IS31FL319X_PWM(i), &pwm_value);
141 dev_dbg(&is31->client->dev, "%s read %d: ret=%d: %d\n",
154 dev_dbg(&is31->client->dev, "power up %02x %02x\n",
156 regmap_write(is31->regmap, IS31FL319X_CTRL1, ctrl1);
157 regmap_write(is31->regmap, IS31FL319X_CTRL2, ctrl2);
159 regmap_write(is31->regmap, IS31FL319X_DATA_UPDATE, 0x00);
161 ret = regmap_write(is31->regmap, IS31FL319X_SHUTDOWN, 0x01);
163 dev_dbg(&is31->client->dev, "power down\n");
165 ret = regmap_write(is31->regmap, IS31FL319X_SHUTDOWN, 0x00);
169 mutex_unlock(&is31->lock);
203 struct is31fl319x_chip *is31)
212 is31->shutdown_gpio = devm_gpiod_get_optional(dev,
215 if (IS_ERR(is31->shutdown_gpio)) {
216 ret = PTR_ERR(is31->shutdown_gpio);
221 is31->cdef = device_get_match_data(dev);
227 if (!count || count > is31->cdef->num_leds) {
229 is31->cdef->num_leds);
243 if (reg < 1 || reg > is31->cdef->num_leds) {
249 led = &is31->leds[reg - 1];
266 is31->audio_gain_db = 0;
267 ret = of_property_read_u32(np, "audio-gain-db", &is31->audio_gain_db);
269 is31->audio_gain_db = min(is31->audio_gain_db,
338 struct is31fl319x_chip *is31;
347 is31 = devm_kzalloc(&client->dev, sizeof(*is31), GFP_KERNEL);
348 if (!is31)
351 mutex_init(&is31->lock);
353 err = is31fl319x_parse_dt(&client->dev, is31);
357 if (is31->shutdown_gpio) {
358 gpiod_direction_output(is31->shutdown_gpio, 0);
360 gpiod_direction_output(is31->shutdown_gpio, 1);
363 is31->client = client;
364 is31->regmap = devm_regmap_init_i2c(client, &regmap_config);
365 if (IS_ERR(is31->regmap)) {
367 err = PTR_ERR(is31->regmap);
371 i2c_set_clientdata(client, is31);
374 err = regmap_write(is31->regmap, IS31FL319X_RESET, 0x00);
387 for (i = 0; i < is31->cdef->num_leds; i++)
388 if (is31->leds[i].configured &&
389 is31->leds[i].max_microamp < aggregated_led_microamp)
390 aggregated_led_microamp = is31->leds[i].max_microamp;
392 regmap_write(is31->regmap, IS31FL319X_CONFIG2,
394 is31fl319x_db_to_gain(is31->audio_gain_db));
396 for (i = 0; i < is31->cdef->num_leds; i++) {
397 struct is31fl319x_led *led = &is31->leds[i];
402 led->chip = is31;
413 mutex_destroy(&is31->lock);
419 struct is31fl319x_chip *is31 = i2c_get_clientdata(client);
421 mutex_destroy(&is31->lock);