Re: [PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
On Wed, 12 Dec 2007, Ingo Molnar wrote: > > * Kevin Hilman <[EMAIL PROTECTED]> wrote: > > > Add unlocked version for use by irq_chip.set_type handlers which may > > wish to change handler to level or edge handler when IRQ type is > > changed. > > > > The normal set_irq_handler() call cannot be used because it tries to > > take irq_desc.lock which is already held when the irq_chip.set_type > > hook is called. > > looks fine to me. Thomas? Acked-by: Thomas Gleixner <[EMAIL PROTECTED]> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
* Kevin Hilman <[EMAIL PROTECTED]> wrote: > Add unlocked version for use by irq_chip.set_type handlers which may > wish to change handler to level or edge handler when IRQ type is > changed. > > The normal set_irq_handler() call cannot be used because it tries to > take irq_desc.lock which is already held when the irq_chip.set_type > hook is called. looks fine to me. Thomas? Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
* Kevin Hilman [EMAIL PROTECTED] wrote: Add unlocked version for use by irq_chip.set_type handlers which may wish to change handler to level or edge handler when IRQ type is changed. The normal set_irq_handler() call cannot be used because it tries to take irq_desc.lock which is already held when the irq_chip.set_type hook is called. looks fine to me. Thomas? Ingo -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
On Wed, 12 Dec 2007, Ingo Molnar wrote: * Kevin Hilman [EMAIL PROTECTED] wrote: Add unlocked version for use by irq_chip.set_type handlers which may wish to change handler to level or edge handler when IRQ type is changed. The normal set_irq_handler() call cannot be used because it tries to take irq_desc.lock which is already held when the irq_chip.set_type hook is called. looks fine to me. Thomas? Acked-by: Thomas Gleixner [EMAIL PROTECTED] -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
Add unlocked version for use by irq_chip.set_type handlers which may wish to change handler to level or edge handler when IRQ type is changed. The normal set_irq_handler() call cannot be used because it tries to take irq_desc.lock which is already held when the irq_chip.set_type hook is called. Signed-off-by: Kevin Hilman <[EMAIL PROTECTED]> --- include/linux/irq.h |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/include/linux/irq.h b/include/linux/irq.h index efc8853..4669be0 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -339,6 +339,13 @@ extern void __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, const char *name); +/* caller has locked the irq_desc and both params are valid */ +static inline void __set_irq_handler_unlocked(int irq, + irq_flow_handler_t handler) +{ + irq_desc[irq].handle_irq = handler; +} + /* * Set a highlevel flow handler for a given IRQ: */ -- 1.5.3.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] Generic IRQ: Add unlocked version of set_irq_handler()
Add unlocked version for use by irq_chip.set_type handlers which may wish to change handler to level or edge handler when IRQ type is changed. The normal set_irq_handler() call cannot be used because it tries to take irq_desc.lock which is already held when the irq_chip.set_type hook is called. Signed-off-by: Kevin Hilman [EMAIL PROTECTED] --- include/linux/irq.h |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/include/linux/irq.h b/include/linux/irq.h index efc8853..4669be0 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -339,6 +339,13 @@ extern void __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, const char *name); +/* caller has locked the irq_desc and both params are valid */ +static inline void __set_irq_handler_unlocked(int irq, + irq_flow_handler_t handler) +{ + irq_desc[irq].handle_irq = handler; +} + /* * Set a highlevel flow handler for a given IRQ: */ -- 1.5.3.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/