#include <linux/random.h>
#include <linux/kthread.h>
#include <linux/i2c/twl4030.h>
-#include <linux/i2c/twl4030-pwrirq.h>
-#define PWR_SIH_CTRL_COR (1<<2)
static u8 twl4030_pwrirq_mask;
static u8 twl4030_pwrirq_pending_unmask;
/* Enable clear on read */
- err = twl4030_i2c_write_u8(TWL4030_MODULE_INT, PWR_SIH_CTRL_COR,
- TWL4030_INT_PWR_SIH_CTRL);
+ err = twl4030_i2c_write_u8(TWL4030_MODULE_INT,
+ TWL4030_SIH_CTRL_COR_MASK,
+ TWL4030_INT_PWR_SIH_CTRL);
if (err)
return err;
return 0;
}
+subsys_initcall(twl4030_pwrirq_init);
static void __exit twl4030_pwrirq_exit(void)
{
int i;
+ /* FIXME the irqs are left enabled; trouble when they arrive... */
+
set_irq_handler(TWL4030_MODIRQ_PWR, NULL);
set_irq_flags(TWL4030_MODIRQ_PWR, 0);
twl4030_pwrirq_unmask_thread = NULL;
}
}
-
-MODULE_ALIAS("i2c:twl4030-pwrirq");
-subsys_initcall(twl4030_pwrirq_init);
module_exit(twl4030_pwrirq_exit);
#include <linux/i2c.h>
#include <linux/i2c/twl4030.h>
#include <linux/i2c/twl4030-madc.h>
-#include <linux/i2c/twl4030-pwrirq.h>
#define DRIVER_NAME "twl4030"
#include <linux/interrupt.h>
#include <linux/i2c/twl4030.h>
-#include <linux/i2c/twl4030-pwrirq.h>
/*
+++ /dev/null
-/*
- * twl4030-pwrirq.h - header for TWL4030 power interrupts
- *
- * Copyright (C) 2008 Texas Instruments, Inc.
- * Copyright (C) 2008 Nokia Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __TWL4030_PWRIRQ_H_
-#define __TWL4030_PWRIRQ_H_
-
-/*
- * Power Interrupt block register offsets (use TWL4030_MODULE_INT)
- */
-
-#define TWL4030_INT_PWR_ISR1 0x0
-#define TWL4030_INT_PWR_IMR1 0x1
-#define TWL4030_INT_PWR_ISR2 0x2
-#define TWL4030_INT_PWR_IMR2 0x3
-#define TWL4030_INT_PWR_SIR 0x4 /* test register */
-#define TWL4030_INT_PWR_EDR1 0x5
-#define TWL4030_INT_PWR_EDR2 0x6
-#define TWL4030_INT_PWR_SIH_CTRL 0x7
-
-#endif /* End of __TWL4030_PWRIRQ_H */
/*----------------------------------------------------------------------*/
+/*
+ * Power Interrupt block register offsets (use TWL4030_MODULE_INT)
+ */
+
+#define TWL4030_INT_PWR_ISR1 0x0
+#define TWL4030_INT_PWR_IMR1 0x1
+#define TWL4030_INT_PWR_ISR2 0x2
+#define TWL4030_INT_PWR_IMR2 0x3
+#define TWL4030_INT_PWR_SIR 0x4 /* test register */
+#define TWL4030_INT_PWR_EDR1 0x5
+#define TWL4030_INT_PWR_EDR2 0x6
+#define TWL4030_INT_PWR_SIH_CTRL 0x7
+
+/*----------------------------------------------------------------------*/
+
struct twl4030_bci_platform_data {
int *battery_tmp_tbl;
unsigned int tblsize;