Lines Matching refs:pca9450
33 struct pca9450 { struct
663 struct pca9450 *pca9450 = data; in pca9450_irq_handler() local
664 struct regmap *regmap = pca9450->regmap; in pca9450_irq_handler()
670 dev_err(pca9450->dev, in pca9450_irq_handler()
676 dev_warn(pca9450->dev, "PWRON interrupt.\n"); in pca9450_irq_handler()
679 dev_warn(pca9450->dev, "WDOGB interrupt.\n"); in pca9450_irq_handler()
682 dev_warn(pca9450->dev, "VRFLT1 interrupt.\n"); in pca9450_irq_handler()
685 dev_warn(pca9450->dev, "VRFLT2 interrupt.\n"); in pca9450_irq_handler()
688 dev_warn(pca9450->dev, "LOWVSYS interrupt.\n"); in pca9450_irq_handler()
691 dev_warn(pca9450->dev, "IRQ_THERM_105 interrupt.\n"); in pca9450_irq_handler()
694 dev_warn(pca9450->dev, "IRQ_THERM_125 interrupt.\n"); in pca9450_irq_handler()
706 struct pca9450 *pca9450; in pca9450_i2c_probe() local
715 pca9450 = devm_kzalloc(&i2c->dev, sizeof(struct pca9450), GFP_KERNEL); in pca9450_i2c_probe()
716 if (!pca9450) in pca9450_i2c_probe()
722 pca9450->rcnt = ARRAY_SIZE(pca9450a_regulators); in pca9450_i2c_probe()
726 pca9450->rcnt = ARRAY_SIZE(pca9450bc_regulators); in pca9450_i2c_probe()
733 pca9450->irq = i2c->irq; in pca9450_i2c_probe()
734 pca9450->type = type; in pca9450_i2c_probe()
735 pca9450->dev = &i2c->dev; in pca9450_i2c_probe()
737 dev_set_drvdata(&i2c->dev, pca9450); in pca9450_i2c_probe()
739 pca9450->regmap = devm_regmap_init_i2c(i2c, in pca9450_i2c_probe()
741 if (IS_ERR(pca9450->regmap)) { in pca9450_i2c_probe()
743 return PTR_ERR(pca9450->regmap); in pca9450_i2c_probe()
746 ret = regmap_read(pca9450->regmap, PCA9450_REG_DEV_ID, &device_id); in pca9450_i2c_probe()
760 for (i = 0; i < pca9450->rcnt; i++) { in pca9450_i2c_probe()
768 config.regmap = pca9450->regmap; in pca9450_i2c_probe()
769 config.dev = pca9450->dev; in pca9450_i2c_probe()
771 rdev = devm_regulator_register(pca9450->dev, desc, &config); in pca9450_i2c_probe()
774 dev_err(pca9450->dev, in pca9450_i2c_probe()
781 ret = devm_request_threaded_irq(pca9450->dev, pca9450->irq, NULL, in pca9450_i2c_probe()
784 "pca9450-irq", pca9450); in pca9450_i2c_probe()
786 dev_err(pca9450->dev, "Failed to request IRQ: %d\n", in pca9450_i2c_probe()
787 pca9450->irq); in pca9450_i2c_probe()
791 ret = regmap_update_bits(pca9450->regmap, PCA9450_REG_INT1_MSK, in pca9450_i2c_probe()
801 ret = regmap_clear_bits(pca9450->regmap, PCA9450_REG_BUCK123_DVS, in pca9450_i2c_probe()
809 ret = regmap_update_bits(pca9450->regmap, PCA9450_REG_RESET_CTRL, in pca9450_i2c_probe()
821 pca9450->sd_vsel_gpio = gpiod_get_optional(pca9450->dev, "sd-vsel", GPIOD_OUT_HIGH); in pca9450_i2c_probe()
823 if (IS_ERR(pca9450->sd_vsel_gpio)) { in pca9450_i2c_probe()