- 28 Feb, 2024 2 commits
-
-
Ricardo B. Marliere authored
When building with CONFIG_SYSFS=n, the build error below is triggered: ld: drivers/power/supply/power_supply_core.o:(.data+0x0): undefined reference to `power_supply_attr_group' The problem is that power_supply_attr_group is needed in power_supply_core.c but defined in power_supply_sysfs.c, which is only targeted with CONFIG_SYSFS=y. Therefore, move the extern declaration into the #ifdef block that checks for CONFIG_SYSFS, and define an empty static const struct otherwise. This is safe because the macro __ATRIBUTE_GROUPS in power_supply_core.c will expand into an empty attribute_group array. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reported-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/all/20240227214916.GA3699076@dev-arch.thelio-3990X/ Fixes: 7b46b609 ("power: supply: core: constify the struct device_type usage") Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net> Tested-by: Nathan Chancellor <nathan@kernel.org> # build Link: https://lore.kernel.org/r/20240228-device_cleanup-power-v1-1-52c0321c48e1@marliere.netSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Nathan Chancellor authored
When building without CONFIG_SYSFS, there is an error because of a recent refactoring that failed to update the stub of power_supply_init_attrs(): drivers/power/supply/power_supply_core.c: In function 'power_supply_class_init': drivers/power/supply/power_supply_core.c:1630:9: error: too few arguments to function 'power_supply_init_attrs' 1630 | power_supply_init_attrs(); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/power/supply/power_supply_core.c:25: drivers/power/supply/power_supply.h:25:20: note: declared here 25 | static inline void power_supply_init_attrs(struct device_type *dev_type) {} | ^~~~~~~~~~~~~~~~~~~~~~~ Update the stub function to take no parameters like the rest of the refactoring, which resolves the build error. Fixes: 7b46b609 ("power: supply: core: constify the struct device_type usage") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Ricardo B. Marliere <ricardo@marliere.net> Link: https://lore.kernel.org/r/20240227-fix-power_supply_init_attrs-stub-v1-1-43365e68d4b3@kernel.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 27 Feb, 2024 1 commit
-
-
Sicelo A. Mhlongo authored
When reporting the charging status, the existing code reports the battery as full only when the reported current flowing is exactly 0mA, which is unlikely in practice. Fix the reporting by giving priority to the battery's full state indication/flag. Tested on the Nokia N900 with bq27200 fuel gauge. Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com> Link: https://lore.kernel.org/r/20240226193722.2173624-1-absicsz@gmail.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 26 Feb, 2024 1 commit
-
-
Geert Uytterhoeven authored
The static global variable sysc_base2 is no longer used outside the probe method and the reset handler, so it can be converted to a local variable, and passed to the reset handler via its callback data. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/35f04935c48ae55dc562071e0a1d6fca65234a58.1708944642.git.geert+renesas@glider.beSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 25 Feb, 2024 1 commit
-
-
Ricardo B. Marliere authored
Since commit aed65af1 ("drivers: make device_type const"), the driver core can properly handle constant struct device_type. Move the power_supply_dev_type variable to be a constant structure as well, placing it into read-only memory which can not be modified at runtime. In order to accomplish that, export power_supply_attr_group in power_supply.h and use it with the macro __ATTRIBUTE_GROUPS when defining power_supply_dev_type in power_supply_core.c. Therefore the attribute group is no longer static. Lastly, because power_supply_attr_groups is no longer dynamically associated to power_supply_dev_type in power_supply_init_attrs(), make the function receive zero arguments. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Ricardo B. Marliere <ricardo@marliere.net> Link: https://lore.kernel.org/r/20240224-device_cleanup-power-v2-1-465ff94b896c@marliere.netSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 21 Feb, 2024 3 commits
-
-
Guoyi Zhang authored
The ROCK Pi X is a single board computer without batteries using the AXP288 PMIC where the EFI code does not disable the charger part of the PMIC causing us to report a discharging battery with a continuously consumed battery charge to userspace. Add it to the deny-list to avoid the bogus battery status reporting. Signed-off-by: Guoyi Zhang <kuoi@bioarchlinux.org> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20240221083425.440108-1-kuoi@bioarchlinux.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Geert Uytterhoeven authored
The registers related to reset generation are located in the second register block. However, the conversion to device life-cycle managed ioremap function accidentally changed the mapping to the first register block. Fixes: 0867276e ("power: reset: rmobile-reset: Use devm_platform_ioremap_resource() helper") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/3b267fb1b303f63248934a1a77bee319e1c44879.1708458882.git.geert+renesas@glider.beSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Dan Carpenter authored
The devm_platform_ioremap_resource() function returns error points. It never returns NULL. Update the check accordingly. Fixes: 7ddfd33c ("power: reset: xgene-reboot: Use devm_platform_ioremap_resource() helper") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Acked-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/fe1b90d0-7234-4e03-accc-69a119f6a7eb@moroto.mountainSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 16 Feb, 2024 1 commit
-
-
Hans de Goede authored
Besides the existing STK1A* Cherry Trail based Intel Compute Sticks already on the deny-list, Intel also made Bay Trail based Compute Sticks which have a product name of STCK1A* and wich also report a non existing battery with a random battery charge. Instead of adding 3 new deny-list entries for the 3 variants of the STCK1A* sticks consolidate the 2 Cherry Trail STK1AW32SC and STK1A32SC variants into a single entry with a partial match for STK1A* and add a single new STCK1A* match for the Bay Trail variants. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20240212090014.13719-1-hdegoede@redhat.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 13 Feb, 2024 19 commits
-
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. This also makes our data struct per-device and not global, which allows for more than one instance of this device. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20240212162831.67838-20-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Currently all these device data elements are top level global variables. Move these into a struct. This will be used in the next patch when the global variable usage is removed. Doing this in two steps makes the patches easier to read. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20240212162831.67838-19-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-18-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-17-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-16-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-15-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-14-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use this helper to register sys_off handler. Drivers should move away from setting pm_power_off directly as it only allows for one handler. The new way allows for trying multiple if the first one doesn't work. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-13-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20240212162831.67838-12-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-11-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed ioremap function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-10-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-9-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://lore.kernel.org/r/20240212162831.67838-8-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
We only need one member of the struct tps65086_restart, pass that tps65086_restart_notify() directly. Remove that struct and its allocation. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-7-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-6-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-5-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed ioremap function to simplify probe and exit paths. While here add __iomem to the returned pointer to fix a sparse warning. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240212162831.67838-4-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20240212162831.67838-3-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use device life-cycle managed register function to simplify probe and exit paths. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Link: https://lore.kernel.org/r/20240212162831.67838-2-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 02 Feb, 2024 4 commits
-
-
Aren Moynihan authored
The axp803 and axp813 chips can report the detected USB BC mode. SDP, CDP, and DCP are supported. Signed-off-by: Aren Moynihan <aren@peacevolution.org> Link: https://lore.kernel.org/r/20240130203714.3020464-5-aren@peacevolution.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Aren Moynihan authored
When input_current_limit is set while USB BC is in progress, the BC module will overwrite the value that was set when it finishes detection. Signed-off-by: Aren Moynihan <aren@peacevolution.org> Link: https://lore.kernel.org/r/20240130203714.3020464-4-aren@peacevolution.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Aren Moynihan authored
On the axp803 and axp813 chips register 0x30 bits 0-1 is the default current limit that gets applied after the pmic detects a CDP or DCP port. The correct field to set is 0x35 bits 4-7. This field only has nine values (out of the 16 possible if it used all the bits), so introduce a field size variable to take that into account. Signed-off-by: Aren Moynihan <aren@peacevolution.org> Link: https://lore.kernel.org/r/20240130203714.3020464-3-aren@peacevolution.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Aren Moynihan authored
The current_max property is supposed to be read-only, and represent the maximum current the supply can provide. input_current_limit is the limit that is currently set, which is what we have here. When determining what value to write to the register, we need to pick a reasonable value if the requested limit doesn't exactly match one supported by the hardware. If the requested limit is less than the lowest value we can set, round up to the lowest value. Otherwise round down to the nearest value supported by hardware. Also add a dev field to the axp20x_usb_power struct, so we can use dev_dbg and dev_err in more places. Signed-off-by: Aren Moynihan <aren@peacevolution.org> Link: https://lore.kernel.org/r/20240130203714.3020464-2-aren@peacevolution.orgSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 01 Feb, 2024 4 commits
-
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240129190246.73067-5-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240129190246.73067-4-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240129190246.73067-3-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240129190246.73067-2-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
- 27 Jan, 2024 4 commits
-
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240123163653.384385-22-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed get function. This helps prevent mistakes like releasing out of order in cleanup functions and forgetting to release on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240123163653.384385-21-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240123163653.384385-20-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-
Andrew Davis authored
Use the device lifecycle managed get function. This helps prevent mistakes like releasing out of order in cleanup functions and forgetting to release on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240123163653.384385-19-afd@ti.comSigned-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-