1 #include <linux/regmap.h> 2 #include <linux/device.h> 3 #include <net/dsa.h> 4 5 struct lan9303 { 6 struct device *dev; 7 struct regmap *regmap; 8 struct regmap_irq_chip_data *irq_data; 9 struct gpio_desc *reset_gpio; 10 u32 reset_duration; /* in [ms] */ 11 bool phy_addr_sel_strap; 12 struct dsa_switch *ds; 13 struct mutex indirect_mutex; /* protect indexed register access */ 14 }; 15 16 extern const struct regmap_access_table lan9303_register_set; 17 18 int lan9303_probe(struct lan9303 *chip, struct device_node *np); 19 int lan9303_remove(struct lan9303 *chip); 20