Lines Matching refs:pca955x

104 struct pca955x {  struct
112 struct pca955x *pca955x; argument
148 struct pca955x *pca955x = i2c_get_clientdata(client); in pca955x_write_psc() local
151 pca95xx_num_input_regs(pca955x->chipdef->bits) + 2*n, in pca955x_write_psc()
164 struct pca955x *pca955x = i2c_get_clientdata(client); in pca955x_write_pwm() local
167 pca95xx_num_input_regs(pca955x->chipdef->bits) + 1 + 2*n, in pca955x_write_pwm()
177 struct pca955x *pca955x = i2c_get_clientdata(client); in pca955x_write_ls() local
180 pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n, in pca955x_write_ls()
190 struct pca955x *pca955x = i2c_get_clientdata(client); in pca955x_read_ls() local
193 pca95xx_num_input_regs(pca955x->chipdef->bits) + 4 + n); in pca955x_read_ls()
199 struct pca955x *pca955x; in pca955x_led_work() local
205 pca955x = pca955x_led->pca955x; in pca955x_led_work()
210 mutex_lock(&pca955x->lock); in pca955x_led_work()
212 ls = pca955x_read_ls(pca955x->client, chip_ls); in pca955x_led_work()
232 pca955x_write_pwm(pca955x->client, 1, in pca955x_led_work()
238 pca955x_write_ls(pca955x->client, chip_ls, ls); in pca955x_led_work()
240 mutex_unlock(&pca955x->lock); in pca955x_led_work()
245 struct pca955x_led *pca955x; in pca955x_led_set() local
247 pca955x = container_of(led_cdev, struct pca955x_led, led_cdev); in pca955x_led_set()
249 pca955x->brightness = value; in pca955x_led_set()
255 schedule_work(&pca955x->work); in pca955x_led_set()
261 struct pca955x *pca955x; in pca955x_probe() local
296 pca955x = devm_kzalloc(&client->dev, sizeof(*pca955x), GFP_KERNEL); in pca955x_probe()
297 if (!pca955x) in pca955x_probe()
300 pca955x->leds = devm_kzalloc(&client->dev, in pca955x_probe()
302 if (!pca955x->leds) in pca955x_probe()
305 i2c_set_clientdata(client, pca955x); in pca955x_probe()
307 mutex_init(&pca955x->lock); in pca955x_probe()
308 pca955x->client = client; in pca955x_probe()
309 pca955x->chipdef = chip; in pca955x_probe()
312 pca955x_led = &pca955x->leds[i]; in pca955x_probe()
314 pca955x_led->pca955x = pca955x; in pca955x_probe()
359 led_classdev_unregister(&pca955x->leds[i].led_cdev); in pca955x_probe()
360 cancel_work_sync(&pca955x->leds[i].work); in pca955x_probe()
368 struct pca955x *pca955x = i2c_get_clientdata(client); in pca955x_remove() local
371 for (i = 0; i < pca955x->chipdef->bits; i++) { in pca955x_remove()
372 led_classdev_unregister(&pca955x->leds[i].led_cdev); in pca955x_remove()
373 cancel_work_sync(&pca955x->leds[i].work); in pca955x_remove()