[PATCH 2/3] irq_remap: fix the UP build failure

From: Suresh Siddha
Date: Tue May 08 2012 - 03:06:18 EST


Fix the below UP build failure with CONFIG_IRQ_REMAP enabled.

drivers/iommu/intel_irq_remapping.c:955:19: error: âstruct irq_dataâ has no member named âaffinityâ

Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
Cc: Joerg Roedel <joerg.roedel@xxxxxxx>
---
drivers/iommu/intel_irq_remapping.c | 4 ++++
drivers/iommu/irq_remapping.c | 2 ++
drivers/iommu/irq_remapping.h | 2 ++
3 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/iommu/intel_irq_remapping.c b/drivers/iommu/intel_irq_remapping.c
index b4d3950..1c0255e 100644
--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -902,6 +902,7 @@ static int intel_setup_ioapic_entry(int irq,
return 0;
}

+#ifdef CONFIG_SMP
/*
* Migrate the IO-APIC irq in the presence of intr-remapping.
*
@@ -955,6 +956,7 @@ intel_ioapic_set_affinity(struct irq_data *data, const struct cpumask *mask,
cpumask_copy(data->affinity, mask);
return 0;
}
+#endif

static void intel_compose_msi_msg(struct pci_dev *pdev,
unsigned int irq, unsigned int dest,
@@ -1056,7 +1058,9 @@ struct irq_remap_ops intel_irq_remap_ops = {
.reenable = reenable_irq_remapping,
.enable_faulting = enable_drhd_fault_handling,
.setup_ioapic_entry = intel_setup_ioapic_entry,
+#ifdef CONFIG_SMP
.set_affinity = intel_ioapic_set_affinity,
+#endif
.free_irq = free_irte,
.compose_msi_msg = intel_compose_msi_msg,
.msi_alloc_irq = intel_msi_alloc_irq,
diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c
index 1cf350e..40cda8e 100644
--- a/drivers/iommu/irq_remapping.c
+++ b/drivers/iommu/irq_remapping.c
@@ -111,6 +111,7 @@ int setup_ioapic_remapped_entry(int irq,
vector, attr);
}

+#ifdef CONFIG_SMP
int set_remapped_irq_affinity(struct irq_data *data, const struct cpumask *mask,
bool force)
{
@@ -119,6 +120,7 @@ int set_remapped_irq_affinity(struct irq_data *data, const struct cpumask *mask,

return remap_ops->set_affinity(data, mask, force);
}
+#endif

void free_remapped_irq(int irq)
{
diff --git a/drivers/iommu/irq_remapping.h b/drivers/iommu/irq_remapping.h
index b12974c..be9d729 100644
--- a/drivers/iommu/irq_remapping.h
+++ b/drivers/iommu/irq_remapping.h
@@ -59,9 +59,11 @@ struct irq_remap_ops {
unsigned int, int,
struct io_apic_irq_attr *);

+#ifdef CONFIG_SMP
/* Set the CPU affinity of a remapped interrupt */
int (*set_affinity)(struct irq_data *data, const struct cpumask *mask,
bool force);
+#endif

/* Free an IRQ */
int (*free_irq)(int);
--
1.7.6.5

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