提交 b6295c8b 编写于 作者: G Grant Likely

of/microblaze: strip out of_irq_workarounds code

Microblaze doesn't have any legacy workaround in the device tree irq
mapping data.  All of the of_irq_workarounds stuff can be dropped
Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
上级 e3873444
...@@ -93,19 +93,9 @@ extern const void *of_get_mac_address(struct device_node *np); ...@@ -93,19 +93,9 @@ extern const void *of_get_mac_address(struct device_node *np);
* OF interrupt mapping * OF interrupt mapping
*/ */
/**
* of_irq_map_init - Initialize the irq remapper
* @flags: flags defining workarounds to enable
*
* Some machines have bugs in the device-tree which require certain workarounds
* to be applied. Call this before any interrupt mapping attempts to enable
* those workarounds.
*/
#define OF_IMAP_OLDWORLD_MAC 0x00000001 #define OF_IMAP_OLDWORLD_MAC 0x00000001
#define OF_IMAP_NO_PHANDLE 0x00000002 #define OF_IMAP_NO_PHANDLE 0x00000002
extern void of_irq_map_init(unsigned int flags);
/** /**
* of_irq_map_raw - Low level interrupt tree parsing * of_irq_map_raw - Low level interrupt tree parsing
* @parent: the device interrupt parent * @parent: the device interrupt parent
......
...@@ -676,47 +676,6 @@ static struct device_node *of_irq_find_parent(struct device_node *child) ...@@ -676,47 +676,6 @@ static struct device_node *of_irq_find_parent(struct device_node *child)
return p; return p;
} }
/* This doesn't need to be called if you don't have any special workaround
* flags to pass
*/
void of_irq_map_init(unsigned int flags)
{
of_irq_workarounds = flags;
/* OldWorld, don't bother looking at other things */
if (flags & OF_IMAP_OLDWORLD_MAC)
return;
/* If we don't have phandles, let's try to locate a default interrupt
* controller (happens when booting with BootX). We do a first match
* here, hopefully, that only ever happens on machines with one
* controller.
*/
if (flags & OF_IMAP_NO_PHANDLE) {
struct device_node *np;
for (np = NULL; (np = of_find_all_nodes(np)) != NULL;) {
if (of_get_property(np, "interrupt-controller", NULL)
== NULL)
continue;
/* Skip /chosen/interrupt-controller */
if (strcmp(np->name, "chosen") == 0)
continue;
/* It seems like at least one person on this planet
* wants to use BootX on a machine with an AppleKiwi
* controller which happens to pretend to be an
* interrupt controller too.
*/
if (strcmp(np->name, "AppleKiwi") == 0)
continue;
/* I think we found one ! */
of_irq_dflt_pic = np;
break;
}
}
}
int of_irq_map_raw(struct device_node *parent, const u32 *intspec, u32 ointsize, int of_irq_map_raw(struct device_node *parent, const u32 *intspec, u32 ointsize,
const u32 *addr, struct of_irq *out_irq) const u32 *addr, struct of_irq *out_irq)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册