[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110316154653.c178910a.sfr@canb.auug.org.au>
Date: Wed, 16 Mar 2011 15:46:53 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Grant Likely <grant.likely@...retlab.ca>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Scott Wood <scottwood@...escale.com>,
Kumar Gala <galak@...nel.crashing.org>
Subject: linux-next: manual merge of the devicetree tree with the galak tree
Hi Grant,
Today's linux-next merge of the devicetree tree got a conflict in
arch/powerpc/sysdev/fsl_msi.c between commit 6820fead714d
("powerpc/fsl_msi: Handle msi-available-ranges better") from the galak
tree and commit 000061245a67 ("dt/powerpc: Eliminate users of of_platform_
{,un}register_driver") from the devicetree tree.
I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc arch/powerpc/sysdev/fsl_msi.c
index 8d6b074,ee6a8a5..0000000
--- a/arch/powerpc/sysdev/fsl_msi.c
+++ b/arch/powerpc/sysdev/fsl_msi.c
@@@ -274,48 -273,23 +274,51 @@@ static int fsl_of_msi_remove(struct pla
return 0;
}
+static int __devinit fsl_msi_setup_hwirq(struct fsl_msi *msi,
+ struct platform_device *dev,
+ int offset, int irq_index)
+{
+ struct fsl_msi_cascade_data *cascade_data = NULL;
+ int virt_msir;
+
+ virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index);
+ if (virt_msir == NO_IRQ) {
+ dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n",
+ __func__, irq_index);
+ return 0;
+ }
+
+ cascade_data = kzalloc(sizeof(struct fsl_msi_cascade_data), GFP_KERNEL);
+ if (!cascade_data) {
+ dev_err(&dev->dev, "No memory for MSI cascade data\n");
+ return -ENOMEM;
+ }
+
+ msi->msi_virqs[irq_index] = virt_msir;
+ cascade_data->index = offset + irq_index;
+ cascade_data->msi_data = msi;
+ set_irq_data(virt_msir, cascade_data);
+ set_irq_chained_handler(virt_msir, fsl_msi_cascade);
+
+ return 0;
+}
+
- static int __devinit fsl_of_msi_probe(struct platform_device *dev,
- const struct of_device_id *match)
+ static int __devinit fsl_of_msi_probe(struct platform_device *dev)
{
struct fsl_msi *msi;
struct resource res;
- int err, i, count;
+ int err, i, j, irq_index, count;
int rc;
- int virt_msir;
const u32 *p;
- struct fsl_msi_feature *features = match->data;
+ struct fsl_msi_feature *features;
- struct fsl_msi_cascade_data *cascade_data = NULL;
int len;
u32 offset;
+ static const u32 all_avail[] = { 0, NR_MSI_IRQS };
+ if (!dev->dev.of_match)
+ return -EINVAL;
+ features = dev->dev.of_match->data;
+
printk(KERN_DEBUG "Setting up Freescale MSI support\n");
msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists