static irqreturn_t dex_cb_interrupt(int irq, void *dev_id) { uint32_t nt; unsigned base = (unsigned)(MSM_SHARED_RAM_BASE + 0xfc100); nt = readl(base + PC_NOTIFY); writeb(0, base + PC_NOTIFY); // clear state if (nt & 2) // VBUS state changed notify_vbus_change_intr(); return IRQ_HANDLED; }
static irqreturn_t dex_cb_interrupt(int irq, void *dev_id) { uint32_t nt; nt = readl(base + PC_NOTIFY); writeb(0, base + PC_NOTIFY); // clear state // printk("###DEX CB INTR[%08X]###\n", nt); if (nt & 2) // VBUS state changed { notify_vbus_change_intr(); } return IRQ_HANDLED; }