From 850576cfede986f0683bed25e34bc15712ffb463 Mon Sep 17 00:00:00 2001 From: Akinobu Mita Date: Fri, 15 Apr 2016 00:11:30 +0900 Subject: net: w5100: add ability to support other bus interface 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 Cc: Mike Sinkovsky Cc: David S. Miller Signed-off-by: David S. Miller --- drivers/net/ethernet/wiznet/w5100.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 drivers/net/ethernet/wiznet/w5100.h (limited to 'drivers/net/ethernet/wiznet/w5100.h') diff --git a/drivers/net/ethernet/wiznet/w5100.h b/drivers/net/ethernet/wiznet/w5100.h new file mode 100644 index 000000000000..39d452d878e7 --- /dev/null +++ b/drivers/net/ethernet/wiznet/w5100.h @@ -0,0 +1,28 @@ +/* + * Ethernet driver for the WIZnet W5100 chip. + * + * Copyright (C) 2006-2008 WIZnet Co.,Ltd. + * Copyright (C) 2012 Mike Sinkovsky + * + * 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; -- cgit v1.2.3-55-g7522