From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Roy Zang <tie-fei.zang@freescale.com>
Cc: linuxppc-dev list <linuxppc-dev@ozlabs.org>
Subject: MPC7448_HPC2 question
Date: Wed, 25 Oct 2006 15:20:05 +1000 [thread overview]
Message-ID: <1161753605.22582.42.camel@localhost.localdomain> (raw)
Any reason why that:
void mpc7448_hpc2_fixup_irq(struct pci_dev *dev)
{
struct pci_controller *hose;
struct device_node *node;
const unsigned int *interrupt;
int busnr;
int len;
u8 slot;
u8 pin;
/* Lookup the hose */
busnr = dev->bus->number;
hose = pci_bus_to_hose(busnr);
if (!hose)
printk(KERN_ERR "No pci hose found\n");
/* Check it has an OF node associated */
node = (struct device_node *) hose->arch_data;
if (!node)
printk(KERN_ERR "No pci node found\n");
interrupt = get_property(node, "interrupt-map", &len);
slot = find_slot_by_devfn(interrupt, dev->devfn);
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (pin == 0 || pin > 4)
pin = 1;
pin--;
dev->irq = interrupt[slot*4*7 + pin*7 + 5];
DBG("TSI_PCI: dev->irq = 0x%x\n", dev->irq);
}
Cannot be replaced by:
pci_read_irq_line(dev);
I'm about to make pci_read_irq_line() called by default by the PCI
code (with a new ppc_md.pci_irq_fixup for platforms that really need
something else done) and so while "fixing" all platforms, I stumbled
accross the code above which is a bit shocking :)
Cheers,
Ben.
next reply other threads:[~2006-10-25 5:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-25 5:20 Benjamin Herrenschmidt [this message]
2006-10-25 5:31 ` MPC7448_HPC2 question Zang Roy-r61911
2006-10-25 9:31 ` Zang Roy-r61911
2006-10-25 13:45 ` Benjamin Herrenschmidt
2006-10-26 7:59 ` Zang Roy-r61911
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1161753605.22582.42.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=tie-fei.zang@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.