Lines Matching refs:data
107 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_calcpwm() local
108 for (i = 0; i < data->chip_info->num_leds; i++) { in pca9532_calcpwm()
109 if (data->leds[i].type == PCA9532_TYPE_LED && in pca9532_calcpwm()
110 data->leds[i].state == PCA9532_PWM0+pwm) { in pca9532_calcpwm()
112 b += data->leds[i].ldev.brightness; in pca9532_calcpwm()
124 data->pwm[pwm] = b; in pca9532_calcpwm()
125 data->psc[pwm] = blink; in pca9532_calcpwm()
131 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_setpwm() local
132 u8 maxleds = data->chip_info->num_leds; in pca9532_setpwm()
134 mutex_lock(&data->update_lock); in pca9532_setpwm()
136 data->pwm[pwm]); in pca9532_setpwm()
138 data->psc[pwm]); in pca9532_setpwm()
139 mutex_unlock(&data->update_lock); in pca9532_setpwm()
147 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_setled() local
148 u8 maxleds = data->chip_info->num_leds; in pca9532_setled()
151 mutex_lock(&data->update_lock); in pca9532_setled()
158 mutex_unlock(&data->update_lock); in pca9532_setled()
208 struct pca9532_data *data = input_get_drvdata(dev); in pca9532_event() local
215 data->pwm[1] = 127; in pca9532_event()
217 data->pwm[1] = 0; in pca9532_event()
219 schedule_work(&data->work); in pca9532_event()
226 struct pca9532_data *data = in pca9532_input_work() local
228 u8 maxleds = data->chip_info->num_leds; in pca9532_input_work()
230 mutex_lock(&data->update_lock); in pca9532_input_work()
231 i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(maxleds, 1), in pca9532_input_work()
232 data->pwm[1]); in pca9532_input_work()
233 mutex_unlock(&data->update_lock); in pca9532_input_work()
248 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio); in pca9532_gpio_request_pin() local
249 struct pca9532_led *led = &data->leds[offset]; in pca9532_gpio_request_pin()
259 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio); in pca9532_gpio_set_value() local
260 struct pca9532_led *led = &data->leds[offset]; in pca9532_gpio_set_value()
272 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio); in pca9532_gpio_get_value() local
275 reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset)); in pca9532_gpio_get_value()
296 static int pca9532_destroy_devices(struct pca9532_data *data, int n_devs) in pca9532_destroy_devices() argument
300 if (!data) in pca9532_destroy_devices()
304 switch (data->leds[i].type) { in pca9532_destroy_devices()
309 led_classdev_unregister(&data->leds[i].ldev); in pca9532_destroy_devices()
310 cancel_work_sync(&data->leds[i].work); in pca9532_destroy_devices()
313 if (data->idev != NULL) { in pca9532_destroy_devices()
314 cancel_work_sync(&data->work); in pca9532_destroy_devices()
315 data->idev = NULL; in pca9532_destroy_devices()
322 if (data->gpio.dev) in pca9532_destroy_devices()
323 gpiochip_remove(&data->gpio); in pca9532_destroy_devices()
330 struct pca9532_data *data, struct pca9532_platform_data *pdata) in pca9532_configure() argument
334 u8 maxleds = data->chip_info->num_leds; in pca9532_configure()
337 data->pwm[i] = pdata->pwm[i]; in pca9532_configure()
338 data->psc[i] = pdata->psc[i]; in pca9532_configure()
340 data->pwm[i]); in pca9532_configure()
342 data->psc[i]); in pca9532_configure()
345 for (i = 0; i < data->chip_info->num_leds; i++) { in pca9532_configure()
346 struct pca9532_led *led = &data->leds[i]; in pca9532_configure()
375 BUG_ON(data->idev); in pca9532_configure()
378 data->idev = devm_input_allocate_device(&client->dev); in pca9532_configure()
379 if (data->idev == NULL) { in pca9532_configure()
383 data->idev->name = pled->name; in pca9532_configure()
384 data->idev->phys = "i2c/pca9532"; in pca9532_configure()
385 data->idev->id.bustype = BUS_HOST; in pca9532_configure()
386 data->idev->id.vendor = 0x001f; in pca9532_configure()
387 data->idev->id.product = 0x0001; in pca9532_configure()
388 data->idev->id.version = 0x0100; in pca9532_configure()
389 data->idev->evbit[0] = BIT_MASK(EV_SND); in pca9532_configure()
390 data->idev->sndbit[0] = BIT_MASK(SND_BELL) | in pca9532_configure()
392 data->idev->event = pca9532_event; in pca9532_configure()
393 input_set_drvdata(data->idev, data); in pca9532_configure()
394 INIT_WORK(&data->work, pca9532_input_work); in pca9532_configure()
395 err = input_register_device(data->idev); in pca9532_configure()
397 cancel_work_sync(&data->work); in pca9532_configure()
398 data->idev = NULL; in pca9532_configure()
407 data->gpio.label = "gpio-pca9532"; in pca9532_configure()
408 data->gpio.direction_input = pca9532_gpio_direction_input; in pca9532_configure()
409 data->gpio.direction_output = pca9532_gpio_direction_output; in pca9532_configure()
410 data->gpio.set = pca9532_gpio_set_value; in pca9532_configure()
411 data->gpio.get = pca9532_gpio_get_value; in pca9532_configure()
412 data->gpio.request = pca9532_gpio_request_pin; in pca9532_configure()
413 data->gpio.can_sleep = 1; in pca9532_configure()
414 data->gpio.base = pdata->gpio_base; in pca9532_configure()
415 data->gpio.ngpio = data->chip_info->num_leds; in pca9532_configure()
416 data->gpio.dev = &client->dev; in pca9532_configure()
417 data->gpio.owner = THIS_MODULE; in pca9532_configure()
419 err = gpiochip_add(&data->gpio); in pca9532_configure()
422 data->gpio.dev = NULL; in pca9532_configure()
426 data->gpio.base, data->gpio.base + in pca9532_configure()
427 data->gpio.ngpio - 1); in pca9532_configure()
435 pca9532_destroy_devices(data, i); in pca9532_configure()
442 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_probe() local
453 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); in pca9532_probe()
454 if (!data) in pca9532_probe()
457 data->chip_info = &pca9532_chip_info_tbl[id->driver_data]; in pca9532_probe()
460 i2c_set_clientdata(client, data); in pca9532_probe()
461 data->client = client; in pca9532_probe()
462 mutex_init(&data->update_lock); in pca9532_probe()
464 return pca9532_configure(client, data, pca9532_pdata); in pca9532_probe()
469 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_remove() local
472 err = pca9532_destroy_devices(data, data->chip_info->num_leds); in pca9532_remove()