#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
+#include <linux/regmap.h>
#include <linux/mfd/s5m87xx/s5m-core.h>
struct s5m_irq_data {
for (i = 0; i < ARRAY_SIZE(s5m87xx->irq_masks_cur); i++) {
if (s5m87xx->irq_masks_cur[i] != s5m87xx->irq_masks_cache[i]) {
s5m87xx->irq_masks_cache[i] = s5m87xx->irq_masks_cur[i];
- s5m_reg_write(s5m87xx, S5M8767_REG_INT1M + i,
- s5m87xx->irq_masks_cur[i]);
+ regmap_write(s5m87xx->pmic, S5M8767_REG_INT1M + i,
+ s5m87xx->irq_masks_cur[i]);
}
}
for (i = 0; i < ARRAY_SIZE(s5m87xx->irq_masks_cur); i++) {
if (s5m87xx->irq_masks_cur[i] != s5m87xx->irq_masks_cache[i]) {
s5m87xx->irq_masks_cache[i] = s5m87xx->irq_masks_cur[i];
- s5m_reg_write(s5m87xx, S5M8763_REG_IRQM1 + i,
- s5m87xx->irq_masks_cur[i]);
+ regmap_write(s5m87xx->pmic, S5M8763_REG_IRQM1 + i,
+ s5m87xx->irq_masks_cur[i]);
}
}
int i;
- ret = s5m_bulk_read(s5m87xx, S5M8767_REG_INT1,
- NUM_IRQ_REGS - 1, irq_reg);
+ ret = regmap_bulk_read(s5m87xx->pmic, S5M8767_REG_INT1,
+ irq_reg, NUM_IRQ_REGS - 1);
if (ret < 0) {
dev_err(s5m87xx->dev, "Failed to read interrupt register: %d\n",
ret);
int ret;
int i;
- ret = s5m_bulk_read(s5m87xx, S5M8763_REG_IRQ1,
- NUM_IRQ_REGS, irq_reg);
+ ret = regmap_bulk_read(s5m87xx->pmic, S5M8763_REG_IRQ1,
+ irq_reg, NUM_IRQ_REGS);
if (ret < 0) {
dev_err(s5m87xx->dev, "Failed to read interrupt register: %d\n",
ret);
for (i = 0; i < NUM_IRQ_REGS; i++) {
s5m87xx->irq_masks_cur[i] = 0xff;
s5m87xx->irq_masks_cache[i] = 0xff;
- s5m_reg_write(s5m87xx, S5M8763_REG_IRQM1 + i,
- 0xff);
+ regmap_write(s5m87xx->pmic, S5M8763_REG_IRQM1 + i,
+ 0xff);
}
- s5m_reg_write(s5m87xx, S5M8763_REG_STATUSM1, 0xff);
- s5m_reg_write(s5m87xx, S5M8763_REG_STATUSM2, 0xff);
+ regmap_write(s5m87xx->pmic, S5M8763_REG_STATUSM1, 0xff);
+ regmap_write(s5m87xx->pmic, S5M8763_REG_STATUSM2, 0xff);
for (i = 0; i < S5M8763_IRQ_NR; i++) {
cur_irq = i + s5m87xx->irq_base;
for (i = 0; i < NUM_IRQ_REGS - 1; i++) {
s5m87xx->irq_masks_cur[i] = 0xff;
s5m87xx->irq_masks_cache[i] = 0xff;
- s5m_reg_write(s5m87xx, S5M8767_REG_INT1M + i,
- 0xff);
+ regmap_write(s5m87xx->pmic, S5M8767_REG_INT1M + i,
+ 0xff);
}
for (i = 0; i < S5M8767_IRQ_NR; i++) {
cur_irq = i + s5m87xx->irq_base;