Lines Matching refs:data
91 { .compatible = "nxp,pca9530", .data = (void *)pca9530 },
92 { .compatible = "nxp,pca9531", .data = (void *)pca9531 },
93 { .compatible = "nxp,pca9532", .data = (void *)pca9532 },
94 { .compatible = "nxp,pca9533", .data = (void *)pca9533 },
120 struct pca9532_data *data = i2c_get_clientdata(client);
121 for (i = 0; i < data->chip_info->num_leds; i++) {
122 if (data->leds[i].type == PCA9532_TYPE_LED &&
123 data->leds[i].state == PCA9532_PWM0+pwm) {
125 b += data->leds[i].ldev.brightness;
137 data->pwm[pwm] = b;
138 data->psc[pwm] = blink;
144 struct pca9532_data *data = i2c_get_clientdata(client);
145 u8 maxleds = data->chip_info->num_leds;
147 mutex_lock(&data->update_lock);
149 data->pwm[pwm]);
151 data->psc[pwm]);
152 mutex_unlock(&data->update_lock);
160 struct pca9532_data *data = i2c_get_clientdata(client);
161 u8 maxleds = data->chip_info->num_leds;
164 mutex_lock(&data->update_lock);
171 mutex_unlock(&data->update_lock);
227 struct pca9532_data *data = input_get_drvdata(dev);
234 data->pwm[1] = 127;
236 data->pwm[1] = 0;
238 schedule_work(&data->work);
245 struct pca9532_data *data =
247 u8 maxleds = data->chip_info->num_leds;
249 mutex_lock(&data->update_lock);
250 i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(maxleds, 1),
251 data->pwm[1]);
252 mutex_unlock(&data->update_lock);
258 struct pca9532_data *data = i2c_get_clientdata(client);
259 u8 maxleds = data->chip_info->num_leds;
263 mutex_lock(&data->update_lock);
266 mutex_unlock(&data->update_lock);
273 struct pca9532_data *data = gpiochip_get_data(gc);
274 struct pca9532_led *led = &data->leds[offset];
284 struct pca9532_data *data = gpiochip_get_data(gc);
285 struct pca9532_led *led = &data->leds[offset];
297 struct pca9532_data *data = gpiochip_get_data(gc);
300 reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset));
321 static int pca9532_destroy_devices(struct pca9532_data *data, int n_devs)
325 if (!data)
329 switch (data->leds[i].type) {
334 led_classdev_unregister(&data->leds[i].ldev);
337 if (data->idev != NULL) {
338 cancel_work_sync(&data->work);
339 data->idev = NULL;
346 if (data->gpio.parent)
347 gpiochip_remove(&data->gpio);
354 struct pca9532_data *data, struct pca9532_platform_data *pdata)
358 u8 maxleds = data->chip_info->num_leds;
361 data->pwm[i] = pdata->pwm[i];
362 data->psc[i] = pdata->psc[i];
364 data->pwm[i]);
366 data->psc[i]);
369 for (i = 0; i < data->chip_info->num_leds; i++) {
370 struct pca9532_led *led = &data->leds[i];
403 BUG_ON(data->idev);
406 data->idev = devm_input_allocate_device(&client->dev);
407 if (data->idev == NULL) {
411 data->idev->name = pled->name;
412 data->idev->phys = "i2c/pca9532";
413 data->idev->id.bustype = BUS_HOST;
414 data->idev->id.vendor = 0x001f;
415 data->idev->id.product = 0x0001;
416 data->idev->id.version = 0x0100;
417 data->idev->evbit[0] = BIT_MASK(EV_SND);
418 data->idev->sndbit[0] = BIT_MASK(SND_BELL) |
420 data->idev->event = pca9532_event;
421 input_set_drvdata(data->idev, data);
422 INIT_WORK(&data->work, pca9532_input_work);
423 err = input_register_device(data->idev);
425 cancel_work_sync(&data->work);
426 data->idev = NULL;
435 data->gpio.label = "gpio-pca9532";
436 data->gpio.direction_input = pca9532_gpio_direction_input;
437 data->gpio.direction_output = pca9532_gpio_direction_output;
438 data->gpio.set = pca9532_gpio_set_value;
439 data->gpio.get = pca9532_gpio_get_value;
440 data->gpio.request = pca9532_gpio_request_pin;
441 data->gpio.can_sleep = 1;
442 data->gpio.base = pdata->gpio_base;
443 data->gpio.ngpio = data->chip_info->num_leds;
444 data->gpio.parent = &client->dev;
445 data->gpio.owner = THIS_MODULE;
447 err = gpiochip_add_data(&data->gpio, data);
449 /* Use data->gpio.dev as a flag for freeing gpiochip */
450 data->gpio.parent = NULL;
454 data->gpio.base, data->gpio.base +
455 data->gpio.ngpio - 1);
463 pca9532_destroy_devices(data, i);
514 struct pca9532_data *data = i2c_get_clientdata(client);
526 dev_err(&client->dev, "no platform data\n");
538 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
539 if (!data)
542 data->chip_info = &pca9532_chip_info_tbl[devid];
544 dev_info(&client->dev, "setting platform data\n");
545 i2c_set_clientdata(client, data);
546 data->client = client;
547 mutex_init(&data->update_lock);
549 return pca9532_configure(client, data, pca9532_pdata);
554 struct pca9532_data *data = i2c_get_clientdata(client);
556 return pca9532_destroy_devices(data, data->chip_info->num_leds);