int ret = IRQ_NONE;
u8 val;
- if (twl4030_i2c_read_u8(TWL4030_MODULE_INT, &val, REG_PWR_ISR1) < 0) {
- printk(KERN_ERR "twl4030_usb: i2c read failed,"
- " line %d\n", __LINE__);
- goto done;
- }
-
- /* this interrupt line may be shared */
- if (!(val & USB_PRES))
- goto done;
-
- /* clear the interrupt */
- twl4030_i2c_write_u8(TWL4030_MODULE_INT, USB_PRES, REG_PWR_ISR1);
-
/* action based on cable attach or detach */
if (twl4030_i2c_read_u8(TWL4030_MODULE_INT, &val, REG_PWR_EDR1) < 0) {
printk(KERN_ERR "twl4030_usb: i2c read failed,"
the_transceiver = twl;
- twl->irq = TWL4030_MODIRQ_PWR;
+ twl->irq = TWL4030_PWRIRQ_USB_PRES;
twl->otg.set_host = twl4030_set_host;
twl->otg.set_peripheral = twl4030_set_peripheral;
twl->otg.set_suspend = twl4030_set_suspend;
usb_irq_disable();
- status = request_irq(twl->irq, twl4030_usb_irq,
- IRQF_DISABLED | IRQF_SHARED, "twl4030_usb", twl);
+ status = request_irq(twl->irq, twl4030_usb_irq, 0, "twl4030_usb", twl);
if (status < 0) {
printk(KERN_DEBUG "can't get IRQ %d, err %d\n",
twl->irq, status);
int res;
u8 rd_reg;
- /* clear the RTC interrupt in TWL4030 power module */
- res = twl4030_i2c_read_u8(TWL4030_MODULE_INT, &rd_reg, REG_PWR_ISR1);
- if (res)
- goto out;
-
- /* Check if interrupt is sourced by RTC */
- if (!(rd_reg & PWR_RTC_INT_CLR))
- goto out;
-
- res = twl4030_i2c_write_u8(TWL4030_MODULE_INT, PWR_RTC_INT_CLR, REG_PWR_ISR1);
- if (res)
- goto out;
-
res = twl4030_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
if (res)
goto out;
if (ret < 0)
goto out1;
- ret = request_irq(TWL4030_MODIRQ_PWR, twl4030_rtc_interrupt,
- IRQF_DISABLED | IRQF_SHARED, rtc->dev.bus_id, rtc);
+ ret = request_irq(TWL4030_PWRIRQ_RTC, twl4030_rtc_interrupt,
+ 0, rtc->dev.bus_id, rtc);
if (ret < 0) {
dev_err(&pdev->dev, "IRQ is not free.\n");
goto out1;
#define TWL4030_MODIRQ_MADC (IH_TWL4030_BASE + 3)
#define TWL4030_MODIRQ_USB (IH_TWL4030_BASE + 4)
#define TWL4030_MODIRQ_PWR (IH_TWL4030_BASE + 5)
+
+#define TWL4030_PWRIRQ_PWRBTN (IH_TWL4030_PWRBASE + 0)
+#define TWL4030_PWRIRQ_CHG_PRES (IH_TWL4030_PWRBASE + 1)
+#define TWL4030_PWRIRQ_USB_PRES (IH_TWL4030_PWRBASE + 2)
+#define TWL4030_PWRIRQ_RTC (IH_TWL4030_PWRBASE + 3)
+#define TWL4030_PWRIRQ_HOT_DIE (IH_TWL4030_PWRBASE + 4)
+#define TWL4030_PWRIRQ_PWROK_TIMEOUT (IH_TWL4030_PWRBASE + 5)
+#define TWL4030_PWRIRQ_MBCHG (IH_TWL4030_PWRBASE + 6)
+#define TWL4030_PWRIRQ_SC_DETECT (IH_TWL4030_PWRBASE + 7)
+
/* Rest are unsued currently*/
/* Offsets to Power Registers */