Add a proxy consumer driver which can be used to ensure that a
given regulator maintains a certain minimum state during bootup.
Enable state, voltage, and current may be forced to specified
levels.
Bug: 150508586
Change-Id: I0ccc63a41684462684ac737fb2f4129a3e6e4aea
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit cf03466c074e912a8aa3e079e1b7ea1cc17b18ba)
[Also squashed e9a05bb4d3f0 "spdx: Modify spdx tag from GPL-2.0 to GPL-2.0-only"]
Signed-off-by: Saravana Kannan <saravanak@google.com>
The length 32 buffer in of_get_regulator() limits the maximum
possible supply name to 24 characters (32 - 1 [null terminator]
- 7 [strlen("-supply")]). This causes problems for device
nodes with longer supply property names.
Increase the size of the buffer to remove this artificial
restriction.
Bug: 150508586
Change-Id: Ic28ee290dcd7411ba8325a2b42c12173958a11d8
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit f6d207a3235617a4acffb246f3817c32bd30ee39)
Signed-off-by: Saravana Kannan <saravanak@google.com>
This reverts commit b2296bd43e ("regulator: Enable supply
regulator if child rail is enabled.").
The change results in the following incorrect behavior.
If a given regulator has a parent supply and the regulator is
enabled either before or during regulator_register(), then
regulator_enable() is called on the supply. Unfortunately, there
is no matching regulator_disable() call. This means that the
parent supply will stay enabled forever even if the child is
disabled later.
The stated goal of the change was to enable the parent of a
regulator which was enabled based on its machine constraints.
However, the only constraints that leads to enable() being called
for a regulator are boot-on or always-on. If these have been
specified for a child regulator then they should have also been
specified for its parent regulator. Therefore, there should be
no need to explicitly enable the parent when the child is
registered.
Bug: 150508586
Change-Id: Ib8e6db65dcd44c27ef99509ff0cfd2f8e16e9f65
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 7a88f5efeab2059093e2398d57d6cd36220b6bc5)
Signed-off-by: Saravana Kannan <saravanak@google.com>
The regulator framework checks if the current mode is the same as the
one being requested inside of regulator_set_mode. However, when
DRMS changing is allowed, regulator_enable calls drms_uA_update.
This function does not check the value of get_mode before calling
set_mode.
Modify drms_uA_update so that set_mode is only called if the requested
mode is different from the current mode returned by get_mode.
Bug: 150508586
Change-Id: Ifb4f3069cf946e8474565ee82508c1ff45b36543
Signed-off-by: David Collins <collinsd@codeaurora.org>
(cherry picked from commit 4c40b0f70455f6207c0c26994a50a640160d2a69)
Signed-off-by: Saravana Kannan <saravanak@google.com>
Commit 69235aa80090 ("net: Remove the get current NAPI context API")
removed the definition of get_current_napi_context() as rmnet_data
was no longer using it. However, the rmnet_data change to use its
NAPI in multiple contexts was prone to race in hotplug scenarios.
Add back get_current_napi_context() and current_napi to the
softnet_data struct.
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
(cherry picked from commit 05b3252cf566eb04c7c5484c912ae6f8f9fb1dd5)
[surenb cherry-picked from
05b3252cf566 net: Add the get current NAPI context API
to fix ABI diffs caused by get_current_napi_context function]
Bug: 151108843
Test: build
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I4d5b81c734e4a5daa2fae3cb7d6538821d46ff64
Merged-In: I4d5b81c734e4a5daa2fae3cb7d6538821d46ff64
Add edac_device_ctl_info struct members causing ABI diffs. This
patch skips sysfs changes and ignores the deferrable flag from the
original patchset.
Bug: 152456530
Test: build and boot
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Venkata Narendra Kumar Gutta <vnkgutta@codeaurora.org>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
[surenb: Squashed the following commits and kept only
edac_device_ctl_info struct changes:
117ab600649a edac: Allow panic on correctable errors (CE).
1b9a7044541d edac: Allow the option of creating a deferrable work for polling]
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: If301dd0134c819167c81004468082a68735d9bd7
Merged-In: If301dd0134c819167c81004468082a68735d9bd7
Normally, PWM channel has fixed output until software request to change
its settings. There are some PWM devices which their outputs could be
changed autonomously according to a predefined pattern programmed in
hardware. Add pwm_output_type enum type to identify these two different
PWM types and add relevant helper functions to set and get PWM output
types and pattern.
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Bug: 152542675
Test: build and boot
(cherry picked from commit 9e880ec791d4b4ad9f9bc257d9e20c59c3c9d90f)
[surenb: removed sysfs changes and fixed checkpatch.pl error in
pwm_get_output_type_supported function from pwm.h]
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I4a457636547e3225d8f10cfb3237765f500d9cc7
Merged-In: I4a457636547e3225d8f10cfb3237765f500d9cc7
commit 40cbfa9021 ("cfg80211/nl80211: Optional authentication
offload to userspace")' introduced authentication offload to user
space by the host drivers in station mode. This commit extends
the same for the AP mode too.
Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the
support of external authentication from the user space in AP mode.
A new flag parameter is introduced in cfg80211_ap_settings to
intend the same while "start ap".
Host driver to use NL80211_CMD_FRAME interface to transmit and
receive the authentication frames to / from the user space.
Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH
while sending the authentication frame to the user space. This
intends to the user space that the driver wishes it to process
the authentication frame for certain protocols, though it had
initially advertised the support for SME functionality.
User space shall accordingly do the authentication and indicate
its final status through the command NL80211_CMD_EXTERNAL_AUTH.
Allow the command even if userspace doesn't include the attribute
NL80211_ATTR_SSID for AP interface.
Host driver shall continue with the association sequence and
indicate the STA connection status through cfg80211_new_sta.
To facilitate the host drivers in AP mode for matching the pmkid
by the stations during the association, NL80211_CMD_EXTERNAL_AUTH
is also enhanced to include the pmkid to drivers after
the authentication.
This pmkid can also be used in the STA mode to include in the
association request.
Also modify nl80211_external_auth to not mandate SSID in AP mode.
Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
[remove useless nla_get_flag() usage]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit fe4943702c)
Bug: 153011874
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: Iecdd38a0b6fa7726938c905c4810b9879bc48530
Without these, you can't unmount a volume on which incfs was
mounted and the tests run.
Also incfs_tests would fail sporadically without the fix to
test_inode
Test: Run incfs_test and unmount underlying volume 1000 times
Bug: 152636070
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I88f11f5d4269c22d9073e5eb671d0c7cc4629f6c
(cherry picked from commit c062bc8e76)
If CONFIG_BLK_DEV_BSG is disabled on the vendor side, then struct
request_queue will have an ABI diff. Remove the #ifdef in the struct so
that vendors can choose whether or not to use the config.
'struct request_queue at blkdev.h:434:1' changed:¬
type size changed from 17600 to 17920 (in bits)¬
2 data member insertions:¬
'bsg_job_fn* request_queue::bsg_job_fn', at offset 13952 (in bits) at blkdev.h:650:1¬
'bsg_class_device request_queue::bsg_dev', at offset 14016 (in bits) at blkdev.h:651:1¬
Signed-off-by: Will McVicker <willmcvicker@google.com>
Bug: 152917514
Test: compile, verify ABI diff
Change-Id: Iec2e3460b717b667fcc0409cbc4ec985cfe0f69c
Add the function pointer elevator_registered_fn to the struct
elevator_mq_ops to allow vendors use of this function.
Bug: 152659776
Test: compile
Change-Id: I9e55eee03917a1ab07fbd3f04635ca1a6541b860
Signed-off-by: Pradeep P V K <ppvk@codeaurora.org>
(cherry picked from commit da1defc781fdbf66a12ff8dbb1926d5fc507521e)
[willmcvicker: only cherry-picked the ABI diff]
Signed-off-by: Will McVicker <willmcvicker@google.com>
For ABI compatibility, we are adding a vendor field to support the
config CONFIG_RWSEM_PRIO_AWARE.
Bug: 151792119
Bug: 148872640
Signed-off-by: Maria Yu <aiquny@codeaurora.org>
Signed-off-by: Biao long <blong@codeaurora.org>
[willmcvicker: Only cherry-picked the ABI diff]
(cherry picked from commit c4b6927bb644d57775c601bbd5d9ce3f346ee1b9)
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I3f289e2992af340b56c2df532ffeb418abf3da79
This reduces the ABI diff for the module_layout symbol.
Bug: 148872640
Test: compile test
(cherry picked from commit ee7bdc62fd01050285a88be851e2d2df7ff2818e)
[willmcvicker: Only cherry-picked the ABI difference]
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I1e7e110316d90d190cb4fa1dcd18b70d0d6045f5
Pull in the ABI diff changes for the CPU hotplug feature. The full
feature can be found in commit 3d3eb5fb85d97 ("perf: add hotplug
support").
Bug: 148872640
Test: compile test
(cherry picked from commit 3d3eb5fb85d97667525d08219eb03e42188ac897)
[willmcvicker: Only cherry-picked the ABI difference]
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I41982f50bcda29e4659f3ec0ffd4517884a7b6d0
Adds the new struct variable "readable_on_cpus" to reduce the ABI
diff. The Full feature is under commit f994cb43aa705 ("perf/core:
Add support for PMUs that can be read from more than 1 CPU").
Bug: 148872640
Test: compile test
(cherry picked from commit f994cb43aa705bb5301c83dae36a1f12fe11c3cd)
[Only cherry-picked the ABI difference]
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: If46a71163efde2245e955b23da58550e21082e62
This updates the struct task_struct ABI to include a field for vendors
to support task affinity for cpusets.
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Bug: 148872640
Bug: 149816871
Change-Id: I6c2ec1d5e3d994e176926d94b9e0cc92418020cc
Signed-off-by: Will McVicker <willmcvicker@google.com>
(cherry picked from commit b4fee475f8d7a3327bc63e665ffbfdd63ab4bcc7)
[only cherry-picked the ABI difference]
Add an ioctl FS_IOC_GET_ENCRYPTION_NONCE which retrieves the nonce from
an encrypted file or directory. The nonce is the 16-byte random value
stored in the inode's encryption xattr. It is normally used together
with the master key to derive the inode's actual encryption key.
The nonces are needed by automated tests that verify the correctness of
the ciphertext on-disk. Except for the IV_INO_LBLK_64 case, there's no
way to replicate a file's ciphertext without knowing that file's nonce.
The nonces aren't secret, and the existing ciphertext verification tests
in xfstests retrieve them from disk using debugfs or dump.f2fs. But in
environments that lack these debugging tools, getting the nonces by
manually parsing the filesystem structure would be very hard.
To make this important type of testing much easier, let's just add an
ioctl that retrieves the nonce.
Link: https://lore.kernel.org/r/20200314205052.93294-2-ebiggers@kernel.org
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
(cherry picked from commit e98ad46475)
Bug: 151100202
Change-Id: Ieef2c57b9257ae38eb2e5c1a018ca6f325bb62dd
Signed-off-by: Eric Biggers <ebiggers@google.com>
Conflict: documentation/usb/index.rst is missing.
(Upstream commit f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10.)
USB Raw Gadget is a kernel module that provides a userspace interface for
the USB Gadget subsystem. Essentially it allows to emulate USB devices
from userspace. Enabled with CONFIG_USB_RAW_GADGET. Raw Gadget is
currently a strictly debugging feature and shouldn't be used in
production.
Raw Gadget is similar to GadgetFS, but provides a more low-level and
direct access to the USB Gadget layer for the userspace. The key
differences are:
1. Every USB request is passed to the userspace to get a response, while
GadgetFS responds to some USB requests internally based on the provided
descriptors. However note, that the UDC driver might respond to some
requests on its own and never forward them to the Gadget layer.
2. GadgetFS performs some sanity checks on the provided USB descriptors,
while Raw Gadget allows you to provide arbitrary data as responses to
USB requests.
3. Raw Gadget provides a way to select a UDC device/driver to bind to,
while GadgetFS currently binds to the first available UDC.
4. Raw Gadget uses predictable endpoint names (handles) across different
UDCs (as long as UDCs have enough endpoints of each required transfer
type).
5. Raw Gadget has ioctl-based interface instead of a filesystem-based one.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Bug: 147413187
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Change-Id: Ib48759bda0651e685160c532bed55b7335a39034
(Upstream commit 10e5e6c2496354f0afec82dba459339c421badbf.)
drivers/usb/gadget/Kconfig includes drivers/usb/gadget/legacy/Kconfig
inside the 'choice' block. The current Kconfig allows this, but I'd
like to discourage this usage.
People tend to mess up the structure without noticing that entire
drivers/usb/gadget/legacy/Kconfig is placed in the choice context.
In fact, legacy/Kconfig mixes up bool and tristate in the choice,
and creates nested choice, etc.
This commit does not change the behavior, but it will help people
notice how badly this Kconfig file is written.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20191211073857.16780-1-masahiroy@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 147413187
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Change-Id: Ib2b96fd9c2acb681b2186eb89ec1f0f2b18d0e89
This is trivial since we already have support for the entirely
identical (from the kernel's point of view) RDNSS, DNSSL, etc. that
also contain opaque data that needs to be passed down to userspace
for further processing.
As specified in draft-ietf-6man-ra-pref64-09 (while it is still a draft,
it is purely waiting on the RFC Editor for cleanups and publishing):
PREF64 option contains lifetime and a (up to) 96-bit IPv6 prefix.
The 8-bit identifier of the option type as assigned by the IANA is 38.
Since we lack DNS64/NAT64/CLAT support in kernel at the moment,
thus this option should also be passed on to userland.
See:
https://tools.ietf.org/html/draft-ietf-6man-ra-pref64-09https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-5
Cc: Erik Kline <ek@google.com>
Cc: Jen Linkova <furry@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Michael Haro <mharo@google.com>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Acked-By: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit c24a77edc9)
Bug: 150648313
Change-Id: I02bff2103194a8171f907e82f811d7ab66962138
When running the kernel with init_on_alloc=1, calling the default
implementation of __alloc_zeroed_user_highpage() from include/linux/highmem.h
leads to double-initialization of the allocated page (first by the page
allocator, then by clear_user_page().
Calling alloc_page_vma() with __GFP_ZERO, similarly to e.g. x86, seems
to be enough to ensure the user page is zeroed only once.
Signed-off-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bug: 149975351
Link: https://lore.kernel.org/linux-arm-kernel/20200312155920.50067-1-glider@google.com/
Change-Id: I3ff7c3fb082b420491313e0fdd841ce340989d72
Signed-off-by: Alexander Potapenko <glider@google.com>
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'enum power_supply_property at power_supply.h:170:1' changed:
type size hasn't changed
3 enumerator insertions:
'power_supply_property::POWER_SUPPLY_PROP_CUTOFF_SOC' value '189'
'power_supply_property::POWER_SUPPLY_PROP_SYS_SOC' value '190'
'power_supply_property::POWER_SUPPLY_PROP_BATT_SOC' value '191'
30 enumerator changes:
'power_supply_property::POWER_SUPPLY_PROP_BATT_CE_CTRL' from value '189' to '192' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_FULL_ESTIMATE' from value '190' to '193' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE_AVG' from value '191' to '194' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_RES_FILTER_COUNT' from value '192' to '195' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_AICL_DONE' from value '193' to '196' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_STEP' from value '194' to '197' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_OTG_FASTROLESWAP' from value '195' to '198' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_APSD_RERUN' from value '196' to '199' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_APSD_TIMEOUT' from value '197' to '200' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_STATUS1' from value '198' to '201' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_STATUS2' from value '199' to '202' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_ENABLE' from value '200' to '203' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_SWITCHER_EN' from value '201' to '204' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_DIE_TEMP' from value '202' to '205' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_ISNS' from value '203' to '206' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_ISNS_SLAVE' from value '204' to '207' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_TOGGLE_SWITCHER' from value '205' to '208' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_IRQ_STATUS' from value '206' to '209' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CP_ILIM' from value '207' to '210' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_IRQ_STATUS' from value '208' to '211' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_OUTPUT_MODE' from value '209' to '212' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_ALIGNMENT' from value '210' to '213' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT' from value '211' to '214' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_CHARGER_STATE' from value '212' to '215' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_MODEL_NAME' from value '213' to '216' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_PTMC_ID' from value '214' to '217' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_MANUFACTURER' from value '215' to '218' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_BATTERY_TYPE' from value '216' to '219' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_CYCLE_COUNTS' from value '217' to '220' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_SERIAL_NUMBER' from value '218' to '221' at power_supply.h:170:1
7 impacted interfaces:
function power_supply* devm_power_supply_register(device*, const power_supply_desc*, const power_supply_config*)
function void power_supply_changed(power_supply*)
function power_supply* power_supply_get_by_name(const char*)
function void* power_supply_get_drvdata(power_supply*)
function int power_supply_get_property(power_supply*, power_supply_property, power_supply_propval*)
function void power_supply_put(power_supply*)
function int power_supply_set_property(power_supply*, power_supply_property, const power_supply_propval*)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: I93153b9c6bff1a14d2dfcd62b71e8c3f08cf03a2
Leaf changes summary: 1 artifact changed (2 filtered out)
Changed leaf types summary: 1 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'enum power_supply_property at power_supply.h:87:1' changed:
type size hasn't changed
152 enumerator insertions:
'power_supply_property::POWER_SUPPLY_PROP_USB_HC' value '64'
'power_supply_property::POWER_SUPPLY_PROP_USB_OTG' value '65'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_ENABLED' value '66'
'power_supply_property::POWER_SUPPLY_PROP_SET_SHIP_MODE' value '67'
'power_supply_property::POWER_SUPPLY_PROP_REAL_TYPE' value '68'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_NOW_RAW' value '69'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_NOW_ERROR' value '70'
'power_supply_property::POWER_SUPPLY_PROP_CAPACITY_RAW' value '71'
'power_supply_property::POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED' value '72'
'power_supply_property::POWER_SUPPLY_PROP_CHARGING_ENABLED' value '73'
'power_supply_property::POWER_SUPPLY_PROP_STEP_CHARGING_ENABLED' value '74'
'power_supply_property::POWER_SUPPLY_PROP_STEP_CHARGING_STEP' value '75'
'power_supply_property::POWER_SUPPLY_PROP_PIN_ENABLED' value '76'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_SUSPEND' value '77'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION' value '78'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_CURRENT_MAX' value '79'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_CURRENT_TRIM' value '80'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_CURRENT_SETTLED' value '81'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_VOLTAGE_SETTLED' value '82'
'power_supply_property::POWER_SUPPLY_PROP_VCHG_LOOP_DBC_BYPASS' value '83'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_COUNTER_SHADOW' value '84'
'power_supply_property::POWER_SUPPLY_PROP_HI_POWER' value '85'
'power_supply_property::POWER_SUPPLY_PROP_LOW_POWER' value '86'
'power_supply_property::POWER_SUPPLY_PROP_COOL_TEMP' value '87'
'power_supply_property::POWER_SUPPLY_PROP_WARM_TEMP' value '88'
'power_supply_property::POWER_SUPPLY_PROP_COLD_TEMP' value '89'
'power_supply_property::POWER_SUPPLY_PROP_HOT_TEMP' value '90'
'power_supply_property::POWER_SUPPLY_PROP_SYSTEM_TEMP_LEVEL' value '91'
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE' value '92'
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE_CAPACITIVE' value '93'
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE_ID' value '94'
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE_NOW' value '95'
'power_supply_property::POWER_SUPPLY_PROP_FLASH_CURRENT_MAX' value '96'
'power_supply_property::POWER_SUPPLY_PROP_UPDATE_NOW' value '97'
'power_supply_property::POWER_SUPPLY_PROP_ESR_COUNT' value '98'
'power_supply_property::POWER_SUPPLY_PROP_BUCK_FREQ' value '99'
'power_supply_property::POWER_SUPPLY_PROP_BOOST_CURRENT' value '100'
'power_supply_property::POWER_SUPPLY_PROP_SAFETY_TIMER_ENABLE' value '101'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_DONE' value '102'
'power_supply_property::POWER_SUPPLY_PROP_FLASH_ACTIVE' value '103'
'power_supply_property::POWER_SUPPLY_PROP_FLASH_TRIGGER' value '104'
'power_supply_property::POWER_SUPPLY_PROP_FORCE_TLIM' value '105'
'power_supply_property::POWER_SUPPLY_PROP_DP_DM' value '106'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_CURRENT_LIMITED' value '107'
'power_supply_property::POWER_SUPPLY_PROP_INPUT_CURRENT_NOW' value '108'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_QNOVO_ENABLE' value '109'
'power_supply_property::POWER_SUPPLY_PROP_CURRENT_QNOVO' value '110'
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_QNOVO' value '111'
'power_supply_property::POWER_SUPPLY_PROP_RERUN_AICL' value '112'
'power_supply_property::POWER_SUPPLY_PROP_CYCLE_COUNT_ID' value '113'
'power_supply_property::POWER_SUPPLY_PROP_SAFETY_TIMER_EXPIRED' value '114'
'power_supply_property::POWER_SUPPLY_PROP_RESTRICTED_CHARGING' value '115'
'power_supply_property::POWER_SUPPLY_PROP_CURRENT_CAPABILITY' value '116'
'power_supply_property::POWER_SUPPLY_PROP_TYPEC_MODE' value '117'
'power_supply_property::POWER_SUPPLY_PROP_TYPEC_CC_ORIENTATION' value '118'
'power_supply_property::POWER_SUPPLY_PROP_TYPEC_POWER_ROLE' value '119'
'power_supply_property::POWER_SUPPLY_PROP_TYPEC_SRC_RP' value '120'
'power_supply_property::POWER_SUPPLY_PROP_PD_ALLOWED' value '121'
'power_supply_property::POWER_SUPPLY_PROP_PD_ACTIVE' value '122'
'power_supply_property::POWER_SUPPLY_PROP_PD_IN_HARD_RESET' value '123'
'power_supply_property::POWER_SUPPLY_PROP_PD_CURRENT_MAX' value '124'
'power_supply_property::POWER_SUPPLY_PROP_PD_USB_SUSPEND_SUPPORTED' value '125'
'power_supply_property::POWER_SUPPLY_PROP_CHARGER_TEMP' value '126'
'power_supply_property::POWER_SUPPLY_PROP_CHARGER_TEMP_MAX' value '127'
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_DISABLE' value '128'
'power_supply_property::POWER_SUPPLY_PROP_PE_START' value '129'
'power_supply_property::POWER_SUPPLY_PROP_SOC_REPORTING_READY' value '130'
'power_supply_property::POWER_SUPPLY_PROP_DEBUG_BATTERY' value '131'
'power_supply_property::POWER_SUPPLY_PROP_FCC_DELTA' value '132'
'power_supply_property::POWER_SUPPLY_PROP_ICL_REDUCTION' value '133'
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_MODE' value '134'
'power_supply_property::POWER_SUPPLY_PROP_DIE_HEALTH' value '135'
'power_supply_property::POWER_SUPPLY_PROP_CONNECTOR_HEALTH' value '136'
'power_supply_property::POWER_SUPPLY_PROP_CTM_CURRENT_MAX' value '137'
'power_supply_property::POWER_SUPPLY_PROP_HW_CURRENT_MAX' value '138'
'power_supply_property::POWER_SUPPLY_PROP_PR_SWAP' value '139'
'power_supply_property::POWER_SUPPLY_PROP_CC_STEP' value '140'
'power_supply_property::POWER_SUPPLY_PROP_CC_STEP_SEL' value '141'
'power_supply_property::POWER_SUPPLY_PROP_SW_JEITA_ENABLED' value '142'
'power_supply_property::POWER_SUPPLY_PROP_PD_VOLTAGE_MAX' value '143'
'power_supply_property::POWER_SUPPLY_PROP_PD_VOLTAGE_MIN' value '144'
'power_supply_property::POWER_SUPPLY_PROP_SDP_CURRENT_MAX' value '145'
'power_supply_property::POWER_SUPPLY_PROP_CONNECTOR_TYPE' value '146'
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_BATFET_MODE' value '147'
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_FCC_MAX' value '148'
'power_supply_property::POWER_SUPPLY_PROP_MIN_ICL' value '149'
'power_supply_property::POWER_SUPPLY_PROP_MOISTURE_DETECTED' value '150'
'power_supply_property::POWER_SUPPLY_PROP_BATT_PROFILE_VERSION' value '151'
'power_supply_property::POWER_SUPPLY_PROP_BATT_FULL_CURRENT' value '152'
'power_supply_property::POWER_SUPPLY_PROP_RECHARGE_SOC' value '153'
'power_supply_property::POWER_SUPPLY_PROP_HVDCP_OPTI_ALLOWED' value '154'
'power_supply_property::POWER_SUPPLY_PROP_SMB_EN_MODE' value '155'
'power_supply_property::POWER_SUPPLY_PROP_SMB_EN_REASON' value '156'
'power_supply_property::POWER_SUPPLY_PROP_ESR_ACTUAL' value '157'
'power_supply_property::POWER_SUPPLY_PROP_ESR_NOMINAL' value '158'
'power_supply_property::POWER_SUPPLY_PROP_SOH' value '159'
'power_supply_property::POWER_SUPPLY_PROP_CLEAR_SOH' value '160'
'power_supply_property::POWER_SUPPLY_PROP_FORCE_RECHARGE' value '161'
'power_supply_property::POWER_SUPPLY_PROP_FCC_STEPPER_ENABLE' value '162'
'power_supply_property::POWER_SUPPLY_PROP_TOGGLE_STAT' value '163'
'power_supply_property::POWER_SUPPLY_PROP_MAIN_FCC_MAX' value '164'
'power_supply_property::POWER_SUPPLY_PROP_FG_RESET' value '165'
'power_supply_property::POWER_SUPPLY_PROP_QC_OPTI_DISABLE' value '166'
'power_supply_property::POWER_SUPPLY_PROP_CC_SOC' value '167'
'power_supply_property::POWER_SUPPLY_PROP_BATT_AGE_LEVEL' value '168'
'power_supply_property::POWER_SUPPLY_PROP_SCALE_MODE_EN' value '169'
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_VPH' value '170'
'power_supply_property::POWER_SUPPLY_PROP_CHIP_VERSION' value '171'
'power_supply_property::POWER_SUPPLY_PROP_THERM_ICL_LIMIT' value '172'
'power_supply_property::POWER_SUPPLY_PROP_DC_RESET' value '173'
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_MAX_LIMIT' value '174'
'power_supply_property::POWER_SUPPLY_PROP_REAL_CAPACITY' value '175'
'power_supply_property::POWER_SUPPLY_PROP_FORCE_MAIN_ICL' value '176'
'power_supply_property::POWER_SUPPLY_PROP_FORCE_MAIN_FCC' value '177'
'power_supply_property::POWER_SUPPLY_PROP_COMP_CLAMP_LEVEL' value '178'
'power_supply_property::POWER_SUPPLY_PROP_ADAPTER_CC_MODE' value '179'
'power_supply_property::POWER_SUPPLY_PROP_SKIN_HEALTH' value '180'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_DISABLE' value '181'
'power_supply_property::POWER_SUPPLY_PROP_ADAPTER_DETAILS' value '182'
'power_supply_property::POWER_SUPPLY_PROP_DEAD_BATTERY' value '183'
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_FIFO' value '184'
'power_supply_property::POWER_SUPPLY_PROP_CC_UAH' value '185'
'power_supply_property::POWER_SUPPLY_PROP_OPERATING_FREQ' value '186'
'power_supply_property::POWER_SUPPLY_PROP_AICL_DELAY' value '187'
'power_supply_property::POWER_SUPPLY_PROP_AICL_ICL' value '188'
'power_supply_property::POWER_SUPPLY_PROP_BATT_CE_CTRL' value '189'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_FULL_ESTIMATE' value '190'
'power_supply_property::POWER_SUPPLY_PROP_RESISTANCE_AVG' value '191'
'power_supply_property::POWER_SUPPLY_PROP_RES_FILTER_COUNT' value '192'
'power_supply_property::POWER_SUPPLY_PROP_AICL_DONE' value '193'
'power_supply_property::POWER_SUPPLY_PROP_VOLTAGE_STEP' value '194'
'power_supply_property::POWER_SUPPLY_PROP_OTG_FASTROLESWAP' value '195'
'power_supply_property::POWER_SUPPLY_PROP_APSD_RERUN' value '196'
'power_supply_property::POWER_SUPPLY_PROP_APSD_TIMEOUT' value '197'
'power_supply_property::POWER_SUPPLY_PROP_CP_STATUS1' value '198'
'power_supply_property::POWER_SUPPLY_PROP_CP_STATUS2' value '199'
'power_supply_property::POWER_SUPPLY_PROP_CP_ENABLE' value '200'
'power_supply_property::POWER_SUPPLY_PROP_CP_SWITCHER_EN' value '201'
'power_supply_property::POWER_SUPPLY_PROP_CP_DIE_TEMP' value '202'
'power_supply_property::POWER_SUPPLY_PROP_CP_ISNS' value '203'
'power_supply_property::POWER_SUPPLY_PROP_CP_ISNS_SLAVE' value '204'
'power_supply_property::POWER_SUPPLY_PROP_CP_TOGGLE_SWITCHER' value '205'
'power_supply_property::POWER_SUPPLY_PROP_CP_IRQ_STATUS' value '206'
'power_supply_property::POWER_SUPPLY_PROP_CP_ILIM' value '207'
'power_supply_property::POWER_SUPPLY_PROP_IRQ_STATUS' value '208'
'power_supply_property::POWER_SUPPLY_PROP_PARALLEL_OUTPUT_MODE' value '209'
'power_supply_property::POWER_SUPPLY_PROP_ALIGNMENT' value '210'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT' value '211'
'power_supply_property::POWER_SUPPLY_PROP_CHARGE_CHARGER_STATE' value '212'
'power_supply_property::POWER_SUPPLY_PROP_PTMC_ID' value '214'
'power_supply_property::POWER_SUPPLY_PROP_BATTERY_TYPE' value '216'
'power_supply_property::POWER_SUPPLY_PROP_CYCLE_COUNTS' value '217'
3 enumerator changes:
'power_supply_property::POWER_SUPPLY_PROP_MODEL_NAME' from value '64' to '213' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_MANUFACTURER' from value '65' to '215' at power_supply.h:170:1
'power_supply_property::POWER_SUPPLY_PROP_SERIAL_NUMBER' from value '66' to '218' at power_supply.h:170:1
7 impacted interfaces:
function power_supply* devm_power_supply_register(device*, const power_supply_desc*, const power_supply_config*)
function void power_supply_changed(power_supply*)
function power_supply* power_supply_get_by_name(const char*)
function void* power_supply_get_drvdata(power_supply*)
function int power_supply_get_property(power_supply*, power_supply_property, power_supply_propval*)
function void power_supply_put(power_supply*)
function int power_supply_set_property(power_supply*, power_supply_property, const power_supply_propval*)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: I1deb4923b541cc654c0a3893ea16afb291c3f575
Remove "Wipower" PSY type as it is not used by any driver.
Change-Id: Ib198b38a22c275ff1c390f1e5eac12a4e914b66b
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
(cherry picked from commit 5573bd8e6fb4b03d105f32dc0a5dee3b8b8f60f9)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
PM8150B is able to detect Debug Accessory Modes and Non-Compliant cables
with CC pulled-up with the same Rp values. Define them in power_supply
framework for other drivers who need this information.
Bug: 139264914
Change-Id: I43c3e3ed64c9de73c70dde4663c4e89d9d241996
Signed-off-by: Kyle Tso <kyletso@google.com>
(cherry picked from commit 22dc877f78abd2f375e3d93003b966014b8f05b8)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Add power_supply properties to report and the connection topology
of parallel charger(input and output).
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
(cherry picked from commit ad45db3e1f38bc72949d57d4926e7d5ef7c58e56)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: Id4e9e3c23d83e58906e0cb3dd208b57089eed81a
Add "POWER_SUPPLY_PROP_IRQ_STATUS" property, this can be used
by drivers to report interrupt status.
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
(cherry picked from commit 74b1cb85b8eb3fd14b21d5625dc7a39a50e9377a)
Signed-off-by: Mark Salyzyn <salyyzn@google.com>
Bug: 150789066
Change-Id: I846f98647844754b71de8b1ecd90abe0c2058709
POWER_SUPPLY_PROP_CHARGE_CHARGER_STATE and charge_charger_state
property are used from charging code to trigger the calculation
of charging current and charging voltage
Signed-off-by: AleX Pelosi <apelosi@google.com>
Signed-off-by: Jack Wu <wjack@google.com>
Bug: 139264914
Test: recompile
(cherry picked from commit 67fd59eccfe2db28d9167d5aeef8f6dd001f3cb1)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: I5df44a650b10a078cd79842fff32e2ab92c0195d
This property exposes the step size (in uV) to be used while
incrementing or decrementing voltage of a PSY.
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
(cherry picked from commit 4cde627bd0b8a987bf4104ce07a33ee87c390a44)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: Ic70e933daf6b6f3bafc0f0fe77064c8395e611d1
This parameter is used to signify that the Automatic Input Current Limit
(AICL) setting process for a PSY has finished executing.
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
(cherry picked from commit e24a3925ac7b50afd247d657b1e924ae84bba9a6)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 150789066
Change-Id: I5609aaf64bf75ce446ce9a5f83ec1c2baadf81f3