Loading arch/mips/emma/markeins/irq.c +27 −40 Original line number Diff line number Diff line Loading @@ -34,13 +34,10 @@ #include <asm/emma/emma2rh.h> static void emma2rh_irq_enable(unsigned int irq) static void emma2rh_irq_enable(struct irq_data *d) { u32 reg_value; u32 reg_bitmask; u32 reg_index; irq -= EMMA2RH_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_IRQ_BASE; u32 reg_value, reg_bitmask, reg_index; reg_index = EMMA2RH_BHIF_INT_EN_0 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32); Loading @@ -49,13 +46,10 @@ static void emma2rh_irq_enable(unsigned int irq) emma2rh_out32(reg_index, reg_value | reg_bitmask); } static void emma2rh_irq_disable(unsigned int irq) static void emma2rh_irq_disable(struct irq_data *d) { u32 reg_value; u32 reg_bitmask; u32 reg_index; irq -= EMMA2RH_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_IRQ_BASE; u32 reg_value, reg_bitmask, reg_index; reg_index = EMMA2RH_BHIF_INT_EN_0 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32); Loading @@ -66,10 +60,8 @@ static void emma2rh_irq_disable(unsigned int irq) struct irq_chip emma2rh_irq_controller = { .name = "emma2rh_irq", .ack = emma2rh_irq_disable, .mask = emma2rh_irq_disable, .mask_ack = emma2rh_irq_disable, .unmask = emma2rh_irq_enable, .irq_mask = emma2rh_irq_disable, .irq_unmask = emma2rh_irq_enable, }; void emma2rh_irq_init(void) Loading @@ -82,23 +74,21 @@ void emma2rh_irq_init(void) handle_level_irq, "level"); } static void emma2rh_sw_irq_enable(unsigned int irq) static void emma2rh_sw_irq_enable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_SW_IRQ_BASE; u32 reg; irq -= EMMA2RH_SW_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN); reg |= 1 << irq; emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg); } static void emma2rh_sw_irq_disable(unsigned int irq) static void emma2rh_sw_irq_disable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_SW_IRQ_BASE; u32 reg; irq -= EMMA2RH_SW_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN); reg &= ~(1 << irq); emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg); Loading @@ -106,10 +96,8 @@ static void emma2rh_sw_irq_disable(unsigned int irq) struct irq_chip emma2rh_sw_irq_controller = { .name = "emma2rh_sw_irq", .ack = emma2rh_sw_irq_disable, .mask = emma2rh_sw_irq_disable, .mask_ack = emma2rh_sw_irq_disable, .unmask = emma2rh_sw_irq_enable, .irq_mask = emma2rh_sw_irq_disable, .irq_unmask = emma2rh_sw_irq_enable, }; void emma2rh_sw_irq_init(void) Loading @@ -122,39 +110,38 @@ void emma2rh_sw_irq_init(void) handle_level_irq, "level"); } static void emma2rh_gpio_irq_enable(unsigned int irq) static void emma2rh_gpio_irq_enable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); reg |= 1 << irq; emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg); } static void emma2rh_gpio_irq_disable(unsigned int irq) static void emma2rh_gpio_irq_disable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); reg &= ~(1 << irq); emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg); } static void emma2rh_gpio_irq_ack(unsigned int irq) static void emma2rh_gpio_irq_ack(struct irq_data *d) { irq -= EMMA2RH_GPIO_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq)); } static void emma2rh_gpio_irq_mask_ack(unsigned int irq) static void emma2rh_gpio_irq_mask_ack(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq)); reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); Loading @@ -164,10 +151,10 @@ static void emma2rh_gpio_irq_mask_ack(unsigned int irq) struct irq_chip emma2rh_gpio_irq_controller = { .name = "emma2rh_gpio_irq", .ack = emma2rh_gpio_irq_ack, .mask = emma2rh_gpio_irq_disable, .mask_ack = emma2rh_gpio_irq_mask_ack, .unmask = emma2rh_gpio_irq_enable, .irq_ack = emma2rh_gpio_irq_ack, .irq_mask = emma2rh_gpio_irq_disable, .irq_mask_ack = emma2rh_gpio_irq_mask_ack, .irq_unmask = emma2rh_gpio_irq_enable, }; void emma2rh_gpio_irq_init(void) Loading Loading
arch/mips/emma/markeins/irq.c +27 −40 Original line number Diff line number Diff line Loading @@ -34,13 +34,10 @@ #include <asm/emma/emma2rh.h> static void emma2rh_irq_enable(unsigned int irq) static void emma2rh_irq_enable(struct irq_data *d) { u32 reg_value; u32 reg_bitmask; u32 reg_index; irq -= EMMA2RH_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_IRQ_BASE; u32 reg_value, reg_bitmask, reg_index; reg_index = EMMA2RH_BHIF_INT_EN_0 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32); Loading @@ -49,13 +46,10 @@ static void emma2rh_irq_enable(unsigned int irq) emma2rh_out32(reg_index, reg_value | reg_bitmask); } static void emma2rh_irq_disable(unsigned int irq) static void emma2rh_irq_disable(struct irq_data *d) { u32 reg_value; u32 reg_bitmask; u32 reg_index; irq -= EMMA2RH_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_IRQ_BASE; u32 reg_value, reg_bitmask, reg_index; reg_index = EMMA2RH_BHIF_INT_EN_0 + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0) * (irq / 32); Loading @@ -66,10 +60,8 @@ static void emma2rh_irq_disable(unsigned int irq) struct irq_chip emma2rh_irq_controller = { .name = "emma2rh_irq", .ack = emma2rh_irq_disable, .mask = emma2rh_irq_disable, .mask_ack = emma2rh_irq_disable, .unmask = emma2rh_irq_enable, .irq_mask = emma2rh_irq_disable, .irq_unmask = emma2rh_irq_enable, }; void emma2rh_irq_init(void) Loading @@ -82,23 +74,21 @@ void emma2rh_irq_init(void) handle_level_irq, "level"); } static void emma2rh_sw_irq_enable(unsigned int irq) static void emma2rh_sw_irq_enable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_SW_IRQ_BASE; u32 reg; irq -= EMMA2RH_SW_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN); reg |= 1 << irq; emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg); } static void emma2rh_sw_irq_disable(unsigned int irq) static void emma2rh_sw_irq_disable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_SW_IRQ_BASE; u32 reg; irq -= EMMA2RH_SW_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN); reg &= ~(1 << irq); emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg); Loading @@ -106,10 +96,8 @@ static void emma2rh_sw_irq_disable(unsigned int irq) struct irq_chip emma2rh_sw_irq_controller = { .name = "emma2rh_sw_irq", .ack = emma2rh_sw_irq_disable, .mask = emma2rh_sw_irq_disable, .mask_ack = emma2rh_sw_irq_disable, .unmask = emma2rh_sw_irq_enable, .irq_mask = emma2rh_sw_irq_disable, .irq_unmask = emma2rh_sw_irq_enable, }; void emma2rh_sw_irq_init(void) Loading @@ -122,39 +110,38 @@ void emma2rh_sw_irq_init(void) handle_level_irq, "level"); } static void emma2rh_gpio_irq_enable(unsigned int irq) static void emma2rh_gpio_irq_enable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); reg |= 1 << irq; emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg); } static void emma2rh_gpio_irq_disable(unsigned int irq) static void emma2rh_gpio_irq_disable(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); reg &= ~(1 << irq); emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg); } static void emma2rh_gpio_irq_ack(unsigned int irq) static void emma2rh_gpio_irq_ack(struct irq_data *d) { irq -= EMMA2RH_GPIO_IRQ_BASE; unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq)); } static void emma2rh_gpio_irq_mask_ack(unsigned int irq) static void emma2rh_gpio_irq_mask_ack(struct irq_data *d) { unsigned int irq = d->irq - EMMA2RH_GPIO_IRQ_BASE; u32 reg; irq -= EMMA2RH_GPIO_IRQ_BASE; emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq)); reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK); Loading @@ -164,10 +151,10 @@ static void emma2rh_gpio_irq_mask_ack(unsigned int irq) struct irq_chip emma2rh_gpio_irq_controller = { .name = "emma2rh_gpio_irq", .ack = emma2rh_gpio_irq_ack, .mask = emma2rh_gpio_irq_disable, .mask_ack = emma2rh_gpio_irq_mask_ack, .unmask = emma2rh_gpio_irq_enable, .irq_ack = emma2rh_gpio_irq_ack, .irq_mask = emma2rh_gpio_irq_disable, .irq_mask_ack = emma2rh_gpio_irq_mask_ack, .irq_unmask = emma2rh_gpio_irq_enable, }; void emma2rh_gpio_irq_init(void) Loading