+ar8216_sw_get_ports(struct switch_dev *dev, struct switch_val *val)
+{
+ int ports = dev->ports;
+ struct ar8xxx_priv *priv = swdev_to_ar8xxx(dev);
+ u8 port_mask = priv->vlan_table[val->port_vlan];
+ u8 tagged = priv->chip_data.ar8216.vlan_tagged;
+
+ return ar8xxx_sw_get_ports(val, ports, port_mask, tagged);
+}
+
+static int
+ar8327_sw_get_ports(struct switch_dev *dev, struct switch_val *val)
+{
+ int ports = dev->ports;
+ struct ar8xxx_priv *priv = swdev_to_ar8xxx(dev);
+ u8 port_mask = priv->vlan_table[val->port_vlan];
+ u8 tagged = priv->chip_data.ar8327.vlan_tagged[val->port_vlan];
+
+ return ar8xxx_sw_get_ports(val, ports, port_mask, tagged);
+}
+
+static int
+ar8216_sw_set_ports(struct switch_dev *dev, struct switch_val *val)