linux-stable/drivers/power/supply
Nathan Chancellor 17d49b7e47 power: supply: bq24190_charger: Fix "initializer element is not constant" error
When building with a version of GCC prior to 8.x, there is an error
around non-constant initializer elements:

  drivers/power/supply/bq24190_charger.c:1978:16: error: initializer element is not constant
     .vbus_desc = bq24190_vbus_desc,
                  ^~~~~~~~~~~~~~~~~
  drivers/power/supply/bq24190_charger.c:1978:16: note: (near initialization for 'bq24190_chip_info_tbl[0].vbus_desc')
  drivers/power/supply/bq24190_charger.c:1989:16: error: initializer element is not constant
     .vbus_desc = bq24190_vbus_desc,
                  ^~~~~~~~~~~~~~~~~
  drivers/power/supply/bq24190_charger.c:1989:16: note: (near initialization for 'bq24190_chip_info_tbl[1].vbus_desc')
  drivers/power/supply/bq24190_charger.c:2000:16: error: initializer element is not constant
     .vbus_desc = bq24190_vbus_desc,
                  ^~~~~~~~~~~~~~~~~
  drivers/power/supply/bq24190_charger.c:2000:16: note: (near initialization for 'bq24190_chip_info_tbl[2].vbus_desc')
  drivers/power/supply/bq24190_charger.c:2011:16: error: initializer element is not constant
     .vbus_desc = bq24190_vbus_desc,
                  ^~~~~~~~~~~~~~~~~
  drivers/power/supply/bq24190_charger.c:2011:16: note: (near initialization for 'bq24190_chip_info_tbl[3].vbus_desc')
  drivers/power/supply/bq24190_charger.c:2022:16: error: initializer element is not constant
     .vbus_desc = bq24296_vbus_desc,
                  ^~~~~~~~~~~~~~~~~
  drivers/power/supply/bq24190_charger.c:2022:16: note: (near initialization for 'bq24190_chip_info_tbl[4].vbus_desc')

Clang versions prior to 17.x show a similar error:

  drivers/power/supply/bq24190_charger.c:1978:16: error: initializer element is not a compile-time constant
                  .vbus_desc = bq24190_vbus_desc,
                               ^~~~~~~~~~~~~~~~~
  1 error generated.

Newer compilers have decided to accept these structures as compile time
constants as an extension. To resolve this issue for all supported
compilers, change the vbus_desc member in 'struct bq24190_chip_info' to
a pointer, as it is only ever passed by reference anyways, and adjust
the assignments accordingly.

Closes: https://github.com/ClangBuiltLinux/linux/issues/1973
Fixes: b150a703b5 ("power: supply: bq24190_charger: Add support for BQ24296")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240103-fix-bq24190_charger-vbus_desc-non-const-v1-1-115ddf798c70@kernel.org
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2024-01-19 01:03:17 +01:00
..
88pm860x_battery.c power: supply: 88pm860x_battery: fix the return value handle for platform_get_irq() 2023-09-12 20:44:52 +02:00
88pm860x_charger.c power: supply: 88pm860x: simplify using devm 2022-11-17 23:47:23 +01:00
ab8500-bm.h
ab8500-chargalg.h power: supply: ab8500: Drop external charger leftovers 2022-07-17 00:51:35 +02:00
ab8500_bmdata.c
ab8500_btemp.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
ab8500_chargalg.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
ab8500_charger.c power: supply: ab8500_charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
ab8500_fg.c power: supply: ab8500_fg: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
acer_a500_battery.c power: supply: acer_a500_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
act8945a_charger.c power: supply: act8945a_charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
adp5061.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
apm_power.c
axp20x_ac_power.c power: supply: axp20x_ac_power: Annotate struct axp20x_ac_power with __counted_by 2023-09-22 22:54:36 +02:00
axp20x_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
axp20x_usb_power.c power: supply: axp20x_usb_power: Annotate struct axp20x_usb_power with __counted_by 2023-09-22 22:54:52 +02:00
axp288_charger.c power: supply: axp288_charger: Use alt usb-id extcon on some x86 android tablets 2023-04-01 23:01:42 +02:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Fix external_power_changed race 2023-05-08 15:04:53 +02:00
bd99954-charger.c power: supply: bd99954: make read-only array sub_status_reg 2023-07-19 23:12:36 +02:00
bd99954-charger.h
bq27xxx_battery.c power: supply: bq27xxx: Stop and start delayed work in suspend and resume 2023-11-15 23:13:26 +01:00
bq27xxx_battery_hdq.c
bq27xxx_battery_i2c.c power: supply: bq27xxx: Stop and start delayed work in suspend and resume 2023-11-15 23:13:26 +01:00
bq256xx_charger.c power: supply: bq256xx: fix some problem in bq256xx_hw_init 2023-11-16 20:23:41 +01:00
bq2415x_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
bq2515x_charger.c power: supply: bq2515x: replace deprecated strncpy with strscpy 2023-10-21 00:26:51 +02:00
bq24190_charger.c power: supply: bq24190_charger: Fix "initializer element is not constant" error 2024-01-19 01:03:17 +01:00
bq24257_charger.c power: supply: bq24257_charger: Cleanup OF/ID table terminators 2023-09-12 23:50:05 +02:00
bq24735-charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
bq25890_charger.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
bq25980_charger.c power: supply: bq25980: replace deprecated strncpy with strscpy 2023-10-21 00:29:30 +02:00
bq25980_charger.h
charger-manager.c power: supply: charger-manager: replace deprecated strncpy with strscpy 2023-10-21 00:32:31 +02:00
collie_battery.c power: supply: collie_battery: Convert to GPIO descriptors (part 2) 2023-02-03 13:28:59 +01:00
cpcap-battery.c power: supply: cpcap-battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
cpcap-charger.c power: supply: cpcap: Drop non-DT driver matching 2023-10-13 02:38:35 +02:00
cros_peripheral_charger.c power: supply: cros_pchg: Sync port status on resume 2023-05-08 14:31:24 +02:00
cros_usbpd-charger.c power: supply: cros_usbpd: reclassify "default case!" as debug 2023-03-10 00:20:43 +01:00
cw2015_battery.c power: supply: cw2015: correct time_to_empty units in sysfs 2023-11-16 01:34:12 +01:00
da9030_battery.c power: supply: da9030_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9052-battery.c power: supply: da9052-battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9150-charger.c power: supply: da9150-charger: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
da9150-fg.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ds2760_battery.c ARM: pxa: remove unused board files 2023-01-20 11:23:44 +01:00
ds2780_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2781_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
ds2782_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
generic-adc-battery.c power: supply: generic-adc-battery: style fixes 2023-03-29 22:38:57 +02:00
goldfish_battery.c power: supply: goldfish_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
gpio-charger.c
ingenic-battery.c
ip5xxx_power.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
ipaq_micro_battery.c power: supply: ipaq_micro_battery: Convert to platform remove callback returning void 2023-09-18 20:08:02 +02:00
isp1704_charger.c power: supply: isp1704_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
Kconfig Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
lego_ev3_battery.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
lp8727_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
lp8788-charger.c power: supply: lp8788-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
lt3651-charger.c
ltc2941-battery-gauge.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
ltc4162-l-charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
Makefile power: supply: Add driver for pm8916 lbc 2023-09-15 21:52:00 +02:00
max1721x_battery.c power: supply: max1721x: Use strscpy() is more robust and safer 2023-02-03 13:58:41 +01:00
max8903_charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max8925_power.c power: supply: max8925_power: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max8997_charger.c
max8998_charger.c
max14577_charger.c power: supply: max14577_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max14656_charger_detector.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
max17040_battery.c power: max17040: get thermal data from adc if available 2023-09-14 16:54:46 +02:00
max17042_battery.c power: supply: max17042_battery: Do not use CONFIG_ prefix in regular C code 2023-09-12 20:54:46 +02:00
max77650-charger.c power: supply: max77650-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max77693_charger.c power: supply: max77693_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
max77976_charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
mm8013.c power: supply: mm8013: Fix an error checking issue in mm8013_checkdevice() 2023-09-30 21:19:16 +02:00
mp2629_charger.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
mt6360_charger.c power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe 2023-05-16 00:46:53 +02:00
mt6370-charger.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
olpc_battery.c power: supply: use sysfs_emit() instead of sprintf() for sysfs show() 2023-01-02 09:13:37 +01:00
pcf50633-charger.c power: supply: pcf50633-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
pm8916_bms_vm.c power: supply: Add pm8916 VM-BMS support 2023-09-15 21:52:00 +02:00
pm8916_lbc.c power: supply: Add driver for pm8916 lbc 2023-09-15 21:52:00 +02:00
pmu_battery.c
power_supply.h driver core: make struct class.dev_uevent() take a const * 2022-11-24 17:12:15 +01:00
power_supply_core.c power: supply: Use multiple MODULE_AUTHOR statements 2023-12-24 22:59:28 +01:00
power_supply_hwmon.c power: supply: hwmon: constify pointers to hwmon_channel_info 2023-05-08 15:33:16 +02:00
power_supply_leds.c - New Drivers 2023-07-03 11:26:05 -07:00
power_supply_sysfs.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
qcom_battmgr.c power: supply: qcom_battmgr: Register the power supplies after PDR is up 2023-12-25 00:02:03 +01:00
qcom_pmi8998_charger.c power: supply: Fix null pointer dereference in smb2_probe 2023-12-24 23:43:28 +01:00
qcom_smbb.c power: supply: qcom_smbb: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
rk817_charger.c Power Supply Fixes for 6.6 cycle 2023-10-21 00:55:43 +02:00
rn5t618_power.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
rt5033_battery.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
rt5033_charger.c power: supply: rt5033_charger: Replace "&pdev->dev" by "charger->dev" in probe 2023-10-04 22:27:34 +02:00
rt9455_charger.c power: Explicitly include correct DT includes 2023-07-19 22:47:03 +02:00
rt9467-charger.c power: supply: rt9467: Fix rt9467_run_aicl() 2023-09-14 18:09:14 +02:00
rt9471.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
rx51_battery.c power: supply: rx51_battery: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
samsung-sdi-battery.c
samsung-sdi-battery.h
sbs-battery.c power: supply: sbs-battery: Make similar OF and ID table 2023-09-12 18:25:35 +02:00
sbs-charger.c power supply and reset changes for the 6.5 series 2023-07-03 17:23:16 -07:00
sbs-manager.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Fix external_power_changed race 2023-05-08 15:06:12 +02:00
sc2731_charger.c power: supply: sc2731_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
smb347-charger.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
surface_battery.c power: supply: surface_battery: replace deprecated strncpy with strscpy 2023-10-21 00:33:02 +02:00
surface_charger.c power: supply: surface-charger: replace deprecated strncpy with strscpy 2023-10-21 00:37:41 +02:00
test_power.c power: supply: test-power: use strscpy() instead of strncpy() 2023-02-03 13:43:48 +01:00
tps65090-charger.c power: supply: tps65090-charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
tps65217_charger.c USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
twl4030_charger.c power: supply: twl4030_charger: Convert to platform remove callback returning void 2023-09-18 20:08:03 +02:00
twl4030_madc_battery.c power: supply: twl4030_madc_battery: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
ucs1002_power.c power: supply: ucs1002: fix error code in ucs1002_get_property() 2023-09-14 17:38:02 +02:00
ug3105_battery.c power: supply: Switch i2c drivers back to use .probe() 2023-06-04 22:33:22 +02:00
wilco-charger.c
wm97xx_battery.c power: supply: wm97xx_battery: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm831x_backup.c power: supply: wm831x_backup: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm831x_power.c power: supply: wm831x_power: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00
wm8350_power.c power: supply: wm8350_power: Convert to platform remove callback returning void 2023-09-18 20:08:04 +02:00