mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-01 10:13:58 +08:00
850576cfed
The w5100 driver currently only supports direct and indirect bus interface mode which use MMIO space for accessing w5100 registers. In order to support SPI interface mode which is supported by W5100 chip, this makes the bus interface abstraction layer more generic so that separated w5100-spi driver can use w5100 driver as core module. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Mike Sinkovsky <msink@permonline.ru> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
29 lines
941 B
C
29 lines
941 B
C
/*
|
|
* Ethernet driver for the WIZnet W5100 chip.
|
|
*
|
|
* Copyright (C) 2006-2008 WIZnet Co.,Ltd.
|
|
* Copyright (C) 2012 Mike Sinkovsky <msink@permonline.ru>
|
|
*
|
|
* Licensed under the GPL-2 or later.
|
|
*/
|
|
|
|
struct w5100_ops {
|
|
int (*read)(struct net_device *ndev, u16 addr);
|
|
int (*write)(struct net_device *ndev, u16 addr, u8 data);
|
|
int (*read16)(struct net_device *ndev, u16 addr);
|
|
int (*write16)(struct net_device *ndev, u16 addr, u16 data);
|
|
int (*readbulk)(struct net_device *ndev, u16 addr, u8 *buf, int len);
|
|
int (*writebulk)(struct net_device *ndev, u16 addr, const u8 *buf,
|
|
int len);
|
|
int (*reset)(struct net_device *ndev);
|
|
int (*init)(struct net_device *ndev);
|
|
};
|
|
|
|
void *w5100_ops_priv(const struct net_device *ndev);
|
|
|
|
int w5100_probe(struct device *dev, const struct w5100_ops *ops,
|
|
int sizeof_ops_priv, u8 *mac_addr, int irq, int link_gpio);
|
|
int w5100_remove(struct device *dev);
|
|
|
|
extern const struct dev_pm_ops w5100_pm_ops;
|