rapidio: remove mport resource reservation from common RIO code
Removes resource reservation from the common sybsystem initialization code and make it part of mport driver initialization. This resolves conflict with resource reservation by device specific mport drivers. Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Li Yang <leoli@freescale.com> Cc: Thomas Moll <thomas.moll@sysgo.com> Cc: Micha Nelissen <micha@neli.hopto.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
569fccb6b4
commit
c1256ebe6a
@@ -1432,6 +1432,14 @@ int fsl_rio_setup(struct platform_device *dev)
|
||||
port->iores.flags = IORESOURCE_MEM;
|
||||
port->iores.name = "rio_io_win";
|
||||
|
||||
if (request_resource(&iomem_resource, &port->iores) < 0) {
|
||||
dev_err(&dev->dev, "RIO: Error requesting master port region"
|
||||
" 0x%016llx-0x%016llx\n",
|
||||
(u64)port->iores.start, (u64)port->iores.end);
|
||||
rc = -ENOMEM;
|
||||
goto err_res;
|
||||
}
|
||||
|
||||
priv->pwirq = irq_of_parse_and_map(dev->dev.of_node, 0);
|
||||
priv->bellirq = irq_of_parse_and_map(dev->dev.of_node, 2);
|
||||
priv->txirq = irq_of_parse_and_map(dev->dev.of_node, 3);
|
||||
@@ -1536,6 +1544,7 @@ int fsl_rio_setup(struct platform_device *dev)
|
||||
return 0;
|
||||
err:
|
||||
iounmap(priv->regs_win);
|
||||
err_res:
|
||||
kfree(priv);
|
||||
err_priv:
|
||||
kfree(port);
|
||||
|
Reference in New Issue
Block a user