Lines Matching refs:data
89 { .compatible = "nxp,pca9530", .data = (void *)pca9530 },
90 { .compatible = "nxp,pca9531", .data = (void *)pca9531 },
91 { .compatible = "nxp,pca9532", .data = (void *)pca9532 },
92 { .compatible = "nxp,pca9533", .data = (void *)pca9533 },
118 struct pca9532_data *data = i2c_get_clientdata(client);
119 for (i = 0; i < data->chip_info->num_leds; i++) {
120 if (data->leds[i].type == PCA9532_TYPE_LED &&
121 data->leds[i].state == PCA9532_PWM0+pwm) {
123 b += data->leds[i].ldev.brightness;
135 data->pwm[pwm] = b;
136 data->psc[pwm] = blink;
142 struct pca9532_data *data = i2c_get_clientdata(client);
143 u8 maxleds = data->chip_info->num_leds;
145 mutex_lock(&data->update_lock);
147 data->pwm[pwm]);
149 data->psc[pwm]);
150 mutex_unlock(&data->update_lock);
158 struct pca9532_data *data = i2c_get_clientdata(client);
159 u8 maxleds = data->chip_info->num_leds;
162 mutex_lock(&data->update_lock);
169 mutex_unlock(&data->update_lock);
225 struct pca9532_data *data = input_get_drvdata(dev);
232 data->pwm[1] = 127;
234 data->pwm[1] = 0;
236 schedule_work(&data->work);
243 struct pca9532_data *data =
245 u8 maxleds = data->chip_info->num_leds;
247 mutex_lock(&data->update_lock);
248 i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(maxleds, 1),
249 data->pwm[1]);
250 mutex_unlock(&data->update_lock);
256 struct pca9532_data *data = i2c_get_clientdata(client);
257 u8 maxleds = data->chip_info->num_leds;
261 mutex_lock(&data->update_lock);
264 mutex_unlock(&data->update_lock);
271 struct pca9532_data *data = gpiochip_get_data(gc);
272 struct pca9532_led *led = &data->leds[offset];
282 struct pca9532_data *data = gpiochip_get_data(gc);
283 struct pca9532_led *led = &data->leds[offset];
295 struct pca9532_data *data = gpiochip_get_data(gc);
298 reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset));
319 static void pca9532_destroy_devices(struct pca9532_data *data, int n_devs)
324 switch (data->leds[i].type) {
329 led_classdev_unregister(&data->leds[i].ldev);
332 if (data->idev != NULL) {
333 cancel_work_sync(&data->work);
334 data->idev = NULL;
341 if (data->gpio.parent)
342 gpiochip_remove(&data->gpio);
347 struct pca9532_data *data, struct pca9532_platform_data *pdata)
351 u8 maxleds = data->chip_info->num_leds;
354 data->pwm[i] = pdata->pwm[i];
355 data->psc[i] = pdata->psc[i];
357 data->pwm[i]);
359 data->psc[i]);
362 for (i = 0; i < data->chip_info->num_leds; i++) {
363 struct pca9532_led *led = &data->leds[i];
396 BUG_ON(data->idev);
399 data->idev = devm_input_allocate_device(&client->dev);
400 if (data->idev == NULL) {
404 data->idev->name = pled->name;
405 data->idev->phys = "i2c/pca9532";
406 data->idev->id.bustype = BUS_HOST;
407 data->idev->id.vendor = 0x001f;
408 data->idev->id.product = 0x0001;
409 data->idev->id.version = 0x0100;
410 data->idev->evbit[0] = BIT_MASK(EV_SND);
411 data->idev->sndbit[0] = BIT_MASK(SND_BELL) |
413 data->idev->event = pca9532_event;
414 input_set_drvdata(data->idev, data);
415 INIT_WORK(&data->work, pca9532_input_work);
416 err = input_register_device(data->idev);
418 cancel_work_sync(&data->work);
419 data->idev = NULL;
428 data->gpio.label = "gpio-pca9532";
429 data->gpio.direction_input = pca9532_gpio_direction_input;
430 data->gpio.direction_output = pca9532_gpio_direction_output;
431 data->gpio.set = pca9532_gpio_set_value;
432 data->gpio.get = pca9532_gpio_get_value;
433 data->gpio.request = pca9532_gpio_request_pin;
434 data->gpio.can_sleep = 1;
435 data->gpio.base = pdata->gpio_base;
436 data->gpio.ngpio = data->chip_info->num_leds;
437 data->gpio.parent = &client->dev;
438 data->gpio.owner = THIS_MODULE;
440 err = gpiochip_add_data(&data->gpio, data);
442 /* Use data->gpio.dev as a flag for freeing gpiochip */
443 data->gpio.parent = NULL;
447 data->gpio.base, data->gpio.base +
448 data->gpio.ngpio - 1);
456 pca9532_destroy_devices(data, i);
509 struct pca9532_data *data = i2c_get_clientdata(client);
521 dev_err(&client->dev, "no platform data\n");
533 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
534 if (!data)
537 data->chip_info = &pca9532_chip_info_tbl[devid];
539 dev_info(&client->dev, "setting platform data\n");
540 i2c_set_clientdata(client, data);
541 data->client = client;
542 mutex_init(&data->update_lock);
544 return pca9532_configure(client, data, pca9532_pdata);
549 struct pca9532_data *data = i2c_get_clientdata(client);
551 pca9532_destroy_devices(data, data->chip_info->num_leds);