mlxsw_hwmon        79 drivers/net/ethernet/mellanox/mlxsw/core.c 	struct mlxsw_hwmon *hwmon;
mlxsw_hwmon       394 drivers/net/ethernet/mellanox/mlxsw/core.h struct mlxsw_hwmon;
mlxsw_hwmon       400 drivers/net/ethernet/mellanox/mlxsw/core.h 		     struct mlxsw_hwmon **p_hwmon);
mlxsw_hwmon       401 drivers/net/ethernet/mellanox/mlxsw/core.h void mlxsw_hwmon_fini(struct mlxsw_hwmon *mlxsw_hwmon);
mlxsw_hwmon       407 drivers/net/ethernet/mellanox/mlxsw/core.h 				   struct mlxsw_hwmon **p_hwmon)
mlxsw_hwmon       412 drivers/net/ethernet/mellanox/mlxsw/core.h static inline void mlxsw_hwmon_fini(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon        21 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *hwmon;
mlxsw_hwmon        53 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon        59 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 					   mlxsw_hwmon->module_sensor_count);
mlxsw_hwmon        61 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtmp), mtmp_pl);
mlxsw_hwmon        63 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to query temp sensor\n");
mlxsw_hwmon        76 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon        82 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 					   mlxsw_hwmon->module_sensor_count);
mlxsw_hwmon        84 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtmp), mtmp_pl);
mlxsw_hwmon        86 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to query temp sensor\n");
mlxsw_hwmon        99 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       112 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 					   mlxsw_hwmon->module_sensor_count);
mlxsw_hwmon       114 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_write(mlxsw_hwmon->core, MLXSW_REG(mtmp), mtmp_pl);
mlxsw_hwmon       116 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to reset temp sensor history\n");
mlxsw_hwmon       128 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       133 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mfsm), mfsm_pl);
mlxsw_hwmon       135 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to query fan\n");
mlxsw_hwmon       147 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       152 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(fore), fore_pl);
mlxsw_hwmon       154 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to query fan\n");
mlxsw_hwmon       168 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       173 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mfsc), mfsc_pl);
mlxsw_hwmon       175 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to query PWM\n");
mlxsw_hwmon       188 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       200 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_write(mlxsw_hwmon->core, MLXSW_REG(mfsc), mfsc_pl);
mlxsw_hwmon       202 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to write PWM\n");
mlxsw_hwmon       214 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       220 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	module = mlwsw_hwmon_attr->type_index - mlxsw_hwmon->sensor_count;
mlxsw_hwmon       223 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtmp), mtmp_pl);
mlxsw_hwmon       237 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       243 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	module = mlwsw_hwmon_attr->type_index - mlxsw_hwmon->sensor_count;
mlxsw_hwmon       246 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtbr), mtbr_pl);
mlxsw_hwmon       279 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       284 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	module = mlwsw_hwmon_attr->type_index - mlxsw_hwmon->sensor_count;
mlxsw_hwmon       285 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_env_module_temp_thresholds_get(mlxsw_hwmon->core, module,
mlxsw_hwmon       302 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       307 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	module = mlwsw_hwmon_attr->type_index - mlxsw_hwmon->sensor_count;
mlxsw_hwmon       308 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_env_module_temp_thresholds_get(mlxsw_hwmon->core, module,
mlxsw_hwmon       337 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon = mlwsw_hwmon_attr->hwmon;
mlxsw_hwmon       339 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		    mlxsw_hwmon->module_sensor_count + 1;
mlxsw_hwmon       359 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c static void mlxsw_hwmon_attr_add(struct mlxsw_hwmon *mlxsw_hwmon,
mlxsw_hwmon       365 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	attr_index = mlxsw_hwmon->attrs_count;
mlxsw_hwmon       366 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon_attr = &mlxsw_hwmon->hwmon_attrs[attr_index];
mlxsw_hwmon       452 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon_attr->hwmon = mlxsw_hwmon;
mlxsw_hwmon       456 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->attrs[attr_index] = &mlxsw_hwmon_attr->dev_attr.attr;
mlxsw_hwmon       457 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->attrs_count++;
mlxsw_hwmon       460 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c static int mlxsw_hwmon_temp_init(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon       467 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mtcap), mtcap_pl);
mlxsw_hwmon       469 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to get number of temp sensors\n");
mlxsw_hwmon       472 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->sensor_count = mlxsw_reg_mtcap_sensor_count_get(mtcap_pl);
mlxsw_hwmon       473 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	for (i = 0; i < mlxsw_hwmon->sensor_count; i++) {
mlxsw_hwmon       475 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		err = mlxsw_reg_write(mlxsw_hwmon->core,
mlxsw_hwmon       478 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			dev_err(mlxsw_hwmon->bus_info->dev, "Failed to setup temp sensor number %d\n",
mlxsw_hwmon       482 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       484 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       486 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       492 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c static int mlxsw_hwmon_fans_init(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon       502 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mfcr), mfcr_pl);
mlxsw_hwmon       504 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		dev_err(mlxsw_hwmon->bus_info->dev, "Failed to get to probe PWMs and Tachometers\n");
mlxsw_hwmon       511 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       514 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       522 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       529 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c static int mlxsw_hwmon_module_init(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon       531 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	unsigned int module_count = mlxsw_core_max_ports(mlxsw_hwmon->core);
mlxsw_hwmon       537 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	if (!mlxsw_core_res_query_enabled(mlxsw_hwmon->core))
mlxsw_hwmon       545 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	index = mlxsw_hwmon->sensor_count;
mlxsw_hwmon       548 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(pmlp),
mlxsw_hwmon       551 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			dev_err(mlxsw_hwmon->bus_info->dev, "Failed to read module index %d\n",
mlxsw_hwmon       558 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       561 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       564 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       567 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       570 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       575 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->module_sensor_count = index;
mlxsw_hwmon       580 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c static int mlxsw_hwmon_gearbox_init(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon       589 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_reg_query(mlxsw_hwmon->core, MLXSW_REG(mgpir), mgpir_pl);
mlxsw_hwmon       597 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	index = mlxsw_hwmon->module_sensor_count;
mlxsw_hwmon       598 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	max_index = mlxsw_hwmon->module_sensor_count + gbox_num;
mlxsw_hwmon       600 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		sensor_index = index % mlxsw_hwmon->module_sensor_count +
mlxsw_hwmon       603 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		err = mlxsw_reg_write(mlxsw_hwmon->core,
mlxsw_hwmon       606 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 			dev_err(mlxsw_hwmon->bus_info->dev, "Failed to setup temp sensor number %d\n",
mlxsw_hwmon       610 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon, MLXSW_HWMON_ATTR_TYPE_TEMP,
mlxsw_hwmon       612 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       615 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       618 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		mlxsw_hwmon_attr_add(mlxsw_hwmon,
mlxsw_hwmon       629 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 		     struct mlxsw_hwmon **p_hwmon)
mlxsw_hwmon       631 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	struct mlxsw_hwmon *mlxsw_hwmon;
mlxsw_hwmon       635 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon = kzalloc(sizeof(*mlxsw_hwmon), GFP_KERNEL);
mlxsw_hwmon       636 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	if (!mlxsw_hwmon)
mlxsw_hwmon       638 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->core = mlxsw_core;
mlxsw_hwmon       639 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->bus_info = mlxsw_bus_info;
mlxsw_hwmon       641 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_hwmon_temp_init(mlxsw_hwmon);
mlxsw_hwmon       645 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_hwmon_fans_init(mlxsw_hwmon);
mlxsw_hwmon       649 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_hwmon_module_init(mlxsw_hwmon);
mlxsw_hwmon       653 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	err = mlxsw_hwmon_gearbox_init(mlxsw_hwmon);
mlxsw_hwmon       657 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->groups[0] = &mlxsw_hwmon->group;
mlxsw_hwmon       658 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->group.attrs = mlxsw_hwmon->attrs;
mlxsw_hwmon       661 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 						      "mlxsw", mlxsw_hwmon,
mlxsw_hwmon       662 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 						      mlxsw_hwmon->groups);
mlxsw_hwmon       668 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	mlxsw_hwmon->hwmon_dev = hwmon_dev;
mlxsw_hwmon       669 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	*p_hwmon = mlxsw_hwmon;
mlxsw_hwmon       677 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	kfree(mlxsw_hwmon);
mlxsw_hwmon       681 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c void mlxsw_hwmon_fini(struct mlxsw_hwmon *mlxsw_hwmon)
mlxsw_hwmon       683 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	hwmon_device_unregister(mlxsw_hwmon->hwmon_dev);
mlxsw_hwmon       684 drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c 	kfree(mlxsw_hwmon);