Allow DSA drivers to make use of devlink port regions, via simple
wrappers.
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Tested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 dsa_devlink_region_create(struct dsa_switch *ds,
                          const struct devlink_region_ops *ops,
                          u32 region_max_snapshots, u64 region_size);
+struct devlink_region *
+dsa_devlink_port_region_create(struct dsa_switch *ds,
+                              int port,
+                              const struct devlink_port_region_ops *ops,
+                              u32 region_max_snapshots, u64 region_size);
 void dsa_devlink_region_destroy(struct devlink_region *region);
 
 struct dsa_port *dsa_port_from_netdev(struct net_device *netdev);
 
 }
 EXPORT_SYMBOL_GPL(dsa_devlink_region_create);
 
+struct devlink_region *
+dsa_devlink_port_region_create(struct dsa_switch *ds,
+                              int port,
+                              const struct devlink_port_region_ops *ops,
+                              u32 region_max_snapshots, u64 region_size)
+{
+       struct dsa_port *dp = dsa_to_port(ds, port);
+
+       return devlink_port_region_create(&dp->devlink_port, ops,
+                                         region_max_snapshots,
+                                         region_size);
+}
+EXPORT_SYMBOL_GPL(dsa_devlink_port_region_create);
+
 void dsa_devlink_region_destroy(struct devlink_region *region)
 {
        devlink_region_destroy(region);