forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
707 B
29 lines
707 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#include <linux/device.h> |
|
#include <linux/etherdevice.h> |
|
#include <linux/gpio/driver.h> |
|
|
|
/** |
|
* struct vsc73xx - VSC73xx state container |
|
*/ |
|
struct vsc73xx { |
|
struct device *dev; |
|
struct gpio_desc *reset; |
|
struct dsa_switch *ds; |
|
struct gpio_chip gc; |
|
u16 chipid; |
|
u8 addr[ETH_ALEN]; |
|
const struct vsc73xx_ops *ops; |
|
void *priv; |
|
}; |
|
|
|
struct vsc73xx_ops { |
|
int (*read)(struct vsc73xx *vsc, u8 block, u8 subblock, u8 reg, |
|
u32 *val); |
|
int (*write)(struct vsc73xx *vsc, u8 block, u8 subblock, u8 reg, |
|
u32 val); |
|
}; |
|
|
|
int vsc73xx_is_addr_valid(u8 block, u8 subblock); |
|
int vsc73xx_probe(struct vsc73xx *vsc); |
|
int vsc73xx_remove(struct vsc73xx *vsc);
|
|
|