Lines Matching defs:pca955x
53 #include <dt-bindings/leds/leds-pca955x.h>
117 struct pca955x {
129 struct pca955x *pca955x;
164 struct pca955x *pca955x = i2c_get_clientdata(client);
165 u8 cmd = pca95xx_num_input_regs(pca955x->chipdef->bits) + (2 * n);
184 struct pca955x *pca955x = i2c_get_clientdata(client);
185 u8 cmd = pca95xx_num_input_regs(pca955x->chipdef->bits) + 1 + (2 * n);
201 struct pca955x *pca955x = i2c_get_clientdata(client);
202 u8 cmd = pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n;
218 struct pca955x *pca955x = i2c_get_clientdata(client);
219 u8 cmd = pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n;
234 struct pca955x *pca955x = i2c_get_clientdata(client);
235 u8 cmd = pca95xx_num_input_regs(pca955x->chipdef->bits) + 1 + (2 * n);
253 struct pca955x *pca955x = pca955x_led->pca955x;
257 ret = pca955x_read_ls(pca955x->client, pca955x_led->led_num / 4, &ls);
273 ret = pca955x_read_pwm(pca955x->client, 1, &pwm);
287 struct pca955x *pca955x;
294 pca955x = pca955x_led->pca955x;
299 mutex_lock(&pca955x->lock);
301 ret = pca955x_read_ls(pca955x->client, chip_ls, &ls);
323 ret = pca955x_write_pwm(pca955x->client, 1, 255 - value);
330 ret = pca955x_write_ls(pca955x->client, chip_ls, ls);
333 mutex_unlock(&pca955x->lock);
358 struct pca955x *pca955x = gpiochip_get_data(gc);
360 return test_and_set_bit(offset, &pca955x->active_pins) ? -EBUSY : 0;
365 struct pca955x *pca955x = gpiochip_get_data(gc);
367 clear_bit(offset, &pca955x->active_pins);
373 struct pca955x *pca955x = gpiochip_get_data(gc);
374 struct pca955x_led *led = &pca955x->leds[offset];
390 struct pca955x *pca955x = gpiochip_get_data(gc);
391 struct pca955x_led *led = &pca955x->leds[offset];
395 pca955x_read_input(pca955x->client, led->led_num / 8, ®);
403 struct pca955x *pca955x = gpiochip_get_data(gc);
404 struct pca955x_led *led = &pca955x->leds[offset];
472 struct pca955x *pca955x;
517 dev_info(&client->dev, "leds-pca955x: Using %s %d-bit LED driver at "
531 pca955x = devm_kzalloc(&client->dev, sizeof(*pca955x), GFP_KERNEL);
532 if (!pca955x)
535 pca955x->leds = devm_kcalloc(&client->dev, chip->bits,
537 if (!pca955x->leds)
540 i2c_set_clientdata(client, pca955x);
542 mutex_init(&pca955x->lock);
543 pca955x->client = client;
544 pca955x->chipdef = chip;
547 init_data.devicename = "pca955x";
550 pca955x_led = &pca955x->leds[i];
552 pca955x_led->pca955x = pca955x;
599 set_bit(i, &pca955x->active_pins);
637 pca955x->gpio.label = "gpio-pca955x";
638 pca955x->gpio.direction_input = pca955x_gpio_direction_input;
639 pca955x->gpio.direction_output = pca955x_gpio_direction_output;
640 pca955x->gpio.set = pca955x_gpio_set_value;
641 pca955x->gpio.get = pca955x_gpio_get_value;
642 pca955x->gpio.request = pca955x_gpio_request_pin;
643 pca955x->gpio.free = pca955x_gpio_free_pin;
644 pca955x->gpio.can_sleep = 1;
645 pca955x->gpio.base = -1;
646 pca955x->gpio.ngpio = chip->bits;
647 pca955x->gpio.parent = &client->dev;
648 pca955x->gpio.owner = THIS_MODULE;
650 err = devm_gpiochip_add_data(&client->dev, &pca955x->gpio,
651 pca955x);
654 pca955x->gpio.parent = NULL;
659 pca955x->gpio.base, pca955x->gpio.base +
660 pca955x->gpio.ngpio - 1);
668 .name = "leds-pca955x",