drivers/net/ipa/ipa_power.h

Source file repositories/reference/linux-study-clean/drivers/net/ipa/ipa_power.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ipa/ipa_power.h
Extension
.h
Size
1229 bytes
Lines
51
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

#ifndef _IPA_POWER_H_
#define _IPA_POWER_H_

#include <linux/types.h>

struct device;

struct ipa;
struct ipa_power_data;

/* IPA device power management function block */
extern const struct dev_pm_ops ipa_pm_ops;

/**
 * ipa_core_clock_rate() - Return the current IPA core clock rate
 * @ipa:	IPA structure
 *
 * Return: The current clock rate (in Hz), or 0.
 */
u32 ipa_core_clock_rate(struct ipa *ipa);

/**
 * ipa_power_retention() - Control register retention on power collapse
 * @ipa:	IPA pointer
 * @enable:	Whether retention should be enabled or disabled
 */
void ipa_power_retention(struct ipa *ipa, bool enable);

/**
 * ipa_power_init() - Initialize IPA power management
 * @dev:	IPA device
 * @data:	Clock configuration data
 *
 * Return:	A pointer to an ipa_power structure, or a pointer-coded error
 */
struct ipa_power *ipa_power_init(struct device *dev,
				 const struct ipa_power_data *data);

/**
 * ipa_power_exit() - Inverse of ipa_power_init()
 * @power:	IPA power pointer
 */
void ipa_power_exit(struct ipa_power *power);

#endif /* _IPA_POWER_H_ */

Annotation

Implementation Notes