brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 481af3b Raw
37 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Ethernet driver for the WIZnet W5100 chip.4 *5 * Copyright (C) 2006-2008 WIZnet Co.,Ltd.6 * Copyright (C) 2012 Mike Sinkovsky <msink@permonline.ru>7 */8 9enum {10	W5100,11	W5200,12	W5500,13};14 15struct w5100_ops {16	bool may_sleep;17	int chip_id;18	int (*read)(struct net_device *ndev, u32 addr);19	int (*write)(struct net_device *ndev, u32 addr, u8 data);20	int (*read16)(struct net_device *ndev, u32 addr);21	int (*write16)(struct net_device *ndev, u32 addr, u16 data);22	int (*readbulk)(struct net_device *ndev, u32 addr, u8 *buf, int len);23	int (*writebulk)(struct net_device *ndev, u32 addr, const u8 *buf,24			 int len);25	int (*reset)(struct net_device *ndev);26	int (*init)(struct net_device *ndev);27};28 29void *w5100_ops_priv(const struct net_device *ndev);30 31int w5100_probe(struct device *dev, const struct w5100_ops *ops,32		int sizeof_ops_priv, const void *mac_addr, int irq,33		int link_gpio);34void w5100_remove(struct device *dev);35 36extern const struct dev_pm_ops w5100_pm_ops;37