as3722 208 drivers/mfd/as3722.c static int as3722_check_device_id(struct as3722 *as3722) as3722 214 drivers/mfd/as3722.c ret = as3722_read(as3722, AS3722_ASIC_ID1_REG, &val); as3722 216 drivers/mfd/as3722.c dev_err(as3722->dev, "ASIC_ID1 read failed: %d\n", ret); as3722 221 drivers/mfd/as3722.c dev_err(as3722->dev, "Device is not AS3722, ID is 0x%x\n", val); as3722 225 drivers/mfd/as3722.c ret = as3722_read(as3722, AS3722_ASIC_ID2_REG, &val); as3722 227 drivers/mfd/as3722.c dev_err(as3722->dev, "ASIC_ID2 read failed: %d\n", ret); as3722 231 drivers/mfd/as3722.c dev_info(as3722->dev, "AS3722 with revision 0x%x found\n", val); as3722 235 drivers/mfd/as3722.c static int as3722_configure_pullups(struct as3722 *as3722) as3722 240 drivers/mfd/as3722.c if (as3722->en_intern_int_pullup) as3722 242 drivers/mfd/as3722.c if (as3722->en_intern_i2c_pullup) as3722 245 drivers/mfd/as3722.c ret = as3722_update_bits(as3722, AS3722_IOVOLTAGE_REG, as3722 248 drivers/mfd/as3722.c dev_err(as3722->dev, "IOVOLTAGE_REG update failed: %d\n", ret); as3722 319 drivers/mfd/as3722.c struct as3722 *as3722) as3722 335 drivers/mfd/as3722.c as3722->en_intern_int_pullup = of_property_read_bool(np, as3722 337 drivers/mfd/as3722.c as3722->en_intern_i2c_pullup = of_property_read_bool(np, as3722 339 drivers/mfd/as3722.c as3722->en_ac_ok_pwr_on = of_property_read_bool(np, as3722 341 drivers/mfd/as3722.c as3722->irq_flags = irqd_get_trigger_type(irq_data); as3722 342 drivers/mfd/as3722.c dev_dbg(&i2c->dev, "IRQ flags are 0x%08lx\n", as3722->irq_flags); as3722 349 drivers/mfd/as3722.c struct as3722 *as3722; as3722 354 drivers/mfd/as3722.c as3722 = devm_kzalloc(&i2c->dev, sizeof(struct as3722), GFP_KERNEL); as3722 355 drivers/mfd/as3722.c if (!as3722) as3722 358 drivers/mfd/as3722.c as3722->dev = &i2c->dev; as3722 359 drivers/mfd/as3722.c as3722->chip_irq = i2c->irq; as3722 360 drivers/mfd/as3722.c i2c_set_clientdata(i2c, as3722); as3722 362 drivers/mfd/as3722.c ret = as3722_i2c_of_probe(i2c, as3722); as3722 366 drivers/mfd/as3722.c as3722->regmap = devm_regmap_init_i2c(i2c, &as3722_regmap_config); as3722 367 drivers/mfd/as3722.c if (IS_ERR(as3722->regmap)) { as3722 368 drivers/mfd/as3722.c ret = PTR_ERR(as3722->regmap); as3722 373 drivers/mfd/as3722.c ret = as3722_check_device_id(as3722); as3722 377 drivers/mfd/as3722.c irq_flags = as3722->irq_flags | IRQF_ONESHOT; as3722 378 drivers/mfd/as3722.c ret = devm_regmap_add_irq_chip(as3722->dev, as3722->regmap, as3722 379 drivers/mfd/as3722.c as3722->chip_irq, as3722 381 drivers/mfd/as3722.c &as3722->irq_data); as3722 383 drivers/mfd/as3722.c dev_err(as3722->dev, "Failed to add regmap irq: %d\n", ret); as3722 387 drivers/mfd/as3722.c ret = as3722_configure_pullups(as3722); as3722 391 drivers/mfd/as3722.c if (as3722->en_ac_ok_pwr_on) as3722 393 drivers/mfd/as3722.c ret = as3722_update_bits(as3722, AS3722_CTRL_SEQU1_REG, as3722 396 drivers/mfd/as3722.c dev_err(as3722->dev, "CTRLsequ1 update failed: %d\n", ret); as3722 402 drivers/mfd/as3722.c regmap_irq_get_domain(as3722->irq_data)); as3722 404 drivers/mfd/as3722.c dev_err(as3722->dev, "Failed to add MFD devices: %d\n", ret); as3722 408 drivers/mfd/as3722.c device_init_wakeup(as3722->dev, true); as3722 410 drivers/mfd/as3722.c dev_dbg(as3722->dev, "AS3722 core driver initialized successfully\n"); as3722 416 drivers/mfd/as3722.c struct as3722 *as3722 = dev_get_drvdata(dev); as3722 419 drivers/mfd/as3722.c enable_irq_wake(as3722->chip_irq); as3722 420 drivers/mfd/as3722.c disable_irq(as3722->chip_irq); as3722 427 drivers/mfd/as3722.c struct as3722 *as3722 = dev_get_drvdata(dev); as3722 429 drivers/mfd/as3722.c enable_irq(as3722->chip_irq); as3722 432 drivers/mfd/as3722.c disable_irq_wake(as3722->chip_irq); as3722 80 drivers/pinctrl/pinctrl-as3722.c struct as3722 *as3722; as3722 244 drivers/pinctrl/pinctrl-as3722.c ret = as3722_update_bits(as_pci->as3722, gpio_cntr_reg, as3722 259 drivers/pinctrl/pinctrl-as3722.c ret = as3722_update_bits(as_pci->as3722, gpio_cntr_reg, as3722 311 drivers/pinctrl/pinctrl-as3722.c struct as3722 *as3722 = as_pci->as3722; as3722 322 drivers/pinctrl/pinctrl-as3722.c return as3722_update_bits(as3722, AS3722_GPIOn_CONTROL_REG(offset), as3722 442 drivers/pinctrl/pinctrl-as3722.c struct as3722 *as3722 = as_pci->as3722; as3722 450 drivers/pinctrl/pinctrl-as3722.c ret = as3722_read(as3722, AS3722_GPIOn_CONTROL_REG(offset), &control); as3722 475 drivers/pinctrl/pinctrl-as3722.c ret = as3722_read(as3722, reg, &val); as3722 490 drivers/pinctrl/pinctrl-as3722.c struct as3722 *as3722 = as_pci->as3722; as3722 495 drivers/pinctrl/pinctrl-as3722.c ret = as3722_read(as3722, AS3722_GPIOn_CONTROL_REG(offset), &val); as3722 508 drivers/pinctrl/pinctrl-as3722.c ret = as3722_update_bits(as3722, AS3722_GPIO_SIGNAL_OUT_REG, as3722 531 drivers/pinctrl/pinctrl-as3722.c return as3722_irq_get_virq(as_pci->as3722, offset); as3722 560 drivers/pinctrl/pinctrl-as3722.c as_pci->as3722 = dev_get_drvdata(pdev->dev.parent); as3722 19 drivers/power/reset/as3722-poweroff.c struct as3722 *as3722; as3722 33 drivers/power/reset/as3722-poweroff.c ret = as3722_update_bits(as3722_pm_poweroff->as3722, as3722 56 drivers/power/reset/as3722-poweroff.c as3722_poweroff->as3722 = dev_get_drvdata(pdev->dev.parent); as3722 69 drivers/regulator/as3722-regulator.c struct as3722 *as3722; as3722 329 drivers/regulator/as3722-regulator.c struct as3722 *as3722 = as3722_reg->as3722; as3722 336 drivers/regulator/as3722-regulator.c return as3722_update_bits(as3722, as3722 422 drivers/regulator/as3722-regulator.c struct as3722 *as3722 = as3722_regs->as3722; as3722 430 drivers/regulator/as3722-regulator.c ret = as3722_read(as3722, as3722_reg_lookup[id].control_reg, &val); as3722 447 drivers/regulator/as3722-regulator.c struct as3722 *as3722 = as3722_regs->as3722; as3722 464 drivers/regulator/as3722-regulator.c ret = as3722_update_bits(as3722, as3722_reg_lookup[id].control_reg, as3722 479 drivers/regulator/as3722-regulator.c err = as3722_read(as3722_regs->as3722, AS3722_FUSE7_REG, &val); as3722 554 drivers/regulator/as3722-regulator.c ret = as3722_update_bits(as3722_regs->as3722, as3722 636 drivers/regulator/as3722-regulator.c struct as3722 *as3722 = dev_get_drvdata(pdev->dev.parent); as3722 651 drivers/regulator/as3722-regulator.c as3722_regs->as3722 = as3722; as3722 660 drivers/regulator/as3722-regulator.c config.regmap = as3722->regmap; as3722 28 drivers/rtc/rtc-as3722.c struct as3722 *as3722; as3722 57 drivers/rtc/rtc-as3722.c struct as3722 *as3722 = as3722_rtc->as3722; as3722 61 drivers/rtc/rtc-as3722.c ret = as3722_block_read(as3722, AS3722_RTC_SECOND_REG, as3722 74 drivers/rtc/rtc-as3722.c struct as3722 *as3722 = as3722_rtc->as3722; as3722 82 drivers/rtc/rtc-as3722.c ret = as3722_block_write(as3722, AS3722_RTC_SECOND_REG, 6, as3722 107 drivers/rtc/rtc-as3722.c struct as3722 *as3722 = as3722_rtc->as3722; as3722 111 drivers/rtc/rtc-as3722.c ret = as3722_block_read(as3722, AS3722_RTC_ALARM_SECOND_REG, 6, as3722 125 drivers/rtc/rtc-as3722.c struct as3722 *as3722 = as3722_rtc->as3722; as3722 139 drivers/rtc/rtc-as3722.c ret = as3722_block_write(as3722, AS3722_RTC_ALARM_SECOND_REG, 6, as3722 169 drivers/rtc/rtc-as3722.c struct as3722 *as3722 = dev_get_drvdata(pdev->dev.parent); as3722 177 drivers/rtc/rtc-as3722.c as3722_rtc->as3722 = as3722; as3722 182 drivers/rtc/rtc-as3722.c ret = as3722_update_bits(as3722, AS3722_RTC_CONTROL_REG, as3722 386 include/linux/mfd/as3722.h static inline int as3722_read(struct as3722 *as3722, u32 reg, u32 *dest) as3722 388 include/linux/mfd/as3722.h return regmap_read(as3722->regmap, reg, dest); as3722 391 include/linux/mfd/as3722.h static inline int as3722_write(struct as3722 *as3722, u32 reg, u32 value) as3722 393 include/linux/mfd/as3722.h return regmap_write(as3722->regmap, reg, value); as3722 396 include/linux/mfd/as3722.h static inline int as3722_block_read(struct as3722 *as3722, u32 reg, as3722 399 include/linux/mfd/as3722.h return regmap_bulk_read(as3722->regmap, reg, buf, count); as3722 402 include/linux/mfd/as3722.h static inline int as3722_block_write(struct as3722 *as3722, u32 reg, as3722 405 include/linux/mfd/as3722.h return regmap_bulk_write(as3722->regmap, reg, data, count); as3722 408 include/linux/mfd/as3722.h static inline int as3722_update_bits(struct as3722 *as3722, u32 reg, as3722 411 include/linux/mfd/as3722.h return regmap_update_bits(as3722->regmap, reg, mask, val); as3722 414 include/linux/mfd/as3722.h static inline int as3722_irq_get_virq(struct as3722 *as3722, int irq) as3722 416 include/linux/mfd/as3722.h return regmap_irq_get_virq(as3722->irq_data, irq);