Commit da051980 authored by Milton Miller's avatar Milton Miller Committed by Benjamin Herrenschmidt

powerpc: Remove irq_host_ops->remap hook

It was called from irq_create_mapping if that was called for a host
and hwirq that was previously mapped, "to update the flags".  But the
only implementation was in beat_interrupt and all it did was repeat a
hypervisor call without error checking that was performed with error
checking at the beginning of the map hook.  In addition, the comment on
the beat remap hook says it will only called once for a given mapping,
which would apply to map not remap.

All flags should be known by the time the match hook is called, before
we call the map hook.  Removing this mostly unused hook will simpify
the requirements of irq_domain concept.
Signed-off-by: default avatarMilton Miller <miltonm@bga.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 23f73a5f
...@@ -88,9 +88,6 @@ struct irq_host_ops { ...@@ -88,9 +88,6 @@ struct irq_host_ops {
/* Dispose of such a mapping */ /* Dispose of such a mapping */
void (*unmap)(struct irq_host *h, unsigned int virq); void (*unmap)(struct irq_host *h, unsigned int virq);
/* Update of such a mapping */
void (*remap)(struct irq_host *h, unsigned int virq, irq_hw_number_t hw);
/* Translate device-tree interrupt specifier from raw format coming /* Translate device-tree interrupt specifier from raw format coming
* from the firmware to a irq_hw_number_t (interrupt line number) and * from the firmware to a irq_hw_number_t (interrupt line number) and
* type (sense) that can be passed to set_irq_type(). In the absence * type (sense) that can be passed to set_irq_type(). In the absence
......
...@@ -732,8 +732,6 @@ unsigned int irq_create_mapping(struct irq_host *host, ...@@ -732,8 +732,6 @@ unsigned int irq_create_mapping(struct irq_host *host,
*/ */
virq = irq_find_mapping(host, hwirq); virq = irq_find_mapping(host, hwirq);
if (virq != NO_IRQ) { if (virq != NO_IRQ) {
if (host->ops->remap)
host->ops->remap(host, virq, hwirq);
pr_debug("irq: -> existing mapping on virq %d\n", virq); pr_debug("irq: -> existing mapping on virq %d\n", virq);
return virq; return virq;
} }
......
...@@ -147,16 +147,6 @@ static int beatic_pic_host_map(struct irq_host *h, unsigned int virq, ...@@ -147,16 +147,6 @@ static int beatic_pic_host_map(struct irq_host *h, unsigned int virq,
return 0; return 0;
} }
/*
* Update binding hardware IRQ number (hw) and Virtuql
* IRQ number (virq). This is called only once for a given mapping.
*/
static void beatic_pic_host_remap(struct irq_host *h, unsigned int virq,
irq_hw_number_t hw)
{
beat_construct_and_connect_irq_plug(virq, hw);
}
/* /*
* Translate device-tree interrupt spec to irq_hw_number_t style (ulong), * Translate device-tree interrupt spec to irq_hw_number_t style (ulong),
* to pass away to irq_create_mapping(). * to pass away to irq_create_mapping().
...@@ -184,7 +174,6 @@ static int beatic_pic_host_match(struct irq_host *h, struct device_node *np) ...@@ -184,7 +174,6 @@ static int beatic_pic_host_match(struct irq_host *h, struct device_node *np)
static struct irq_host_ops beatic_pic_host_ops = { static struct irq_host_ops beatic_pic_host_ops = {
.map = beatic_pic_host_map, .map = beatic_pic_host_map,
.remap = beatic_pic_host_remap,
.unmap = beatic_pic_host_unmap, .unmap = beatic_pic_host_unmap,
.xlate = beatic_pic_host_xlate, .xlate = beatic_pic_host_xlate,
.match = beatic_pic_host_match, .match = beatic_pic_host_match,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment