Re: [patch net-next RFC 03/10] devlink: implement line card active state
From: Ido Schimmel <hidden>
Date: 2021-01-15 16:06:59
On Wed, Jan 13, 2021 at 01:12:15PM +0100, Jiri Pirko wrote:
+/** + * devlink_linecard_deactivate - Set linecard deactive
Set linecard as inactive
+ *
+ * @devlink_linecard: devlink linecard
+ */
+void devlink_linecard_deactivate(struct devlink_linecard *linecard)
+{
+ mutex_lock(&linecard->devlink->lock);
+ WARN_ON(linecard->state != DEVLINK_LINECARD_STATE_ACTIVE);
+ linecard->state = DEVLINK_LINECARD_STATE_PROVISIONED;
+ devlink_linecard_notify(linecard, DEVLINK_CMD_LINECARD_NEW);
+ mutex_unlock(&linecard->devlink->lock);
+}
+EXPORT_SYMBOL_GPL(devlink_linecard_deactivate);
+
+/**
+ * devlink_linecard_is_active - Check if active
+ *
+ * @devlink_linecard: devlink linecard
+ */
+bool devlink_linecard_is_active(struct devlink_linecard *linecard)
+{
+ bool active;
+
+ mutex_lock(&linecard->devlink->lock);
+ active = linecard->state == DEVLINK_LINECARD_STATE_ACTIVE;
+ mutex_unlock(&linecard->devlink->lock);
+ return active;
+}
+EXPORT_SYMBOL_GPL(devlink_linecard_is_active);
+
int devlink_sb_register(struct devlink *devlink, unsigned int sb_index,
u32 size, u16 ingress_pools_count,
u16 egress_pools_count, u16 ingress_tc_count,
--
2.26.2