From 093a6c67005148ae32a5c9e4553491b9f5c2457b Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:40:51 +0000
Subject: [PATCH] disable kernel build waring
---
kernel/include/linux/power_supply.h | 444 +++++++++++++++++-------------------------------------
1 files changed, 143 insertions(+), 301 deletions(-)
diff --git a/kernel/include/linux/power_supply.h b/kernel/include/linux/power_supply.h
index a19b2fc..e85901b 100644
--- a/kernel/include/linux/power_supply.h
+++ b/kernel/include/linux/power_supply.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Universal power supply monitor class
*
@@ -6,8 +7,6 @@
* Copyright © 2003 Ian Molton <spyro@f2s.com>
*
* Modified: 2004, Oct Szabolcs Gyurko
- *
- * You may use this code as per GPL version 2
*/
#ifndef __LINUX_POWER_SUPPLY_H__
@@ -18,7 +17,7 @@
#include <linux/leds.h>
#include <linux/spinlock.h>
#include <linux/notifier.h>
-#include <linux/types.h>
+#include <linux/android_kabi.h>
/*
* All voltages, currents, charges, energies, time and temperatures in uV,
@@ -41,12 +40,22 @@
POWER_SUPPLY_STATUS_FULL,
};
+/* What algorithm is the charger using? */
enum {
POWER_SUPPLY_CHARGE_TYPE_UNKNOWN = 0,
POWER_SUPPLY_CHARGE_TYPE_NONE,
- POWER_SUPPLY_CHARGE_TYPE_TRICKLE,
- POWER_SUPPLY_CHARGE_TYPE_FAST,
- POWER_SUPPLY_CHARGE_TYPE_TAPER,
+ POWER_SUPPLY_CHARGE_TYPE_TRICKLE, /* slow speed */
+ POWER_SUPPLY_CHARGE_TYPE_FAST, /* fast speed */
+ POWER_SUPPLY_CHARGE_TYPE_STANDARD, /* normal speed */
+ POWER_SUPPLY_CHARGE_TYPE_ADAPTIVE, /* dynamically adjusted speed */
+ POWER_SUPPLY_CHARGE_TYPE_CUSTOM, /* use CHARGE_CONTROL_* props */
+ POWER_SUPPLY_CHARGE_TYPE_LONGLIFE, /* slow speed, longer life */
+
+ /*
+ * force to 50 to minimize the chances of userspace binary
+ * incompatibility on newer upstream kernels
+ */
+ POWER_SUPPLY_CHARGE_TYPE_TAPER = 50, /* charging in CV phase */
};
enum {
@@ -60,6 +69,7 @@
POWER_SUPPLY_HEALTH_WATCHDOG_TIMER_EXPIRE,
POWER_SUPPLY_HEALTH_SAFETY_TIMER_EXPIRE,
POWER_SUPPLY_HEALTH_OVERCURRENT,
+ POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED,
POWER_SUPPLY_HEALTH_WARM,
POWER_SUPPLY_HEALTH_COOL,
POWER_SUPPLY_HEALTH_HOT,
@@ -88,84 +98,6 @@
POWER_SUPPLY_SCOPE_UNKNOWN = 0,
POWER_SUPPLY_SCOPE_SYSTEM,
POWER_SUPPLY_SCOPE_DEVICE,
-};
-
-enum {
- POWER_SUPPLY_DP_DM_UNKNOWN = 0,
- POWER_SUPPLY_DP_DM_PREPARE = 1,
- POWER_SUPPLY_DP_DM_UNPREPARE = 2,
- POWER_SUPPLY_DP_DM_CONFIRMED_HVDCP3 = 3,
- POWER_SUPPLY_DP_DM_DP_PULSE = 4,
- POWER_SUPPLY_DP_DM_DM_PULSE = 5,
- POWER_SUPPLY_DP_DM_DP0P6_DMF = 6,
- POWER_SUPPLY_DP_DM_DP0P6_DM3P3 = 7,
- POWER_SUPPLY_DP_DM_DPF_DMF = 8,
- POWER_SUPPLY_DP_DM_DPR_DMR = 9,
- POWER_SUPPLY_DP_DM_HVDCP3_SUPPORTED = 10,
- POWER_SUPPLY_DP_DM_ICL_DOWN = 11,
- POWER_SUPPLY_DP_DM_ICL_UP = 12,
- POWER_SUPPLY_DP_DM_FORCE_5V = 13,
- POWER_SUPPLY_DP_DM_FORCE_9V = 14,
- POWER_SUPPLY_DP_DM_FORCE_12V = 15,
- POWER_SUPPLY_DP_DM_CONFIRMED_HVDCP3P5 = 16,
-};
-
-enum {
- POWER_SUPPLY_PL_NONE,
- POWER_SUPPLY_PL_USBIN_USBIN,
- POWER_SUPPLY_PL_USBIN_USBIN_EXT,
- POWER_SUPPLY_PL_USBMID_USBMID,
-};
-
-enum {
- POWER_SUPPLY_CHARGER_SEC_NONE = 0,
- POWER_SUPPLY_CHARGER_SEC_CP,
- POWER_SUPPLY_CHARGER_SEC_PL,
- POWER_SUPPLY_CHARGER_SEC_CP_PL,
-};
-
-enum {
- POWER_SUPPLY_CP_NONE = 0,
- POWER_SUPPLY_CP_HVDCP3,
- POWER_SUPPLY_CP_HVDCP3P5,
- POWER_SUPPLY_CP_PPS,
- POWER_SUPPLY_CP_WIRELESS,
-};
-
-enum {
- POWER_SUPPLY_CONNECTOR_TYPEC,
- POWER_SUPPLY_CONNECTOR_MICRO_USB,
-};
-
-enum {
- POWER_SUPPLY_PL_STACKED_BATFET,
- POWER_SUPPLY_PL_NON_STACKED_BATFET,
-};
-
-/* Parallel output connection topology */
-enum {
- POWER_SUPPLY_PL_OUTPUT_NONE,
- POWER_SUPPLY_PL_OUTPUT_VPH,
- POWER_SUPPLY_PL_OUTPUT_VBAT,
-};
-
-enum {
- POWER_SUPPLY_PD_INACTIVE = 0,
- POWER_SUPPLY_PD_ACTIVE,
- POWER_SUPPLY_PD_PPS_ACTIVE,
-};
-
-enum {
- POWER_SUPPLY_QC_CTM_DISABLE = BIT(0),
- POWER_SUPPLY_QC_THERMAL_BALANCE_DISABLE = BIT(1),
- POWER_SUPPLY_QC_INOV_THERMAL_DISABLE = BIT(2),
-};
-
-enum {
- POWER_SUPPLY_ALIGN_CHECKING = 0,
- POWER_SUPPLY_ALIGN_MOVE,
- POWER_SUPPLY_ALIGN_CENTERED,
- POWER_SUPPLY_ALIGN_ERROR,
};
enum power_supply_property {
@@ -205,7 +137,11 @@
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT,
POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX,
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_START_THRESHOLD, /* in percents! */
+ POWER_SUPPLY_PROP_CHARGE_CONTROL_END_THRESHOLD, /* in percents! */
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT,
+ POWER_SUPPLY_PROP_INPUT_VOLTAGE_LIMIT,
+ POWER_SUPPLY_PROP_INPUT_POWER_LIMIT,
POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN,
POWER_SUPPLY_PROP_ENERGY_FULL,
@@ -215,6 +151,7 @@
POWER_SUPPLY_PROP_CAPACITY, /* in percents! */
POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN, /* in percents! */
POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX, /* in percents! */
+ POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN, /* in percents! */
POWER_SUPPLY_PROP_CAPACITY_LEVEL,
POWER_SUPPLY_PROP_TEMP,
POWER_SUPPLY_PROP_TEMP_MAX,
@@ -234,178 +171,47 @@
POWER_SUPPLY_PROP_PRECHARGE_CURRENT,
POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT,
POWER_SUPPLY_PROP_CALIBRATE,
- /* Local extensions */
- POWER_SUPPLY_PROP_USB_HC,
- POWER_SUPPLY_PROP_USB_OTG,
- POWER_SUPPLY_PROP_CHARGE_ENABLED,
- POWER_SUPPLY_PROP_SET_SHIP_MODE,
- POWER_SUPPLY_PROP_REAL_TYPE,
- POWER_SUPPLY_PROP_CHARGE_NOW_RAW,
- POWER_SUPPLY_PROP_CHARGE_NOW_ERROR,
- POWER_SUPPLY_PROP_CAPACITY_RAW,
- POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED,
- POWER_SUPPLY_PROP_CHARGING_ENABLED,
- POWER_SUPPLY_PROP_STEP_CHARGING_ENABLED,
- POWER_SUPPLY_PROP_STEP_CHARGING_STEP,
- POWER_SUPPLY_PROP_PIN_ENABLED,
- POWER_SUPPLY_PROP_INPUT_SUSPEND,
- POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION,
- POWER_SUPPLY_PROP_INPUT_CURRENT_MAX,
- POWER_SUPPLY_PROP_INPUT_CURRENT_TRIM,
- POWER_SUPPLY_PROP_INPUT_CURRENT_SETTLED,
- POWER_SUPPLY_PROP_INPUT_VOLTAGE_SETTLED,
- POWER_SUPPLY_PROP_VCHG_LOOP_DBC_BYPASS,
- POWER_SUPPLY_PROP_CHARGE_COUNTER_SHADOW,
- POWER_SUPPLY_PROP_HI_POWER,
- POWER_SUPPLY_PROP_LOW_POWER,
- POWER_SUPPLY_PROP_COOL_TEMP,
- POWER_SUPPLY_PROP_WARM_TEMP,
- POWER_SUPPLY_PROP_COLD_TEMP,
- POWER_SUPPLY_PROP_HOT_TEMP,
- POWER_SUPPLY_PROP_SYSTEM_TEMP_LEVEL,
- POWER_SUPPLY_PROP_RESISTANCE,
- POWER_SUPPLY_PROP_RESISTANCE_CAPACITIVE,
- POWER_SUPPLY_PROP_RESISTANCE_ID, /* in Ohms */
- POWER_SUPPLY_PROP_RESISTANCE_NOW,
- POWER_SUPPLY_PROP_FLASH_CURRENT_MAX,
- POWER_SUPPLY_PROP_UPDATE_NOW,
- POWER_SUPPLY_PROP_ESR_COUNT,
- POWER_SUPPLY_PROP_BUCK_FREQ,
- POWER_SUPPLY_PROP_BOOST_CURRENT,
- POWER_SUPPLY_PROP_SAFETY_TIMER_ENABLE,
- POWER_SUPPLY_PROP_CHARGE_DONE,
- POWER_SUPPLY_PROP_FLASH_ACTIVE,
- POWER_SUPPLY_PROP_FLASH_TRIGGER,
- POWER_SUPPLY_PROP_FORCE_TLIM,
- POWER_SUPPLY_PROP_DP_DM,
- POWER_SUPPLY_PROP_INPUT_CURRENT_LIMITED,
- POWER_SUPPLY_PROP_INPUT_CURRENT_NOW,
- POWER_SUPPLY_PROP_CHARGE_QNOVO_ENABLE,
- POWER_SUPPLY_PROP_CURRENT_QNOVO,
- POWER_SUPPLY_PROP_VOLTAGE_QNOVO,
- POWER_SUPPLY_PROP_RERUN_AICL,
- POWER_SUPPLY_PROP_CYCLE_COUNT_ID,
- POWER_SUPPLY_PROP_SAFETY_TIMER_EXPIRED,
- POWER_SUPPLY_PROP_RESTRICTED_CHARGING,
- POWER_SUPPLY_PROP_CURRENT_CAPABILITY,
- POWER_SUPPLY_PROP_TYPEC_MODE,
- POWER_SUPPLY_PROP_TYPEC_CC_ORIENTATION, /* 0: N/C, 1: CC1, 2: CC2 */
- POWER_SUPPLY_PROP_TYPEC_POWER_ROLE,
- POWER_SUPPLY_PROP_TYPEC_SRC_RP,
- POWER_SUPPLY_PROP_PD_ALLOWED,
- POWER_SUPPLY_PROP_PD_ACTIVE,
- POWER_SUPPLY_PROP_PD_IN_HARD_RESET,
- POWER_SUPPLY_PROP_PD_CURRENT_MAX,
- POWER_SUPPLY_PROP_PD_USB_SUSPEND_SUPPORTED,
- POWER_SUPPLY_PROP_CHARGER_TEMP,
- POWER_SUPPLY_PROP_CHARGER_TEMP_MAX,
- POWER_SUPPLY_PROP_PARALLEL_DISABLE,
- POWER_SUPPLY_PROP_PE_START,
- POWER_SUPPLY_PROP_SOC_REPORTING_READY,
- POWER_SUPPLY_PROP_DEBUG_BATTERY,
- POWER_SUPPLY_PROP_FCC_DELTA,
- POWER_SUPPLY_PROP_ICL_REDUCTION,
- POWER_SUPPLY_PROP_PARALLEL_MODE,
- POWER_SUPPLY_PROP_DIE_HEALTH,
- POWER_SUPPLY_PROP_CONNECTOR_HEALTH,
- POWER_SUPPLY_PROP_CTM_CURRENT_MAX,
- POWER_SUPPLY_PROP_HW_CURRENT_MAX,
- POWER_SUPPLY_PROP_PR_SWAP,
- POWER_SUPPLY_PROP_CC_STEP,
- POWER_SUPPLY_PROP_CC_STEP_SEL,
- POWER_SUPPLY_PROP_SW_JEITA_ENABLED,
- POWER_SUPPLY_PROP_PD_VOLTAGE_MAX,
- POWER_SUPPLY_PROP_PD_VOLTAGE_MIN,
- POWER_SUPPLY_PROP_SDP_CURRENT_MAX,
- POWER_SUPPLY_PROP_CONNECTOR_TYPE,
- POWER_SUPPLY_PROP_PARALLEL_BATFET_MODE,
- POWER_SUPPLY_PROP_PARALLEL_FCC_MAX,
- POWER_SUPPLY_PROP_MIN_ICL,
- POWER_SUPPLY_PROP_MOISTURE_DETECTED,
- POWER_SUPPLY_PROP_BATT_PROFILE_VERSION,
- POWER_SUPPLY_PROP_BATT_FULL_CURRENT,
- POWER_SUPPLY_PROP_RECHARGE_SOC,
- POWER_SUPPLY_PROP_HVDCP_OPTI_ALLOWED,
- POWER_SUPPLY_PROP_SMB_EN_MODE,
- POWER_SUPPLY_PROP_SMB_EN_REASON,
- POWER_SUPPLY_PROP_ESR_ACTUAL,
- POWER_SUPPLY_PROP_ESR_NOMINAL,
- POWER_SUPPLY_PROP_SOH,
- POWER_SUPPLY_PROP_CLEAR_SOH,
- POWER_SUPPLY_PROP_FORCE_RECHARGE,
- POWER_SUPPLY_PROP_FCC_STEPPER_ENABLE,
- POWER_SUPPLY_PROP_TOGGLE_STAT,
- POWER_SUPPLY_PROP_MAIN_FCC_MAX,
- POWER_SUPPLY_PROP_FG_RESET,
- POWER_SUPPLY_PROP_QC_OPTI_DISABLE,
- POWER_SUPPLY_PROP_CC_SOC,
- POWER_SUPPLY_PROP_BATT_AGE_LEVEL,
- POWER_SUPPLY_PROP_SCALE_MODE_EN,
- POWER_SUPPLY_PROP_VOLTAGE_VPH,
- POWER_SUPPLY_PROP_CHIP_VERSION,
- POWER_SUPPLY_PROP_THERM_ICL_LIMIT,
- POWER_SUPPLY_PROP_DC_RESET,
- POWER_SUPPLY_PROP_VOLTAGE_MAX_LIMIT,
- POWER_SUPPLY_PROP_REAL_CAPACITY,
- POWER_SUPPLY_PROP_FORCE_MAIN_ICL,
- POWER_SUPPLY_PROP_FORCE_MAIN_FCC,
- POWER_SUPPLY_PROP_COMP_CLAMP_LEVEL,
- POWER_SUPPLY_PROP_ADAPTER_CC_MODE,
- POWER_SUPPLY_PROP_SKIN_HEALTH,
- POWER_SUPPLY_PROP_CHARGE_DISABLE,
- POWER_SUPPLY_PROP_ADAPTER_DETAILS,
- POWER_SUPPLY_PROP_DEAD_BATTERY,
- POWER_SUPPLY_PROP_VOLTAGE_FIFO,
- POWER_SUPPLY_PROP_CC_UAH,
- POWER_SUPPLY_PROP_OPERATING_FREQ,
- POWER_SUPPLY_PROP_AICL_DELAY,
- POWER_SUPPLY_PROP_AICL_ICL,
- POWER_SUPPLY_PROP_RTX,
- POWER_SUPPLY_PROP_CUTOFF_SOC,
- POWER_SUPPLY_PROP_SYS_SOC,
- POWER_SUPPLY_PROP_BATT_SOC,
- /* Capacity Estimation */
- POWER_SUPPLY_PROP_BATT_CE_CTRL,
- POWER_SUPPLY_PROP_CHARGE_FULL_ESTIMATE,
- /* Resistance Estimaton */
- POWER_SUPPLY_PROP_RESISTANCE_AVG,
- POWER_SUPPLY_PROP_RES_FILTER_COUNT,
- POWER_SUPPLY_PROP_AICL_DONE,
- POWER_SUPPLY_PROP_VOLTAGE_STEP,
- POWER_SUPPLY_PROP_OTG_FASTROLESWAP,
- POWER_SUPPLY_PROP_APSD_RERUN,
- POWER_SUPPLY_PROP_APSD_TIMEOUT,
+ POWER_SUPPLY_PROP_MANUFACTURE_YEAR,
+ POWER_SUPPLY_PROP_MANUFACTURE_MONTH,
+ POWER_SUPPLY_PROP_MANUFACTURE_DAY,
+#if defined(CONFIG_NO_GKI)
/* Charge pump properties */
- POWER_SUPPLY_PROP_CP_STATUS1,
- POWER_SUPPLY_PROP_CP_STATUS2,
- POWER_SUPPLY_PROP_CP_ENABLE,
+ POWER_SUPPLY_PROP_CP_ALARM_STATUS,
+ POWER_SUPPLY_PROP_CP_BAT_OVP_ALARM,
+ POWER_SUPPLY_PROP_CP_BAT_OCP_ALARM,
+ POWER_SUPPLY_PROP_CP_BAT_UCP_ALARM,
+ POWER_SUPPLY_PROP_CP_BUS_OVP_ALARM,
+ POWER_SUPPLY_PROP_CP_BUS_OCP_ALARM,
+ POWER_SUPPLY_PROP_CP_BAT_THERM_ALARM,
+ POWER_SUPPLY_PROP_CP_BUS_THERM_ALARM,
+ POWER_SUPPLY_PROP_CP_DIE_THERM_ALARM,
+ POWER_SUPPLY_PROP_CP_FAULT_STATUS,
+ POWER_SUPPLY_PROP_CP_BAT_OVP_FAULT,
+ POWER_SUPPLY_PROP_CP_BAT_OCP_FAULT,
+ POWER_SUPPLY_PROP_CP_BUS_OVP_FAULT,
+ POWER_SUPPLY_PROP_CP_BUS_OCP_FAULT,
+ POWER_SUPPLY_PROP_CP_BAT_THERM_FAULT,
+ POWER_SUPPLY_PROP_CP_BUS_THERM_FAULT,
+ POWER_SUPPLY_PROP_CP_DIE_THERM_FAULT,
+ POWER_SUPPLY_PROP_CP_VBUS_ERROR_STATUS,
+ POWER_SUPPLY_PROP_CP_VBUS_HERROR_STATUS,
+ POWER_SUPPLY_PROP_CP_VBUS_LERROR_STATUS,
+ POWER_SUPPLY_PROP_CP_CHARGING_ENABLED,
+ POWER_SUPPLY_PROP_CP_WDT_EN,
+ POWER_SUPPLY_PROP_CP_VBUS,
+ POWER_SUPPLY_PROP_CP_IBUS,
POWER_SUPPLY_PROP_CP_SWITCHER_EN,
- POWER_SUPPLY_PROP_CP_DIE_TEMP,
+ POWER_SUPPLY_PROP_CP_BAT_TEMPERATURE,
+ POWER_SUPPLY_PROP_CP_BUS_TEMPERATURE,
+ POWER_SUPPLY_PROP_CP_DIE_TEMPERATURE,
POWER_SUPPLY_PROP_CP_ISNS,
- POWER_SUPPLY_PROP_CP_ISNS_SLAVE,
POWER_SUPPLY_PROP_CP_TOGGLE_SWITCHER,
POWER_SUPPLY_PROP_CP_IRQ_STATUS,
POWER_SUPPLY_PROP_CP_ILIM,
- POWER_SUPPLY_PROP_IRQ_STATUS,
- POWER_SUPPLY_PROP_PARALLEL_OUTPUT_MODE,
- POWER_SUPPLY_PROP_ALIGNMENT,
- POWER_SUPPLY_PROP_MOISTURE_DETECTION_ENABLE,
- POWER_SUPPLY_PROP_CC_TOGGLE_ENABLE,
- POWER_SUPPLY_PROP_FG_TYPE,
- POWER_SUPPLY_PROP_CHARGER_STATUS,
- /* Local extensions of type int64_t */
- POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT,
- POWER_SUPPLY_PROP_CHARGE_CHARGER_STATE,
+#endif
/* Properties of type `const char *' */
POWER_SUPPLY_PROP_MODEL_NAME,
- POWER_SUPPLY_PROP_PTMC_ID,
POWER_SUPPLY_PROP_MANUFACTURER,
- POWER_SUPPLY_PROP_BATTERY_TYPE,
- POWER_SUPPLY_PROP_CYCLE_COUNTS,
- /*
- * Add local extensions for properties with string values between
- * MODEL_NAME and SERIAL_NUMBER. Don't add below SERIAL_NUMBER.
- */
POWER_SUPPLY_PROP_SERIAL_NUMBER,
};
@@ -422,17 +228,10 @@
POWER_SUPPLY_TYPE_USB_PD, /* Power Delivery Port */
POWER_SUPPLY_TYPE_USB_PD_DRP, /* PD Dual Role Port */
POWER_SUPPLY_TYPE_APPLE_BRICK_ID, /* Apple Charging Method */
- POWER_SUPPLY_TYPE_USB_HVDCP, /* High Voltage DCP */
- POWER_SUPPLY_TYPE_USB_HVDCP_3, /* Efficient High Voltage DCP */
- POWER_SUPPLY_TYPE_USB_HVDCP_3P5, /* Efficient High Voltage DCP */
- POWER_SUPPLY_TYPE_WIRELESS, /* Accessory Charger Adapters */
- POWER_SUPPLY_TYPE_USB_FLOAT, /* Floating charger */
- POWER_SUPPLY_TYPE_BMS, /* Battery Monitor System */
- POWER_SUPPLY_TYPE_PARALLEL, /* Parallel Path */
- POWER_SUPPLY_TYPE_MAIN, /* Main Path */
- POWER_SUPPLY_TYPE_UFP, /* Type-C UFP */
- POWER_SUPPLY_TYPE_DFP, /* Type-C DFP */
+ POWER_SUPPLY_TYPE_WIRELESS, /* Wireless */
+#if defined(CONFIG_NO_GKI)
POWER_SUPPLY_TYPE_CHARGE_PUMP, /* Charge Pump */
+#endif
};
enum power_supply_usb_type {
@@ -448,45 +247,6 @@
POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID, /* Apple Charging Method */
};
-/* Indicates USB Type-C CC connection status */
-enum power_supply_typec_mode {
- POWER_SUPPLY_TYPEC_NONE,
-
- /* Acting as source */
- POWER_SUPPLY_TYPEC_SINK, /* Rd only */
- POWER_SUPPLY_TYPEC_SINK_POWERED_CABLE, /* Rd/Ra */
- POWER_SUPPLY_TYPEC_SINK_DEBUG_ACCESSORY,/* Rd/Rd */
- POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER, /* Ra/Ra */
- POWER_SUPPLY_TYPEC_POWERED_CABLE_ONLY, /* Ra only */
-
- /* Acting as sink */
- POWER_SUPPLY_TYPEC_SOURCE_DEFAULT, /* Rp default */
- POWER_SUPPLY_TYPEC_SOURCE_MEDIUM, /* Rp 1.5A */
- POWER_SUPPLY_TYPEC_SOURCE_HIGH, /* Rp 3A */
- POWER_SUPPLY_TYPEC_DAM_DEFAULT, /* Rp-1.5A/Rp-3A */
- POWER_SUPPLY_TYPEC_DAM_MEDIUM, /* Rp-Default/Rp-1.5A */
- POWER_SUPPLY_TYPEC_DAM_HIGH, /* Rp-Default/Rp-3A */
-
- /* Non Compliant */
- POWER_SUPPLY_TYPEC_NON_COMPLIANT,
- POWER_SUPPLY_TYPEC_RP_STD_STD, /* Rp-Default/Rp-Default */
- POWER_SUPPLY_TYPEC_RP_MED_MED, /* Rp-1.5A/Rp-1.5A */
- POWER_SUPPLY_TYPEC_RP_HIGH_HIGH, /* Rp-3A/Rp-3A */
-};
-
-enum power_supply_typec_src_rp {
- POWER_SUPPLY_TYPEC_SRC_RP_STD,
- POWER_SUPPLY_TYPEC_SRC_RP_1P5A,
- POWER_SUPPLY_TYPEC_SRC_RP_3A
-};
-
-enum power_supply_typec_power_role {
- POWER_SUPPLY_TYPEC_PR_NONE, /* CC lines in high-Z */
- POWER_SUPPLY_TYPEC_PR_DUAL,
- POWER_SUPPLY_TYPEC_PR_SINK,
- POWER_SUPPLY_TYPEC_PR_SOURCE,
-};
-
enum power_supply_notifier_events {
PSY_EVENT_PROP_CHANGED,
};
@@ -494,7 +254,6 @@
union power_supply_propval {
int intval;
const char *strval;
- int64_t int64val;
};
struct device_node;
@@ -508,17 +267,22 @@
/* Driver private data */
void *drv_data;
+ /* Device specific sysfs attributes */
+ const struct attribute_group **attr_grp;
+
char **supplied_to;
size_t num_supplicants;
+
+ ANDROID_KABI_RESERVE(1);
};
/* Description of power supply */
struct power_supply_desc {
const char *name;
enum power_supply_type type;
- enum power_supply_usb_type *usb_types;
+ const enum power_supply_usb_type *usb_types;
size_t num_usb_types;
- enum power_supply_property *properties;
+ const enum power_supply_property *properties;
size_t num_properties;
/*
@@ -551,6 +315,8 @@
bool no_thermal;
/* For APM emulation, think legacy userspace. */
int use_for_apm;
+
+ ANDROID_KABI_RESERVE(1);
};
struct power_supply {
@@ -592,6 +358,8 @@
struct led_trigger *charging_blink_full_solid_trig;
char *charging_blink_full_solid_trig_name;
#endif
+
+ ANDROID_KABI_RESERVE(1);
};
/*
@@ -613,6 +381,18 @@
int use_for_apm;
};
+struct power_supply_battery_ocv_table {
+ int ocv; /* microVolts */
+ int capacity; /* percent */
+};
+
+struct power_supply_resistance_temp_table {
+ int temp; /* celsius */
+ int resistance; /* internal resistance percent */
+};
+
+#define POWER_SUPPLY_OCV_TEMP_MAX 20
+
/*
* This is the recommended struct to manage static battery parameters,
* populated by power_supply_get_battery_info(). Most platform drivers should
@@ -626,10 +406,29 @@
int energy_full_design_uwh; /* microWatt-hours */
int charge_full_design_uah; /* microAmp-hours */
int voltage_min_design_uv; /* microVolts */
+ int voltage_max_design_uv; /* microVolts */
+ int tricklecharge_current_ua; /* microAmps */
int precharge_current_ua; /* microAmps */
+ int precharge_voltage_max_uv; /* microVolts */
int charge_term_current_ua; /* microAmps */
+ int charge_restart_voltage_uv; /* microVolts */
+ int overvoltage_limit_uv; /* microVolts */
int constant_charge_current_max_ua; /* microAmps */
int constant_charge_voltage_max_uv; /* microVolts */
+ int factory_internal_resistance_uohm; /* microOhms */
+ int ocv_temp[POWER_SUPPLY_OCV_TEMP_MAX];/* celsius */
+ int temp_ambient_alert_min; /* celsius */
+ int temp_ambient_alert_max; /* celsius */
+ int temp_alert_min; /* celsius */
+ int temp_alert_max; /* celsius */
+ int temp_min; /* celsius */
+ int temp_max; /* celsius */
+ struct power_supply_battery_ocv_table *ocv_table[POWER_SUPPLY_OCV_TEMP_MAX];
+ int ocv_table_size[POWER_SUPPLY_OCV_TEMP_MAX];
+ struct power_supply_resistance_temp_table *resist_table;
+ int resist_table_size;
+
+ ANDROID_KABI_RESERVE(1);
};
extern struct atomic_notifier_head power_supply_notifier;
@@ -640,12 +439,22 @@
#ifdef CONFIG_OF
extern struct power_supply *power_supply_get_by_phandle(struct device_node *np,
const char *property);
+extern int power_supply_get_by_phandle_array(struct device_node *np,
+ const char *property,
+ struct power_supply **psy,
+ ssize_t size);
extern struct power_supply *devm_power_supply_get_by_phandle(
struct device *dev, const char *property);
#else /* !CONFIG_OF */
static inline struct power_supply *
power_supply_get_by_phandle(struct device_node *np, const char *property)
{ return NULL; }
+static inline int
+power_supply_get_by_phandle_array(struct device_node *np,
+ const char *property,
+ struct power_supply **psy,
+ int size)
+{ return 0; }
static inline struct power_supply *
devm_power_supply_get_by_phandle(struct device *dev, const char *property)
{ return NULL; }
@@ -653,10 +462,23 @@
extern int power_supply_get_battery_info(struct power_supply *psy,
struct power_supply_battery_info *info);
+extern void power_supply_put_battery_info(struct power_supply *psy,
+ struct power_supply_battery_info *info);
+extern int power_supply_ocv2cap_simple(struct power_supply_battery_ocv_table *table,
+ int table_len, int ocv);
+extern struct power_supply_battery_ocv_table *
+power_supply_find_ocv2cap_table(struct power_supply_battery_info *info,
+ int temp, int *table_len);
+extern int power_supply_batinfo_ocv2cap(struct power_supply_battery_info *info,
+ int ocv, int temp);
+extern int
+power_supply_temp2resist_simple(struct power_supply_resistance_temp_table *table,
+ int table_len, int temp);
extern void power_supply_changed(struct power_supply *psy);
extern int power_supply_am_i_supplied(struct power_supply *psy);
-extern int power_supply_set_input_current_limit_from_supplier(
- struct power_supply *psy);
+int power_supply_get_property_from_supplier(struct power_supply *psy,
+ enum power_supply_property psp,
+ union power_supply_propval *val);
extern int power_supply_set_battery_charged(struct power_supply *psy);
#ifdef CONFIG_POWER_SUPPLY
@@ -668,9 +490,16 @@
extern int power_supply_get_property(struct power_supply *psy,
enum power_supply_property psp,
union power_supply_propval *val);
+#if IS_ENABLED(CONFIG_POWER_SUPPLY)
extern int power_supply_set_property(struct power_supply *psy,
enum power_supply_property psp,
const union power_supply_propval *val);
+#else
+static inline int power_supply_set_property(struct power_supply *psy,
+ enum power_supply_property psp,
+ const union power_supply_propval *val)
+{ return 0; }
+#endif
extern int power_supply_property_is_writeable(struct power_supply *psy,
enum power_supply_property psp);
extern void power_supply_external_power_changed(struct power_supply *psy);
@@ -754,4 +583,17 @@
return 0;
}
+#ifdef CONFIG_POWER_SUPPLY_HWMON
+int power_supply_add_hwmon_sysfs(struct power_supply *psy);
+void power_supply_remove_hwmon_sysfs(struct power_supply *psy);
+#else
+static inline int power_supply_add_hwmon_sysfs(struct power_supply *psy)
+{
+ return 0;
+}
+
+static inline
+void power_supply_remove_hwmon_sysfs(struct power_supply *psy) {}
+#endif
+
#endif /* __LINUX_POWER_SUPPLY_H__ */
--
Gitblit v1.6.2