Lines Matching +full:irqs +full:- +full:reserved
1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2015-2017, 2022 Intel Corporation. All rights reserved.
145 .irqs = bxtwc_regmap_irqs,
154 .irqs = bxtwc_regmap_irqs_pwrbtn,
163 .irqs = bxtwc_regmap_irqs_tmu,
172 .irqs = bxtwc_regmap_irqs_bcu,
181 .irqs = bxtwc_regmap_irqs_adc,
190 .irqs = bxtwc_regmap_irqs_chgr,
199 .irqs = bxtwc_regmap_irqs_crit,
285 return -EINVAL; in regmap_ipc_byte_reg_read()
296 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_read()
315 return -EINVAL; in regmap_ipc_byte_reg_write()
327 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS, in regmap_ipc_byte_reg_write()
359 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val); in val_show()
379 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val); in val_store()
422 return dev_err_probe(pmic->dev, irq, "Failed to get parent vIRQ(%d) for chip %s\n", in bxtwc_add_chained_irq_chip()
423 pirq, chip->name); in bxtwc_add_chained_irq_chip()
425 return devm_regmap_add_irq_chip(pmic->dev, pmic->regmap, irq, irq_flags, in bxtwc_add_chained_irq_chip()
431 struct device *dev = &pdev->dev; in bxtwc_probe()
439 return dev_err_probe(dev, -ENODEV, "Failed to get PMIC hardware revision\n"); in bxtwc_probe()
441 return dev_err_probe(dev, -ENODEV, "Invalid PMIC hardware revision: %llu\n", hrv); in bxtwc_probe()
445 return -ENOMEM; in bxtwc_probe()
450 pmic->irq = ret; in bxtwc_probe()
453 pmic->dev = dev; in bxtwc_probe()
455 pmic->scu = devm_intel_scu_ipc_dev_get(dev); in bxtwc_probe()
456 if (!pmic->scu) in bxtwc_probe()
457 return -EPROBE_DEFER; in bxtwc_probe()
459 pmic->regmap = devm_regmap_init(dev, NULL, pmic, &bxtwc_regmap_config); in bxtwc_probe()
460 if (IS_ERR(pmic->regmap)) in bxtwc_probe()
461 return dev_err_probe(dev, PTR_ERR(pmic->regmap), "Failed to initialise regmap\n"); in bxtwc_probe()
463 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, in bxtwc_probe()
466 &pmic->irq_chip_data); in bxtwc_probe()
470 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
474 &pmic->irq_chip_data_pwrbtn); in bxtwc_probe()
478 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
482 &pmic->irq_chip_data_tmu); in bxtwc_probe()
486 /* Add chained IRQ handler for BCU IRQs */ in bxtwc_probe()
487 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
491 &pmic->irq_chip_data_bcu); in bxtwc_probe()
495 /* Add chained IRQ handler for ADC IRQs */ in bxtwc_probe()
496 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
500 &pmic->irq_chip_data_adc); in bxtwc_probe()
504 /* Add chained IRQ handler for CHGR IRQs */ in bxtwc_probe()
505 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
509 &pmic->irq_chip_data_chgr); in bxtwc_probe()
513 /* Add chained IRQ handler for CRIT IRQs */ in bxtwc_probe()
514 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data, in bxtwc_probe()
518 &pmic->irq_chip_data_crit); in bxtwc_probe()
532 * to re-enable the charger interrupt. in bxtwc_probe()
534 regmap_update_bits(pmic->regmap, BXTWC_MIRQLVL1, BXTWC_MIRQLVL1_MCHGR, 0); in bxtwc_probe()
543 disable_irq(pmic->irq); in bxtwc_shutdown()
550 disable_irq(pmic->irq); in bxtwc_suspend()
559 enable_irq(pmic->irq); in bxtwc_resume()