Lines Matching refs:item
212 struct mlxreg_core_item *item;
218 item = pdata->items + nr;
219 data = item->data + index;
225 if (item->health) {
228 /* Bit = 0 : functional if item->inversed is true. */
229 if (item->inversed)
255 struct mlxreg_core_item *item;
262 item = pdata->items;
265 for (i = 0; i < pdata->counter; i++, item++) {
266 if (item->capability) {
272 ret = regmap_read(priv->regmap, item->capability,
277 item->mask = GENMASK((regval & item->mask) - 1, 0);
280 data = item->data;
282 /* Go over all unmasked units within item. */
283 mask = item->mask;
285 count = item->ind ? item->ind : item->count;
344 struct mlxreg_core_item *item)
352 * Validate if item related to received signal type is valid.
358 if (unlikely(!item)) {
360 item->reg, item->mask);
366 ret = regmap_write(priv->regmap, item->reg + MLXREG_HOTPLUG_MASK_OFF,
372 ret = regmap_read(priv->regmap, item->reg, ®val);
377 regval &= item->mask;
378 asserted = item->cache ^ regval;
379 item->cache = regval;
383 pos = mlxreg_hotplug_item_label_index_get(item->mask, bit);
387 data = item->data + pos;
389 if (item->inversed)
390 mlxreg_hotplug_device_destroy(priv, data, item->kind);
392 mlxreg_hotplug_device_create(priv, data, item->kind);
394 if (item->inversed)
395 mlxreg_hotplug_device_create(priv, data, item->kind);
397 mlxreg_hotplug_device_destroy(priv, data, item->kind);
402 ret = regmap_write(priv->regmap, item->reg + MLXREG_HOTPLUG_EVENT_OFF,
408 ret = regmap_write(priv->regmap, item->reg + MLXREG_HOTPLUG_MASK_OFF,
409 item->mask);
418 struct mlxreg_core_item *item)
420 struct mlxreg_core_data *data = item->data;
424 for (i = 0; i < item->count; i++, data++) {
438 if (item->cache == regval)
454 mlxreg_hotplug_device_create(priv, data, item->kind);
464 mlxreg_hotplug_device_destroy(priv, data, item->kind);
469 item->cache = regval;
520 struct mlxreg_core_item *item;
528 item = pdata->items;
558 for (i = 0; i < pdata->counter; i++, item++) {
559 if (aggr_asserted & item->aggr_mask) {
560 if (item->health)
561 mlxreg_hotplug_health_work_helper(priv, item);
563 mlxreg_hotplug_work_helper(priv, item);
599 struct mlxreg_core_item *item;
605 item = pdata->items;
607 for (i = 0; i < pdata->counter; i++, item++) {
609 ret = regmap_write(priv->regmap, item->reg +
618 data = item->data;
619 for (j = 0; j < item->count; j++, data++) {
629 item->mask &= ~BIT(j);
634 if (item->inversed) {
635 item->cache = item->mask;
636 ret = regmap_write(priv->regmap, item->reg +
638 item->mask);
672 struct mlxreg_core_item *item;
677 item = pdata->items;
691 for (i = 0; i < pdata->counter; i++, item++) {
692 data = item->data;
701 count = item->count;
703 mlxreg_hotplug_device_destroy(priv, data, item->kind);