Thomas Gleixner
154cd387cd
genirq: Remove early_init_irq_lock_class()
...
early_init_irq_lock_class() is called way before anything touches the
irq descriptors. In case of SPARSE_IRQ=y this is a NOP operation
because the radix tree is empty at this point. For the SPARSE_IRQ=n
case it's sufficient to set the lock class in early_init_irq().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-12 16:39:06 +02:00
Thomas Gleixner
3795de236d
genirq: Distangle kernel/irq/handle.c
...
kernel/irq/handle.c has become a dumpground for random code in random
order. Split out the irq descriptor management and the dummy irq_chip
implementation into separate files. Cleanup the include maze while at
it.
No code change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-12 16:39:05 +02:00
Thomas Gleixner
f303a6dd12
genirq: Sanitize irq_data accessors
...
Get the data structure from the core and provide inline wrappers to
access the irq_data members.
Provide accessor inlines for irq_data as well.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-12 16:39:05 +02:00
Thomas Gleixner
442471848f
genirq: Provide status modifier
...
Provide a irq_desc.status modifier function to cleanup the direct
access to irq_desc in arch and driver code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-12 16:39:05 +02:00
Thomas Gleixner
e144710b30
genirq: Distangle irq.h
...
Move irq_desc and internal functions out of irq.h
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-12 16:39:04 +02:00
Thomas Gleixner
bd15141226
genirq: Provide config option to disable deprecated code
...
This option covers now the old chip functions and the irq_desc data
fields which are moving to struct irq_data. More stuff will follow.
Pretty handy for testing a conversion, whether something broke or not.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 13:40:24 +02:00
Thomas Gleixner
21e2b8c62c
genirq: Provide compat handling for chip->retrigger()
...
Wrap the old chip function retrigger() until the migration is complete
and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121843.025801092@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:50 +02:00
Thomas Gleixner
2f7e99bb9b
genirq: Provide compat handling for chip->set_wake()
...
Wrap the old chip function set_wake() until the migration is complete
and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.927527393@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:48 +02:00
Thomas Gleixner
b2ba2c3003
genirq: Provide compat handling for chip->set_type()
...
Wrap the old chip function set_type() until the migration is complete
and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.832261548@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:47 +02:00
Thomas Gleixner
c96b3b3c44
genirq: Provide compat handling for chip->set_affinity()
...
Wrap the old chip function set_affinity() until the migration is
complete and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.732894108@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:46 +02:00
Thomas Gleixner
37e12df709
genirq: Provide compat handling for chip->startup()
...
Wrap the old chip function startup() until the migration is complete and
the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.635152961@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:44 +02:00
Thomas Gleixner
bc310dda41
genirq: Provide compat handling for chip->disable()/shutdown()
...
Wrap the old chip functions disable() and shutdown() until the
migration is complete and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.532070631@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:43 +02:00
Thomas Gleixner
c5f756344c
genirq: Provide compat handling for chip->enable()
...
Wrap the old chip function enable() until the migration is complete and
the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.437159182@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:42 +02:00
Thomas Gleixner
0c5c15572a
genirq: Provide compat handling for chip->eoi()
...
Wrap the old chip function eoi() until the migration is complete and
the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.339657617@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:41 +02:00
Thomas Gleixner
9205e31d1a
genirq: Provide compat handling for chip->mask_ack()
...
Wrap the old chip function mask_ack() until the migration is complete
and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.240806983@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:40 +02:00
Thomas Gleixner
22a49163e9
genirq: Provide compat handling for chip->ack()
...
Wrap the old chip function ack() until the migration is complete and
the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.142624725@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:38 +02:00
Thomas Gleixner
0eda58b7f3
genirq: Provide compat handling for chip->unmask()
...
Wrap the old chip function unmask() until the migration is complete
and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121842.043608928@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:37 +02:00
Thomas Gleixner
e2c0f8ff0f
genirq: Provide compat handling for chip->mask()
...
Wrap the old chip function mask() until the migration is complete and
the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121841.940355859@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:36 +02:00
Thomas Gleixner
3876ec9ef3
genirq: Provide compat handling for bus_lock/bus_sync_unlock
...
Wrap the old chip functions for bus_lock/bus_sync_unlock until the
migration is complete and the old chip functions are removed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121841.842536121@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:35 +02:00
Thomas Gleixner
a77c463591
genirq: Add new functions to dummy chips
...
The compat functions go away when the core code is converted.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:43:34 +02:00
Thomas Gleixner
6b8ff3120c
genirq: Convert core code to irq_data
...
Convert all references in the core code to orq, chip, handler_data,
chip_data, msi_desc, affinity to irq_data.*
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:36:26 +02:00
Thomas Gleixner
ff7dcd44dd
genirq: Create irq_data
...
Low level chip functions need access to irq_desc->handler_data,
irq_desc->chip_data and irq_desc->msi_desc. We hand down the irq
number to the low level functions, so they need to lookup irq_desc.
With sparse irq this means a radix tree lookup.
We could hand down irq_desc itself, but low level chip functions have
no need to fiddle with it directly and we want to restrict access to
irq_desc further.
Preparatory patch for new chip functions.
Note, that the ugly anon union/struct is there to avoid a full tree
wide clean up for now. This is not going to last 3 years like __do_IRQ()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121841.645542300@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 12:27:16 +02:00
Thomas Gleixner
d9817ebeee
genirq: Provide Kconfig
...
The generic irq Kconfig options are copied around all archs. Provide a
generic Kconfig file which can be included.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <20100927121843.217333624@linutronix.de >
Reviewed-by: H. Peter Anvin <hpa@zytor.com >
Reviewed-by: Ingo Molnar <mingo@elte.hu >
2010-10-04 11:01:05 +02:00
Thomas Gleixner
d1ea13c6e2
genirq: Cleanup irq_chip->typename leftovers
...
3 years transition phase is enough. Cleanup the last users and remove
the cruft.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Leo Chen <leochen@broadcom.com >
Cc: Hirokazu Takata <takata@linux-m32r.org >
Cc: Chris Metcalf <cmetcalf@tilera.com >
Cc: Jeff Dike <jdike@addtoit.com >
Cc: Chris Zankel <chris@zankel.net >
2010-09-23 19:12:26 +02:00
Linus Torvalds
94ca9d669a
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
...
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
workqueue: add documentation
2010-09-16 12:50:31 -07:00