drivers/net/wireless/ath/ath11k/thermal.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/thermal.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/ath/ath11k/thermal.h
Extension
.h
Size
1444 bytes
Lines
56
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ath11k_thermal {
	struct thermal_cooling_device *cdev;
	struct completion wmi_sync;

	/* protected by conf_mutex */
	u32 throttle_state;
	/* temperature value in Celsius degree
	 * protected by data_lock
	 */
	int temperature;
};

#if IS_REACHABLE(CONFIG_THERMAL)
int ath11k_thermal_register(struct ath11k_base *ab);
void ath11k_thermal_unregister(struct ath11k_base *ab);
int ath11k_thermal_set_throttling(struct ath11k *ar, u32 throttle_state);
void ath11k_thermal_event_temperature(struct ath11k *ar, int temperature);
#else
static inline int ath11k_thermal_register(struct ath11k_base *ab)
{
	return 0;
}

static inline void ath11k_thermal_unregister(struct ath11k_base *ab)
{
}

static inline int ath11k_thermal_set_throttling(struct ath11k *ar, u32 throttle_state)
{
	return 0;
}

static inline void ath11k_thermal_event_temperature(struct ath11k *ar,
						    int temperature)
{
}

#endif
#endif /* _ATH11K_THERMAL_ */

Annotation

Implementation Notes