Lines Matching refs:data

107 	struct pca9532_data *data = i2c_get_clientdata(client);
108 for (i = 0; i < data->chip_info->num_leds; i++) {
109 if (data->leds[i].type == PCA9532_TYPE_LED &&
110 data->leds[i].state == PCA9532_PWM0+pwm) {
112 b += data->leds[i].ldev.brightness;
124 data->pwm[pwm] = b;
125 data->psc[pwm] = blink;
131 struct pca9532_data *data = i2c_get_clientdata(client);
132 u8 maxleds = data->chip_info->num_leds;
134 mutex_lock(&data->update_lock);
136 data->pwm[pwm]);
138 data->psc[pwm]);
139 mutex_unlock(&data->update_lock);
147 struct pca9532_data *data = i2c_get_clientdata(client);
148 u8 maxleds = data->chip_info->num_leds;
151 mutex_lock(&data->update_lock);
158 mutex_unlock(&data->update_lock);
208 struct pca9532_data *data = input_get_drvdata(dev);
215 data->pwm[1] = 127;
217 data->pwm[1] = 0;
219 schedule_work(&data->work);
226 struct pca9532_data *data =
228 u8 maxleds = data->chip_info->num_leds;
230 mutex_lock(&data->update_lock);
231 i2c_smbus_write_byte_data(data->client, PCA9532_REG_PWM(maxleds, 1),
232 data->pwm[1]);
233 mutex_unlock(&data->update_lock);
248 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
249 struct pca9532_led *led = &data->leds[offset];
259 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
260 struct pca9532_led *led = &data->leds[offset];
272 struct pca9532_data *data = container_of(gc, struct pca9532_data, gpio);
275 reg = i2c_smbus_read_byte_data(data->client, PCA9532_REG_INPUT(offset));
296 static int pca9532_destroy_devices(struct pca9532_data *data, int n_devs)
300 if (!data)
304 switch (data->leds[i].type) {
309 led_classdev_unregister(&data->leds[i].ldev);
310 cancel_work_sync(&data->leds[i].work);
313 if (data->idev != NULL) {
314 input_unregister_device(data->idev);
315 cancel_work_sync(&data->work);
316 data->idev = NULL;
323 if (data->gpio.dev) {
324 int err = gpiochip_remove(&data->gpio);
326 dev_err(&data->client->dev, "%s failed, %d\n",
337 struct pca9532_data *data, struct pca9532_platform_data *pdata)
341 u8 maxleds = data->chip_info->num_leds;
344 data->pwm[i] = pdata->pwm[i];
345 data->psc[i] = pdata->psc[i];
347 data->pwm[i]);
349 data->psc[i]);
352 for (i = 0; i < data->chip_info->num_leds; i++) {
353 struct pca9532_led *led = &data->leds[i];
382 BUG_ON(data->idev);
385 data->idev = input_allocate_device();
386 if (data->idev == NULL) {
390 data->idev->name = pled->name;
391 data->idev->phys = "i2c/pca9532";
392 data->idev->id.bustype = BUS_HOST;
393 data->idev->id.vendor = 0x001f;
394 data->idev->id.product = 0x0001;
395 data->idev->id.version = 0x0100;
396 data->idev->evbit[0] = BIT_MASK(EV_SND);
397 data->idev->sndbit[0] = BIT_MASK(SND_BELL) |
399 data->idev->event = pca9532_event;
400 input_set_drvdata(data->idev, data);
401 INIT_WORK(&data->work, pca9532_input_work);
402 err = input_register_device(data->idev);
404 input_free_device(data->idev);
405 cancel_work_sync(&data->work);
406 data->idev = NULL;
415 data->gpio.label = "gpio-pca9532";
416 data->gpio.direction_input = pca9532_gpio_direction_input;
417 data->gpio.direction_output = pca9532_gpio_direction_output;
418 data->gpio.set = pca9532_gpio_set_value;
419 data->gpio.get = pca9532_gpio_get_value;
420 data->gpio.request = pca9532_gpio_request_pin;
421 data->gpio.can_sleep = 1;
422 data->gpio.base = pdata->gpio_base;
423 data->gpio.ngpio = data->chip_info->num_leds;
424 data->gpio.dev = &client->dev;
425 data->gpio.owner = THIS_MODULE;
427 err = gpiochip_add(&data->gpio);
429 /* Use data->gpio.dev as a flag for freeing gpiochip */
430 data->gpio.dev = NULL;
434 data->gpio.base, data->gpio.base +
435 data->gpio.ngpio - 1);
443 pca9532_destroy_devices(data, i);
450 struct pca9532_data *data = i2c_get_clientdata(client);
461 data = kzalloc(sizeof(*data), GFP_KERNEL);
462 if (!data)
465 data->chip_info = &pca9532_chip_info_tbl[id->driver_data];
467 dev_info(&client->dev, "setting platform data\n");
468 i2c_set_clientdata(client, data);
469 data->client = client;
470 mutex_init(&data->update_lock);
472 err = pca9532_configure(client, data, pca9532_pdata);
474 kfree(data);
481 struct pca9532_data *data = i2c_get_clientdata(client);
484 err = pca9532_destroy_devices(data, data->chip_info->num_leds);
488 kfree(data);