mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
net: korina: Only pass mac address via platform data
Get rid of access to struct korina_device by just passing the mac address via platform data and use drvdata for passing netdev to remove function. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0fc96939a9
commit
af80425e05
@ -105,6 +105,9 @@ static struct platform_device korina_dev0 = {
|
|||||||
.name = "korina",
|
.name = "korina",
|
||||||
.resource = korina_dev0_res,
|
.resource = korina_dev0_res,
|
||||||
.num_resources = ARRAY_SIZE(korina_dev0_res),
|
.num_resources = ARRAY_SIZE(korina_dev0_res),
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &korina_dev0_data.mac,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource cf_slot0_res[] = {
|
static struct resource cf_slot0_res[] = {
|
||||||
@ -299,8 +302,6 @@ static int __init plat_setup_devices(void)
|
|||||||
/* set the uart clock to the current cpu frequency */
|
/* set the uart clock to the current cpu frequency */
|
||||||
rb532_uart_res[0].uartclk = idt_cpu_freq;
|
rb532_uart_res[0].uartclk = idt_cpu_freq;
|
||||||
|
|
||||||
dev_set_drvdata(&korina_dev0.dev, &korina_dev0_data);
|
|
||||||
|
|
||||||
gpiod_add_lookup_table(&cf_slot0_gpio_table);
|
gpiod_add_lookup_table(&cf_slot0_gpio_table);
|
||||||
return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs));
|
return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs));
|
||||||
}
|
}
|
||||||
|
@ -1055,7 +1055,7 @@ static const struct net_device_ops korina_netdev_ops = {
|
|||||||
|
|
||||||
static int korina_probe(struct platform_device *pdev)
|
static int korina_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct korina_device *bif = platform_get_drvdata(pdev);
|
u8 *mac_addr = dev_get_platdata(&pdev->dev);
|
||||||
struct korina_private *lp;
|
struct korina_private *lp;
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
void __iomem *p;
|
void __iomem *p;
|
||||||
@ -1068,8 +1068,7 @@ static int korina_probe(struct platform_device *pdev)
|
|||||||
SET_NETDEV_DEV(dev, &pdev->dev);
|
SET_NETDEV_DEV(dev, &pdev->dev);
|
||||||
lp = netdev_priv(dev);
|
lp = netdev_priv(dev);
|
||||||
|
|
||||||
bif->dev = dev;
|
memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
|
||||||
memcpy(dev->dev_addr, bif->mac, ETH_ALEN);
|
|
||||||
|
|
||||||
lp->rx_irq = platform_get_irq_byname(pdev, "korina_rx");
|
lp->rx_irq = platform_get_irq_byname(pdev, "korina_rx");
|
||||||
lp->tx_irq = platform_get_irq_byname(pdev, "korina_tx");
|
lp->tx_irq = platform_get_irq_byname(pdev, "korina_tx");
|
||||||
@ -1123,6 +1122,8 @@ static int korina_probe(struct platform_device *pdev)
|
|||||||
lp->mii_if.phy_id_mask = 0x1f;
|
lp->mii_if.phy_id_mask = 0x1f;
|
||||||
lp->mii_if.reg_num_mask = 0x1f;
|
lp->mii_if.reg_num_mask = 0x1f;
|
||||||
|
|
||||||
|
platform_set_drvdata(pdev, dev);
|
||||||
|
|
||||||
rc = register_netdev(dev);
|
rc = register_netdev(dev);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
printk(KERN_ERR DRV_NAME
|
printk(KERN_ERR DRV_NAME
|
||||||
@ -1140,9 +1141,9 @@ static int korina_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
static int korina_remove(struct platform_device *pdev)
|
static int korina_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct korina_device *bif = platform_get_drvdata(pdev);
|
struct net_device *dev = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
unregister_netdev(bif->dev);
|
unregister_netdev(dev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user