Lines Matching full: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 input_unregister_device(data->idev); in pca9532_destroy_devices()
315 cancel_work_sync(&data->work); in pca9532_destroy_devices()
316 data->idev = NULL; in pca9532_destroy_devices()
323 if (data->gpio.dev) { in pca9532_destroy_devices()
324 int err = gpiochip_remove(&data->gpio); in pca9532_destroy_devices()
326 dev_err(&data->client->dev, "%s failed, %d\n", in pca9532_destroy_devices()
337 struct pca9532_data *data, struct pca9532_platform_data *pdata) in pca9532_configure() argument
341 u8 maxleds = data->chip_info->num_leds; in pca9532_configure()
344 data->pwm[i] = pdata->pwm[i]; in pca9532_configure()
345 data->psc[i] = pdata->psc[i]; in pca9532_configure()
347 data->pwm[i]); in pca9532_configure()
349 data->psc[i]); in pca9532_configure()
352 for (i = 0; i < data->chip_info->num_leds; i++) { in pca9532_configure()
353 struct pca9532_led *led = &data->leds[i]; in pca9532_configure()
382 BUG_ON(data->idev); in pca9532_configure()
385 data->idev = input_allocate_device(); in pca9532_configure()
386 if (data->idev == NULL) { in pca9532_configure()
390 data->idev->name = pled->name; in pca9532_configure()
391 data->idev->phys = "i2c/pca9532"; in pca9532_configure()
392 data->idev->id.bustype = BUS_HOST; in pca9532_configure()
393 data->idev->id.vendor = 0x001f; in pca9532_configure()
394 data->idev->id.product = 0x0001; in pca9532_configure()
395 data->idev->id.version = 0x0100; in pca9532_configure()
396 data->idev->evbit[0] = BIT_MASK(EV_SND); in pca9532_configure()
397 data->idev->sndbit[0] = BIT_MASK(SND_BELL) | in pca9532_configure()
399 data->idev->event = pca9532_event; in pca9532_configure()
400 input_set_drvdata(data->idev, data); in pca9532_configure()
401 INIT_WORK(&data->work, pca9532_input_work); in pca9532_configure()
402 err = input_register_device(data->idev); in pca9532_configure()
404 input_free_device(data->idev); in pca9532_configure()
405 cancel_work_sync(&data->work); in pca9532_configure()
406 data->idev = NULL; in pca9532_configure()
415 data->gpio.label = "gpio-pca9532"; in pca9532_configure()
416 data->gpio.direction_input = pca9532_gpio_direction_input; in pca9532_configure()
417 data->gpio.direction_output = pca9532_gpio_direction_output; in pca9532_configure()
418 data->gpio.set = pca9532_gpio_set_value; in pca9532_configure()
419 data->gpio.get = pca9532_gpio_get_value; in pca9532_configure()
420 data->gpio.request = pca9532_gpio_request_pin; in pca9532_configure()
421 data->gpio.can_sleep = 1; in pca9532_configure()
422 data->gpio.base = pdata->gpio_base; in pca9532_configure()
423 data->gpio.ngpio = data->chip_info->num_leds; in pca9532_configure()
424 data->gpio.dev = &client->dev; in pca9532_configure()
425 data->gpio.owner = THIS_MODULE; in pca9532_configure()
427 err = gpiochip_add(&data->gpio); in pca9532_configure()
429 /* Use data->gpio.dev as a flag for freeing gpiochip */ in pca9532_configure()
430 data->gpio.dev = NULL; in pca9532_configure()
434 data->gpio.base, data->gpio.base + in pca9532_configure()
435 data->gpio.ngpio - 1); in pca9532_configure()
443 pca9532_destroy_devices(data, i); in pca9532_configure()
450 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_probe() local
461 data = kzalloc(sizeof(*data), GFP_KERNEL); in pca9532_probe()
462 if (!data) in pca9532_probe()
465 data->chip_info = &pca9532_chip_info_tbl[id->driver_data]; in pca9532_probe()
467 dev_info(&client->dev, "setting platform data\n"); in pca9532_probe()
468 i2c_set_clientdata(client, data); in pca9532_probe()
469 data->client = client; in pca9532_probe()
470 mutex_init(&data->update_lock); in pca9532_probe()
472 err = pca9532_configure(client, data, pca9532_pdata); in pca9532_probe()
474 kfree(data); in pca9532_probe()
481 struct pca9532_data *data = i2c_get_clientdata(client); in pca9532_remove() local
484 err = pca9532_destroy_devices(data, data->chip_info->num_leds); in pca9532_remove()
488 kfree(data); in pca9532_remove()