projects
/
linux-drm-fsl-dcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
irqdomain: Use irq_domain_get_of_node() instead of direct field access
[linux-drm-fsl-dcu.git]
/
arch
/
powerpc
/
platforms
/
pasemi
/
msi.c
diff --git
a/arch/powerpc/platforms/pasemi/msi.c
b/arch/powerpc/platforms/pasemi/msi.c
index e66ef19433387854820e91a2b515d737fd7fd270..d9af76342d9980791a6dce16db4c2ce394d9c386 100644
(file)
--- a/
arch/powerpc/platforms/pasemi/msi.c
+++ b/
arch/powerpc/platforms/pasemi/msi.c
@@
-63,6
+63,7
@@
static struct irq_chip mpic_pasemi_msi_chip = {
static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev)
{
struct msi_desc *entry;
static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev)
{
struct msi_desc *entry;
+ irq_hw_number_t hwirq;
pr_debug("pasemi_msi_teardown_msi_irqs, pdev %p\n", pdev);
pr_debug("pasemi_msi_teardown_msi_irqs, pdev %p\n", pdev);
@@
-70,10
+71,10
@@
static void pasemi_msi_teardown_msi_irqs(struct pci_dev *pdev)
if (entry->irq == NO_IRQ)
continue;
if (entry->irq == NO_IRQ)
continue;
+ hwirq = virq_to_hw(entry->irq);
irq_set_msi_desc(entry->irq, NULL);
irq_set_msi_desc(entry->irq, NULL);
- msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap,
- virq_to_hw(entry->irq), ALLOC_CHUNK);
irq_dispose_mapping(entry->irq);
irq_dispose_mapping(entry->irq);
+ msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK);
}
return;
}
return;
@@
-143,9
+144,11
@@
int mpic_pasemi_msi_init(struct mpic *mpic)
{
int rc;
struct pci_controller *phb;
{
int rc;
struct pci_controller *phb;
+ struct device_node *of_node;
- if (!mpic->irqhost->of_node ||
- !of_device_is_compatible(mpic->irqhost->of_node,
+ of_node = irq_domain_get_of_node(mpic->irqhost);
+ if (!of_node ||
+ !of_device_is_compatible(of_node,
"pasemi,pwrficient-openpic"))
return -ENODEV;
"pasemi,pwrficient-openpic"))
return -ENODEV;