netdev: octeon_mgmt: Convert to use device tree.
The device tree will supply the register bank base addresses, make register addressing relative to those. PHY connection is now described by the device tree. The OCTEON_IRQ_MII{0,1} symbols are also removed as they are now unused and interfere with the irq_domain used for device tree irq mapping. Signed-off-by: David Daney <david.daney@cavium.com> Acked-by: David S. Miller <davem@davemloft.net> Cc: linux-mips@linux-mips.org Cc: devicetree-discuss@lists.ozlabs.org Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Rob Herring <rob.herring@calxeda.com> Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/3941/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
2fd46f47be
commit
368bec0d4a
@@ -168,68 +168,6 @@ out:
|
||||
}
|
||||
device_initcall(octeon_rng_device_init);
|
||||
|
||||
/* Octeon mgmt port Ethernet interface. */
|
||||
static int __init octeon_mgmt_device_init(void)
|
||||
{
|
||||
struct platform_device *pd;
|
||||
int ret = 0;
|
||||
int port, num_ports;
|
||||
|
||||
struct resource mgmt_port_resource = {
|
||||
.flags = IORESOURCE_IRQ,
|
||||
.start = -1,
|
||||
.end = -1
|
||||
};
|
||||
|
||||
if (!OCTEON_IS_MODEL(OCTEON_CN56XX) && !OCTEON_IS_MODEL(OCTEON_CN52XX))
|
||||
return 0;
|
||||
|
||||
if (OCTEON_IS_MODEL(OCTEON_CN56XX))
|
||||
num_ports = 1;
|
||||
else
|
||||
num_ports = 2;
|
||||
|
||||
for (port = 0; port < num_ports; port++) {
|
||||
pd = platform_device_alloc("octeon_mgmt", port);
|
||||
if (!pd) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
/* No DMA restrictions */
|
||||
pd->dev.coherent_dma_mask = DMA_BIT_MASK(64);
|
||||
pd->dev.dma_mask = &pd->dev.coherent_dma_mask;
|
||||
|
||||
switch (port) {
|
||||
case 0:
|
||||
mgmt_port_resource.start = OCTEON_IRQ_MII0;
|
||||
break;
|
||||
case 1:
|
||||
mgmt_port_resource.start = OCTEON_IRQ_MII1;
|
||||
break;
|
||||
default:
|
||||
BUG();
|
||||
}
|
||||
mgmt_port_resource.end = mgmt_port_resource.start;
|
||||
|
||||
ret = platform_device_add_resources(pd, &mgmt_port_resource, 1);
|
||||
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
ret = platform_device_add(pd);
|
||||
if (ret)
|
||||
goto fail;
|
||||
}
|
||||
return ret;
|
||||
fail:
|
||||
platform_device_put(pd);
|
||||
|
||||
out:
|
||||
return ret;
|
||||
|
||||
}
|
||||
device_initcall(octeon_mgmt_device_init);
|
||||
|
||||
#ifdef CONFIG_USB
|
||||
|
||||
static int __init octeon_ehci_device_init(void)
|
||||
|
Reference in New Issue
Block a user