LGTM,
minor suggestions: - could you add opt-in support flags to struct devlink_ops, a'la ethtool_ops->supported_coalesce_params so that you don't have to modify all drivers to reject unsupported things? - could you split patch 2 into an ice change and a devlink core change?