+static int
+ac200_ephy_ctl_set_led_outputs(struct acx00_ephy_control *control,
+ unsigned long outputs)
+{
+}
+static int
+ac200_ephy_ctl_set_led_polarity(struct acx00_ephy_control *control,
+ bool active_low)
+{
+}
I've not looked into the details, but these look like pinmux. Does
this I2C device have a GPIO controller? Can these pins be used for
other things than LEDs? Maybe you should be implementing a GPIO and
pinmux driver. The Ethernet PHY driver can then just select the
correct pinmux configuration.
+static int ac200_ephy_ctl_power_off_locked(struct ac200_ephy_ctl *priv)
+{
+}
+
+static int ac200_ephy_ctl_power_off(struct acx00_ephy_control *control)
+{
+}
+
+static int ac200_ephy_ctl_power_on(struct acx00_ephy_control *control,
+ unsigned int phy_addr)
+{
+}
These look like a regulator? The phylib core has support for
regulators.
Maybe take a step back and look at the overall architecture, and how
Linux can represent these blocks.
Andrew