Skip to content

Commit

Permalink
of/microblaze: strip out of_irq_workarounds code
Browse files Browse the repository at this point in the history
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: Grant Likely <grant.likely@secretlab.ca>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
  • Loading branch information
Grant Likely committed Jul 5, 2010
1 parent e387344 commit b6295c8
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 51 deletions.
10 changes: 0 additions & 10 deletions arch/microblaze/include/asm/prom.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,19 +93,9 @@ extern const void *of_get_mac_address(struct device_node *np);
* 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_NO_PHANDLE 0x00000002

extern void of_irq_map_init(unsigned int flags);

/**
* of_irq_map_raw - Low level interrupt tree parsing
* @parent: the device interrupt parent
Expand Down
41 changes: 0 additions & 41 deletions arch/microblaze/kernel/prom_parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -676,47 +676,6 @@ static struct device_node *of_irq_find_parent(struct device_node *child)
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,
const u32 *addr, struct of_irq *out_irq)
{
Expand Down

0 comments on commit b6295c8

Please sign in to comment.