On Wed, 7 Nov 2012, Vineet Gupta wrote:
> +void __init init_IRQ(void)
> +{
> +     const int irq = TIMER0_IRQ;
> +
> +     /*
> +      * Each CPU needs to register irq of it's private TIMER0.
> +      * The APIs request_percpu_irq()/enable_percpu_irq() will not be
> +      * functional, if we don't "prep" the generic IRQ sub-system with
> +      * the following:
> +      * -Ensure that devid passed to request_percpu_irq() is indeed per cpu
> +      * -disable NOAUTOEN, w/o which the device handler never gets called

What sets NOAUTOEN in the first place? The core code definitely does
not.

> +      */
> +     irq_set_percpu_devid(irq);
> +     irq_modify_status(irq, IRQ_NOAUTOEN, 0);

Aside of that we have irq_clear_status_flags() for this.

> +     plat_init_IRQ();
> +}

> +int __init get_hw_config_num_irq(void)

How is that function used ?

> +{
> +     uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR);
> +
> +     switch (val & 0x03) {
> +     case 0:
> +             return 16;
> +     case 1:
> +             return 32;
> +     case 2:
> +             return 8;
> +     default:
> +             return 0;
> +     }
> +
> +     return 0;
> +}

Thanks,

        tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to