mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
9f00ebf518
Utilize for_each_set_clump8 macro, and the bitmap_set_value8 and bitmap_get_value8 functions, where appropriate. In addition, remove the now unnecessary temp_mask and temp_shift members of the intel_soc_dts_sensor_entry structure. Link: http://lkml.kernel.org/r/2d3c74e9a00a52954f31d19e04623a7f4bc85520.1570641097.git.vilhelm.gray@gmail.com Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com> Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Geert Uytterhoeven <geert+renesas@glider.be> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Lukas Wunner <lukas@wunner.de> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Mathias Duckeck <m.duckeck@kunbus.de> Cc: Morten Hein Tiljeset <morten.tiljeset@prevas.dk> Cc: Phil Reid <preid@electromag.com.au> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Sean Nyekjaer <sean.nyekjaer@prevas.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* intel_soc_dts_iosf.h
|
|
* Copyright (c) 2015, Intel Corporation.
|
|
*/
|
|
|
|
#ifndef _INTEL_SOC_DTS_IOSF_CORE_H
|
|
#define _INTEL_SOC_DTS_IOSF_CORE_H
|
|
|
|
#include <linux/thermal.h>
|
|
|
|
/* DTS0 and DTS 1 */
|
|
#define SOC_MAX_DTS_SENSORS 2
|
|
|
|
enum intel_soc_dts_interrupt_type {
|
|
INTEL_SOC_DTS_INTERRUPT_NONE,
|
|
INTEL_SOC_DTS_INTERRUPT_APIC,
|
|
INTEL_SOC_DTS_INTERRUPT_MSI,
|
|
INTEL_SOC_DTS_INTERRUPT_SCI,
|
|
INTEL_SOC_DTS_INTERRUPT_SMI,
|
|
};
|
|
|
|
struct intel_soc_dts_sensors;
|
|
|
|
struct intel_soc_dts_sensor_entry {
|
|
int id;
|
|
u32 store_status;
|
|
u32 trip_mask;
|
|
u32 trip_count;
|
|
enum thermal_trip_type trip_types[2];
|
|
struct thermal_zone_device *tzone;
|
|
struct intel_soc_dts_sensors *sensors;
|
|
};
|
|
|
|
struct intel_soc_dts_sensors {
|
|
u32 tj_max;
|
|
spinlock_t intr_notify_lock;
|
|
struct mutex dts_update_lock;
|
|
enum intel_soc_dts_interrupt_type intr_type;
|
|
struct intel_soc_dts_sensor_entry soc_dts[SOC_MAX_DTS_SENSORS];
|
|
};
|
|
|
|
struct intel_soc_dts_sensors *intel_soc_dts_iosf_init(
|
|
enum intel_soc_dts_interrupt_type intr_type, int trip_count,
|
|
int read_only_trip_count);
|
|
void intel_soc_dts_iosf_exit(struct intel_soc_dts_sensors *sensors);
|
|
void intel_soc_dts_iosf_interrupt_handler(
|
|
struct intel_soc_dts_sensors *sensors);
|
|
int intel_soc_dts_iosf_add_read_only_critical_trip(
|
|
struct intel_soc_dts_sensors *sensors, int critical_offset);
|
|
#endif
|