mirror of
https://github.com/joel16/android_kernel_sony_msm8994_rework.git
synced 2025-01-01 09:08:55 +00:00
[IA64] fix NULL pointer in ia64/irq_chip-mask/unmask function
This patch fixes boot failure because irq_desc->mask() is NULL. - Added mask/unmask functions to ia64's irq desc function table. - rename hw_interrupt_type to irq_chip. hw_interrupt_type is old name. - Tony: Added same change to arch/ia64/sn/kernel/irq.c as pointed out by Eric Biederman ... mask/unmask functions there can be no-op. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
08e15e81a4
commit
e253eb0c08
@ -446,7 +446,7 @@ iosapic_end_level_irq (unsigned int irq)
|
||||
#define iosapic_disable_level_irq mask_irq
|
||||
#define iosapic_ack_level_irq nop
|
||||
|
||||
struct hw_interrupt_type irq_type_iosapic_level = {
|
||||
struct irq_chip irq_type_iosapic_level = {
|
||||
.name = "IO-SAPIC-level",
|
||||
.startup = iosapic_startup_level_irq,
|
||||
.shutdown = iosapic_shutdown_level_irq,
|
||||
@ -454,6 +454,8 @@ struct hw_interrupt_type irq_type_iosapic_level = {
|
||||
.disable = iosapic_disable_level_irq,
|
||||
.ack = iosapic_ack_level_irq,
|
||||
.end = iosapic_end_level_irq,
|
||||
.mask = mask_irq,
|
||||
.unmask = unmask_irq,
|
||||
.set_affinity = iosapic_set_affinity
|
||||
};
|
||||
|
||||
@ -493,7 +495,7 @@ iosapic_ack_edge_irq (unsigned int irq)
|
||||
#define iosapic_disable_edge_irq nop
|
||||
#define iosapic_end_edge_irq nop
|
||||
|
||||
struct hw_interrupt_type irq_type_iosapic_edge = {
|
||||
struct irq_chip irq_type_iosapic_edge = {
|
||||
.name = "IO-SAPIC-edge",
|
||||
.startup = iosapic_startup_edge_irq,
|
||||
.shutdown = iosapic_disable_edge_irq,
|
||||
@ -501,6 +503,8 @@ struct hw_interrupt_type irq_type_iosapic_edge = {
|
||||
.disable = iosapic_disable_edge_irq,
|
||||
.ack = iosapic_ack_edge_irq,
|
||||
.end = iosapic_end_edge_irq,
|
||||
.mask = mask_irq,
|
||||
.unmask = unmask_irq,
|
||||
.set_affinity = iosapic_set_affinity
|
||||
};
|
||||
|
||||
|
@ -205,7 +205,17 @@ static void sn_set_affinity_irq(unsigned int irq, cpumask_t mask)
|
||||
(void)sn_retarget_vector(sn_irq_info, nasid, slice);
|
||||
}
|
||||
|
||||
struct hw_interrupt_type irq_type_sn = {
|
||||
static void
|
||||
sn_mask_irq(unsigned int irq)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
sn_unmask_irq(unsigned int irq)
|
||||
{
|
||||
}
|
||||
|
||||
struct irq_chip irq_type_sn = {
|
||||
.name = "SN hub",
|
||||
.startup = sn_startup_irq,
|
||||
.shutdown = sn_shutdown_irq,
|
||||
@ -213,6 +223,8 @@ struct hw_interrupt_type irq_type_sn = {
|
||||
.disable = sn_disable_irq,
|
||||
.ack = sn_ack_irq,
|
||||
.end = sn_end_irq,
|
||||
.mask = sn_mask_irq,
|
||||
.unmask = sn_unmask_irq,
|
||||
.set_affinity = sn_set_affinity_irq
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user