Lines Matching defs:pca955x
52 #include <dt-bindings/leds/leds-pca955x.h>
116 struct pca955x {
127 struct pca955x *pca955x;
168 struct pca955x *pca955x = i2c_get_clientdata(client);
172 pca95xx_num_input_regs(pca955x->chipdef->bits) + 2*n,
189 struct pca955x *pca955x = i2c_get_clientdata(client);
193 pca95xx_num_input_regs(pca955x->chipdef->bits) + 1 + 2*n,
207 struct pca955x *pca955x = i2c_get_clientdata(client);
211 pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n,
225 struct pca955x *pca955x = i2c_get_clientdata(client);
229 pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n);
243 struct pca955x *pca955x;
250 pca955x = pca955x_led->pca955x;
255 mutex_lock(&pca955x->lock);
257 ret = pca955x_read_ls(pca955x->client, chip_ls, &ls);
279 ret = pca955x_write_pwm(pca955x->client, 1, 255 - value);
286 ret = pca955x_write_ls(pca955x->client, chip_ls, ls);
289 mutex_unlock(&pca955x->lock);
314 struct pca955x *pca955x = gpiochip_get_data(gc);
315 struct pca955x_led *led = &pca955x->leds[offset];
326 struct pca955x *pca955x = gpiochip_get_data(gc);
327 struct pca955x_led *led = &pca955x->leds[offset];
343 struct pca955x *pca955x = gpiochip_get_data(gc);
344 struct pca955x_led *led = &pca955x->leds[offset];
348 pca955x_read_input(pca955x->client, led->led_num / 8, ®);
356 struct pca955x *pca955x = gpiochip_get_data(gc);
357 struct pca955x_led *led = &pca955x->leds[offset];
431 struct pca955x *pca955x;
456 dev_info(&client->dev, "leds-pca955x: Using %s %d-bit LED driver at "
470 pca955x = devm_kzalloc(&client->dev, sizeof(*pca955x), GFP_KERNEL);
471 if (!pca955x)
474 pca955x->leds = devm_kcalloc(&client->dev,
476 if (!pca955x->leds)
479 i2c_set_clientdata(client, pca955x);
481 mutex_init(&pca955x->lock);
482 pca955x->client = client;
483 pca955x->chipdef = chip;
486 pca955x_led = &pca955x->leds[i];
488 pca955x_led->pca955x = pca955x;
507 sizeof(pca955x_led->name), "pca955x:%s",
550 pca955x->gpio.label = "gpio-pca955x";
551 pca955x->gpio.direction_input = pca955x_gpio_direction_input;
552 pca955x->gpio.direction_output = pca955x_gpio_direction_output;
553 pca955x->gpio.set = pca955x_gpio_set_value;
554 pca955x->gpio.get = pca955x_gpio_get_value;
555 pca955x->gpio.request = pca955x_gpio_request_pin;
556 pca955x->gpio.can_sleep = 1;
557 pca955x->gpio.base = -1;
558 pca955x->gpio.ngpio = ngpios;
559 pca955x->gpio.parent = &client->dev;
560 pca955x->gpio.owner = THIS_MODULE;
562 err = devm_gpiochip_add_data(&client->dev, &pca955x->gpio,
563 pca955x);
566 pca955x->gpio.parent = NULL;
571 pca955x->gpio.base, pca955x->gpio.base +
572 pca955x->gpio.ngpio - 1);
581 .name = "leds-pca955x",