Searched refs:htcpld (Results 1 - 2 of 2) sorted by relevance

/linux-4.1.27/drivers/mfd/
H A Dhtc-i2cpld.c36 #include <linux/htcpld.h>
78 /* htcpld info */
84 * on the htcpld chip itself. So, we simply ignore interrupts that
115 .name = "htcpld",
128 struct htcpld_data *htcpld = dev; htcpld_handler() local
133 if (!htcpld) { htcpld_handler()
134 pr_debug("htcpld is null in ISR\n"); htcpld_handler()
145 for (i = 0; i < htcpld->nchips; i++) { htcpld_handler()
146 struct htcpld_chip *chip = &htcpld->chip[i]; htcpld_handler()
212 if (htcpld->int_reset_gpio_hi) htcpld_handler()
213 gpio_set_value(htcpld->int_reset_gpio_hi, 1); htcpld_handler()
214 if (htcpld->int_reset_gpio_lo) htcpld_handler()
215 gpio_set_value(htcpld->int_reset_gpio_lo, 0); htcpld_handler()
263 if (!strncmp(chip->label, "htcpld-out", 10)) { htcpld_chip_get()
266 } else if (!strncmp(chip->label, "htcpld-in", 9)) { htcpld_chip_get()
318 struct htcpld_data *htcpld; htcpld_setup_chip_irq() local
324 htcpld = platform_get_drvdata(pdev); htcpld_setup_chip_irq()
325 chip = &htcpld->chip[chip_index]; htcpld_setup_chip_irq()
347 struct htcpld_data *htcpld; htcpld_register_chip_i2c() local
358 htcpld = platform_get_drvdata(pdev); htcpld_register_chip_i2c()
359 chip = &htcpld->chip[chip_index]; htcpld_register_chip_i2c()
378 strlcpy(info.type, "htcpld-chip", I2C_NAME_SIZE); htcpld_register_chip_i2c()
405 struct htcpld_data *htcpld; htcpld_unregister_chip_i2c() local
409 htcpld = platform_get_drvdata(pdev); htcpld_unregister_chip_i2c()
410 chip = &htcpld->chip[chip_index]; htcpld_unregister_chip_i2c()
420 struct htcpld_data *htcpld; htcpld_register_chip_gpio() local
430 htcpld = platform_get_drvdata(pdev); htcpld_register_chip_gpio()
431 chip = &htcpld->chip[chip_index]; htcpld_register_chip_gpio()
436 gpio_chip->label = "htcpld-out"; htcpld_register_chip_gpio()
447 gpio_chip->label = "htcpld-in"; htcpld_register_chip_gpio()
479 struct htcpld_data *htcpld; htcpld_setup_chips() local
486 htcpld = platform_get_drvdata(pdev); htcpld_setup_chips()
489 htcpld->nchips = pdata->num_chip; htcpld_setup_chips()
490 htcpld->chip = devm_kzalloc(dev, sizeof(struct htcpld_chip) * htcpld->nchips, htcpld_setup_chips()
492 if (!htcpld->chip) { htcpld_setup_chips()
498 for (i = 0; i < htcpld->nchips; i++) { htcpld_setup_chips()
502 htcpld->chip[i].reset = pdata->chip[i].reset; htcpld_setup_chips()
503 htcpld->chip[i].cache_out = pdata->chip[i].reset; htcpld_setup_chips()
504 htcpld->chip[i].cache_in = 0; htcpld_setup_chips()
505 htcpld->chip[i].dev = dev; htcpld_setup_chips()
506 htcpld->chip[i].irq_start = pdata->chip[i].irq_base; htcpld_setup_chips()
507 htcpld->chip[i].nirqs = pdata->chip[i].num_irqs; htcpld_setup_chips()
509 INIT_WORK(&(htcpld->chip[i].set_val_work), &htcpld_chip_set_ni); htcpld_setup_chips()
510 spin_lock_init(&(htcpld->chip[i].lock)); htcpld_setup_chips()
513 if (htcpld->chained_irq) { htcpld_setup_chips()
541 struct htcpld_data *htcpld; htcpld_core_probe() local
552 dev_warn(dev, "Platform data not found for htcpld core!\n"); htcpld_core_probe()
556 htcpld = devm_kzalloc(dev, sizeof(struct htcpld_data), GFP_KERNEL); htcpld_core_probe()
557 if (!htcpld) htcpld_core_probe()
564 htcpld->chained_irq = res->start; htcpld_core_probe()
568 ret = request_threaded_irq(htcpld->chained_irq, htcpld_core_probe()
570 flags, pdev->name, htcpld); htcpld_core_probe()
579 platform_set_drvdata(pdev, htcpld); htcpld_core_probe()
581 /* Setup the htcpld chips */ htcpld_core_probe()
588 ret = gpio_request(pdata->int_reset_gpio_hi, "htcpld-core"); htcpld_core_probe()
595 htcpld->int_reset_gpio_hi = 0; htcpld_core_probe()
597 htcpld->int_reset_gpio_hi = pdata->int_reset_gpio_hi; htcpld_core_probe()
598 gpio_set_value(htcpld->int_reset_gpio_hi, 1); htcpld_core_probe()
603 ret = gpio_request(pdata->int_reset_gpio_lo, "htcpld-core"); htcpld_core_probe()
610 htcpld->int_reset_gpio_lo = 0; htcpld_core_probe()
612 htcpld->int_reset_gpio_lo = pdata->int_reset_gpio_lo; htcpld_core_probe()
613 gpio_set_value(htcpld->int_reset_gpio_lo, 0); htcpld_core_probe()
623 { "htcpld-chip", 0 },
631 .name = "htcpld-chip",
639 .name = "i2c-htcpld",
/linux-4.1.27/arch/arm/mach-omap1/
H A Dboard-htcherald.c35 #include <linux/htcpld.h>
160 * The htcpld chip requires a gpio write to a specific line
375 .name = "i2c-htcpld",

Completed in 91 milliseconds