Message ID | 20230302030238.158796-3-shahuang@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm: Use gic_enable/disable_irq() macro to clean up code | expand |
On 3/2/23 04:02, Shaoqin Huang wrote: > Use gic_enable/disable_irq() to clean up the code. > > Signed-off-by: Shaoqin Huang <shahuang@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Thanks Eric > --- > arm/timer.c | 20 +++----------------- > 1 file changed, 3 insertions(+), 17 deletions(-) > > diff --git a/arm/timer.c b/arm/timer.c > index c4e7b10..c0a8388 100644 > --- a/arm/timer.c > +++ b/arm/timer.c > @@ -14,9 +14,6 @@ > #include <asm/gic.h> > #include <asm/io.h> > > -static void *gic_isenabler; > -static void *gic_icenabler; > - > static bool ptimer_unsupported; > > static void ptimer_unsupported_handler(struct pt_regs *regs, unsigned int esr) > @@ -139,12 +136,12 @@ static struct timer_info ptimer_info = { > > static void set_timer_irq_enabled(struct timer_info *info, bool enabled) > { > - u32 val = 1 << PPI(info->irq); > + u32 irq = PPI(info->irq); > > if (enabled) > - writel(val, gic_isenabler); > + gic_enable_irq(irq); > else > - writel(val, gic_icenabler); > + gic_disable_irq(irq); > } > > static void irq_handler(struct pt_regs *regs) > @@ -366,17 +363,6 @@ static void test_init(void) > > gic_enable_defaults(); > > - switch (gic_version()) { > - case 2: > - gic_isenabler = gicv2_dist_base() + GICD_ISENABLER; > - gic_icenabler = gicv2_dist_base() + GICD_ICENABLER; > - break; > - case 3: > - gic_isenabler = gicv3_sgi_base() + GICR_ISENABLER0; > - gic_icenabler = gicv3_sgi_base() + GICR_ICENABLER0; > - break; > - } > - > install_irq_handler(EL1H_IRQ, irq_handler); > set_timer_irq_enabled(&ptimer_info, true); > set_timer_irq_enabled(&vtimer_info, true);
diff --git a/arm/timer.c b/arm/timer.c index c4e7b10..c0a8388 100644 --- a/arm/timer.c +++ b/arm/timer.c @@ -14,9 +14,6 @@ #include <asm/gic.h> #include <asm/io.h> -static void *gic_isenabler; -static void *gic_icenabler; - static bool ptimer_unsupported; static void ptimer_unsupported_handler(struct pt_regs *regs, unsigned int esr) @@ -139,12 +136,12 @@ static struct timer_info ptimer_info = { static void set_timer_irq_enabled(struct timer_info *info, bool enabled) { - u32 val = 1 << PPI(info->irq); + u32 irq = PPI(info->irq); if (enabled) - writel(val, gic_isenabler); + gic_enable_irq(irq); else - writel(val, gic_icenabler); + gic_disable_irq(irq); } static void irq_handler(struct pt_regs *regs) @@ -366,17 +363,6 @@ static void test_init(void) gic_enable_defaults(); - switch (gic_version()) { - case 2: - gic_isenabler = gicv2_dist_base() + GICD_ISENABLER; - gic_icenabler = gicv2_dist_base() + GICD_ICENABLER; - break; - case 3: - gic_isenabler = gicv3_sgi_base() + GICR_ISENABLER0; - gic_icenabler = gicv3_sgi_base() + GICR_ICENABLER0; - break; - } - install_irq_handler(EL1H_IRQ, irq_handler); set_timer_irq_enabled(&ptimer_info, true); set_timer_irq_enabled(&vtimer_info, true);
Use gic_enable/disable_irq() to clean up the code. Signed-off-by: Shaoqin Huang <shahuang@redhat.com> --- arm/timer.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-)