summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/i2c/axppmic.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/sys/dev/i2c/axppmic.c b/sys/dev/i2c/axppmic.c
index 8c114fcb962..991c3f14c02 100644
--- a/sys/dev/i2c/axppmic.c
+++ b/sys/dev/i2c/axppmic.c
@@ -1,4 +1,4 @@
-/* $NetBSD: axppmic.c,v 1.6 2018/05/10 23:57:31 jmcneill Exp $ */
+/* $NetBSD: axppmic.c,v 1.7 2018/05/12 01:31:07 jmcneill Exp $ */
/*-
* Copyright (c) 2014-2018 Jared McNeill <jmcneill@invisible.ca>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: axppmic.c,v 1.6 2018/05/10 23:57:31 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: axppmic.c,v 1.7 2018/05/12 01:31:07 jmcneill Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -61,8 +61,6 @@ __KERNEL_RCSID(0, "$NetBSD: axppmic.c,v 1.6 2018/05/10 23:57:31 jmcneill Exp $")
#define AXP_IRQ1_ACIN_LOWER __BIT(5)
#define AXP_IRQ1_VBUS_RAISE __BIT(3)
#define AXP_IRQ1_VBUS_LOWER __BIT(2)
-#define AXP_IRQ2_POKSIRQ __BIT(1)
-#define AXP_IRQ2_
#define AXP_IRQ_STATUS_REG(n) (0x48 + (n) - 1)
#define AXP_FUEL_GAUGE_CTRL_REG 0xb8
@@ -186,8 +184,8 @@ struct axppmic_config {
u_int irq_regs;
bool has_battery;
bool has_fuel_gauge;
- u_int poksirq_reg;
- uint8_t poksirq_mask;
+ u_int poklirq_reg;
+ uint8_t poklirq_mask;
};
enum axppmic_sensor {
@@ -208,8 +206,8 @@ struct axppmic_softc {
bool sc_has_battery;
bool sc_has_fuel_gauge;
- u_int sc_poksirq_reg;
- uint8_t sc_poksirq_mask;
+ u_int sc_poklirq_reg;
+ uint8_t sc_poklirq_mask;
u_int sc_irq_regs;
@@ -244,8 +242,8 @@ static const struct axppmic_config axp803_config = {
.irq_regs = 6,
.has_battery = true,
.has_fuel_gauge = true,
- .poksirq_reg = 5,
- .poksirq_mask = __BIT(4),
+ .poklirq_reg = 5,
+ .poklirq_mask = __BIT(3),
};
static const struct axppmic_config axp805_config = {
@@ -253,8 +251,8 @@ static const struct axppmic_config axp805_config = {
.controls = axp805_ctrls,
.ncontrols = __arraycount(axp805_ctrls),
.irq_regs = 2,
- .poksirq_reg = 2,
- .poksirq_mask = __BIT(1),
+ .poklirq_reg = 2,
+ .poklirq_mask = __BIT(0),
};
static const struct of_compat_data compat_data[] = {
@@ -379,11 +377,11 @@ axppmic_intr(void *priv)
iic_acquire_bus(sc->sc_i2c, flags);
for (n = 1; n <= sc->sc_irq_regs; n++) {
if (axppmic_read(sc->sc_i2c, sc->sc_addr, AXP_IRQ_STATUS_REG(n), &stat, flags) == 0) {
- if (n == sc->sc_poksirq_reg && (stat & sc->sc_poksirq_mask) != 0)
+ if (n == sc->sc_poklirq_reg && (stat & sc->sc_poklirq_mask) != 0)
sysmon_task_queue_sched(0, axppmic_task_shut, sc);
axppmic_write(sc->sc_i2c, sc->sc_addr,
- AXP_IRQ_STATUS_REG(sc->sc_poksirq_reg), stat, flags);
+ AXP_IRQ_STATUS_REG(sc->sc_poklirq_reg), stat, flags);
}
}
iic_release_bus(sc->sc_i2c, flags);
@@ -582,8 +580,8 @@ axppmic_attach(device_t parent, device_t self, void *aux)
sc->sc_has_battery = c->has_battery;
sc->sc_has_fuel_gauge = c->has_fuel_gauge;
sc->sc_irq_regs = c->irq_regs;
- sc->sc_poksirq_reg = c->poksirq_reg;
- sc->sc_poksirq_mask = c->poksirq_mask;
+ sc->sc_poklirq_reg = c->poklirq_reg;
+ sc->sc_poklirq_mask = c->poklirq_mask;
aprint_naive("\n");
aprint_normal(": %s\n", c->name);
@@ -595,8 +593,8 @@ axppmic_attach(device_t parent, device_t self, void *aux)
iic_acquire_bus(sc->sc_i2c, I2C_F_POLL);
for (i = 1; i <= c->irq_regs; i++) {
irq_mask = 0;
- if (i == c->poksirq_reg)
- irq_mask |= c->poksirq_mask;
+ if (i == c->poklirq_reg)
+ irq_mask |= c->poklirq_mask;
axppmic_write(sc->sc_i2c, sc->sc_addr, AXP_IRQ_ENABLE_REG(i), irq_mask, I2C_F_POLL);
}
iic_release_bus(sc->sc_i2c, I2C_F_POLL);