include/linux/mfd/max14577.h
Source file repositories/reference/linux-study-clean/include/linux/mfd/max14577.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/mfd/max14577.h- Extension
.h- Size
- 2281 bytes
- Lines
- 99
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/regulator/consumer.h
Detected Declarations
struct max14577_regulator_platform_datastruct max14577_charger_platform_datastruct max14577_platform_datastruct maxim_charger_currentenum max14577_regulatorsenum max77836_regulators
Annotated Snippet
struct max14577_regulator_platform_data {
int id;
struct regulator_init_data *initdata;
struct device_node *of_node;
};
struct max14577_charger_platform_data {
u32 constant_uvolt;
u32 fast_charge_uamp;
u32 eoc_uamp;
u32 ovp_uvolt;
};
/*
* MAX14577 MFD platform data
*/
struct max14577_platform_data {
/* IRQ */
int irq_base;
/* current control GPIOs */
int gpio_pogo_vbatt_en;
int gpio_pogo_vbus_en;
/* current control GPIO control function */
int (*set_gpio_pogo_vbatt_en) (int gpio_val);
int (*set_gpio_pogo_vbus_en) (int gpio_val);
int (*set_gpio_pogo_cb) (int new_dev);
struct max14577_regulator_platform_data *regulators;
};
/*
* Valid limits of current for max14577 and max77836 chargers.
* They must correspond to MBCICHWRCL and MBCICHWRCH fields in CHGCTRL4
* register for given chipset.
*/
struct maxim_charger_current {
/* Minimal current, set in CHGCTRL4/MBCICHWRCL, uA */
unsigned int min;
/*
* Minimal current when high setting is active,
* set in CHGCTRL4/MBCICHWRCH, uA
*/
unsigned int high_start;
/* Value of one step in high setting, uA */
unsigned int high_step;
/* Maximum current of high setting, uA */
unsigned int max;
};
extern const struct maxim_charger_current maxim_charger_currents[];
extern int maxim_charger_calc_reg_current(const struct maxim_charger_current *limits,
unsigned int min_ua, unsigned int max_ua, u8 *dst);
#endif /* __MAX14577_H__ */
Annotation
- Immediate include surface: `linux/regulator/consumer.h`.
- Detected declarations: `struct max14577_regulator_platform_data`, `struct max14577_charger_platform_data`, `struct max14577_platform_data`, `struct maxim_charger_current`, `enum max14577_regulators`, `enum max77836_regulators`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.