thermal_dm.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022-3-08 GuEe-GUI the first version
  9. */
  10. #define DBG_TAG "rtdm.thermal"
  11. #define DBG_LVL DBG_INFO
  12. #include <rtdbg.h>
  13. #include "thermal_dm.h"
  14. enum rt_thermal_trip_type thermal_type(const char *type)
  15. {
  16. if (!type)
  17. {
  18. return RT_THERMAL_TRIP_TYPE_MAX;
  19. }
  20. if (!rt_strcmp(type, "active"))
  21. {
  22. return RT_THERMAL_TRIP_ACTIVE;
  23. }
  24. else if (!rt_strcmp(type, "passive"))
  25. {
  26. return RT_THERMAL_TRIP_PASSIVE;
  27. }
  28. else if (!rt_strcmp(type, "hot"))
  29. {
  30. return RT_THERMAL_TRIP_HOT;
  31. }
  32. else if (!rt_strcmp(type, "critical"))
  33. {
  34. return RT_THERMAL_TRIP_CRITICAL;
  35. }
  36. return RT_THERMAL_TRIP_TYPE_MAX;
  37. }
  38. rt_err_t thermal_bind(struct rt_thermal_cooling_device *cdev,
  39. struct rt_thermal_zone_device *zdev)
  40. {
  41. if (cdev->ops->bind)
  42. {
  43. return cdev->ops->bind(cdev, zdev);
  44. }
  45. return RT_EOK;
  46. }
  47. rt_err_t thermal_unbind(struct rt_thermal_cooling_device *cdev,
  48. struct rt_thermal_zone_device *zdev)
  49. {
  50. if (cdev->ops->unbind)
  51. {
  52. return cdev->ops->unbind(cdev, zdev);
  53. }
  54. return RT_EOK;
  55. }