Lines Matching defs:htcpld

22 #include <linux/htcpld.h>
64 /* htcpld info */
70 * on the htcpld chip itself. So, we simply ignore interrupts that
101 .name = "htcpld",
114 struct htcpld_data *htcpld = dev;
119 if (!htcpld) {
120 pr_debug("htcpld is null in ISR\n");
131 for (i = 0; i < htcpld->nchips; i++) {
132 struct htcpld_chip *chip = &htcpld->chip[i];
198 if (htcpld->int_reset_gpio_hi)
199 gpio_set_value(htcpld->int_reset_gpio_hi, 1);
200 if (htcpld->int_reset_gpio_lo)
201 gpio_set_value(htcpld->int_reset_gpio_lo, 0);
248 if (!strncmp(chip->label, "htcpld-out", 10)) {
250 } else if (!strncmp(chip->label, "htcpld-in", 9)) {
299 struct htcpld_data *htcpld;
304 htcpld = platform_get_drvdata(pdev);
305 chip = &htcpld->chip[chip_index];
323 struct htcpld_data *htcpld;
334 htcpld = platform_get_drvdata(pdev);
335 chip = &htcpld->chip[chip_index];
355 strlcpy(info.type, "htcpld-chip", I2C_NAME_SIZE);
383 struct htcpld_data *htcpld;
387 htcpld = platform_get_drvdata(pdev);
388 chip = &htcpld->chip[chip_index];
397 struct htcpld_data *htcpld;
407 htcpld = platform_get_drvdata(pdev);
408 chip = &htcpld->chip[chip_index];
413 gpio_chip->label = "htcpld-out";
424 gpio_chip->label = "htcpld-in";
456 struct htcpld_data *htcpld;
463 htcpld = platform_get_drvdata(pdev);
466 htcpld->nchips = pdata->num_chip;
467 htcpld->chip = devm_kcalloc(dev,
468 htcpld->nchips,
471 if (!htcpld->chip)
475 for (i = 0; i < htcpld->nchips; i++) {
479 htcpld->chip[i].reset = pdata->chip[i].reset;
480 htcpld->chip[i].cache_out = pdata->chip[i].reset;
481 htcpld->chip[i].cache_in = 0;
482 htcpld->chip[i].dev = dev;
483 htcpld->chip[i].irq_start = pdata->chip[i].irq_base;
484 htcpld->chip[i].nirqs = pdata->chip[i].num_irqs;
486 INIT_WORK(&(htcpld->chip[i].set_val_work), &htcpld_chip_set_ni);
487 spin_lock_init(&(htcpld->chip[i].lock));
490 if (htcpld->chained_irq) {
518 struct htcpld_data *htcpld;
529 dev_warn(dev, "Platform data not found for htcpld core!\n");
533 htcpld = devm_kzalloc(dev, sizeof(struct htcpld_data), GFP_KERNEL);
534 if (!htcpld)
541 htcpld->chained_irq = res->start;
546 ret = request_threaded_irq(htcpld->chained_irq,
548 flags, pdev->name, htcpld);
557 platform_set_drvdata(pdev, htcpld);
559 /* Setup the htcpld chips */
566 ret = gpio_request(pdata->int_reset_gpio_hi, "htcpld-core");
573 htcpld->int_reset_gpio_hi = 0;
575 htcpld->int_reset_gpio_hi = pdata->int_reset_gpio_hi;
576 gpio_set_value(htcpld->int_reset_gpio_hi, 1);
581 ret = gpio_request(pdata->int_reset_gpio_lo, "htcpld-core");
588 htcpld->int_reset_gpio_lo = 0;
590 htcpld->int_reset_gpio_lo = pdata->int_reset_gpio_lo;
591 gpio_set_value(htcpld->int_reset_gpio_lo, 0);
601 { "htcpld-chip", 0 },
607 .name = "htcpld-chip",
615 .name = "i2c-htcpld",