summaryrefslogtreecommitdiff
path: root/include/linux/qed
diff options
context:
space:
mode:
authorYuval Mintz <Yuval.Mintz@qlogic.com>2016-04-22 08:41:03 +0300
committerDavid S. Miller <davem@davemloft.net>2016-04-25 22:59:16 +0300
commitfe7cd2bfdac4d8739bc8665eef040e668e6b428f (patch)
tree70871cf996964bb9d544bf5adb554cc7c0968108 /include/linux/qed
parentf3e72109f04c36ee45e62c0e6e1323179287c3e4 (diff)
downloadlinux-fe7cd2bfdac4d8739bc8665eef040e668e6b428f.tar.xz
qed*: Conditions for changing link
There's some inconsistency in current logic determining whether the link settings of a given interface can be changed; I.e., in all modes other than the so-called `deault' mode the interfaces are forbidden from changing the configuration - but even this rule is not applied to all user APIs that may change the configuration. Instead, let the core-module [qed] decide whether an interface can change the configuration by supporting a new API function. We also revise the current rule, allowing all interfaces to change their configurations while laying the infrastructure for future modes where an interface would be blocked from making such a configuration. Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/qed')
-rw-r--r--include/linux/qed/qed_if.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h
index 82a7fe011068..e5de42b62976 100644
--- a/include/linux/qed/qed_if.h
+++ b/include/linux/qed/qed_if.h
@@ -211,6 +211,16 @@ struct qed_common_ops {
void (*simd_handler_clean)(struct qed_dev *cdev,
int index);
+
+/**
+ * @brief can_link_change - can the instance change the link or not
+ *
+ * @param cdev
+ *
+ * @return true if link-change is allowed, false otherwise.
+ */
+ bool (*can_link_change)(struct qed_dev *cdev);
+
/**
* @brief set_link - set links according to params
*