Lines Matching +full:device +full:- +full:level
1 // SPDX-License-Identifier: GPL-2.0-or-later
12 #include <linux/mfd/khadas-mcu.h>
21 unsigned int level; member
26 unsigned int level) in khadas_mcu_fan_set_level() argument
30 ret = regmap_write(ctx->mcu->regmap, KHADAS_MCU_CMD_FAN_STATUS_CTRL_REG, in khadas_mcu_fan_set_level()
31 level); in khadas_mcu_fan_set_level()
35 ctx->level = level; in khadas_mcu_fan_set_level()
51 struct khadas_mcu_fan_ctx *ctx = cdev->devdata; in khadas_mcu_fan_get_cur_state()
53 *state = ctx->level; in khadas_mcu_fan_get_cur_state()
62 struct khadas_mcu_fan_ctx *ctx = cdev->devdata; in khadas_mcu_fan_set_cur_state()
65 return -EINVAL; in khadas_mcu_fan_set_cur_state()
67 if (state == ctx->level) in khadas_mcu_fan_set_cur_state()
81 struct khadas_mcu *mcu = dev_get_drvdata(pdev->dev.parent); in khadas_mcu_fan_probe()
83 struct device *dev = &pdev->dev; in khadas_mcu_fan_probe()
89 return -ENOMEM; in khadas_mcu_fan_probe()
90 ctx->mcu = mcu; in khadas_mcu_fan_probe()
93 cdev = devm_thermal_of_cooling_device_register(dev->parent, in khadas_mcu_fan_probe()
94 dev->parent->of_node, "khadas-mcu-fan", ctx, in khadas_mcu_fan_probe()
98 dev_err(dev, "Failed to register khadas-mcu-fan as cooling device: %d\n", in khadas_mcu_fan_probe()
102 ctx->cdev = cdev; in khadas_mcu_fan_probe()
115 static int khadas_mcu_fan_suspend(struct device *dev) in khadas_mcu_fan_suspend()
118 unsigned int level_save = ctx->level; in khadas_mcu_fan_suspend()
125 ctx->level = level_save; in khadas_mcu_fan_suspend()
130 static int khadas_mcu_fan_resume(struct device *dev) in khadas_mcu_fan_resume()
134 return khadas_mcu_fan_set_level(ctx, ctx->level); in khadas_mcu_fan_resume()
142 { .name = "khadas-mcu-fan-ctrl", },
151 .name = "khadas-mcu-fan-ctrl",