android_kernel_oneplus_msm8998/drivers/mfd
Arnd Bergmann 35d67a0c5a mfd: arizona: Fix undefined behavior
[ Upstream commit 5da6cbcd2f395981aa9bfc571ace99f1c786c985 ]

When the driver is used with a subdevice that is disabled in the
kernel configuration, clang gets a little confused about the
control flow and fails to notice that n_subdevs is only
uninitialized when subdevs is NULL, and we check for that,
leading to a false-positive warning:

drivers/mfd/arizona-core.c:1423:19: error: variable 'n_subdevs' is uninitialized when used here
      [-Werror,-Wuninitialized]
                              subdevs, n_subdevs, NULL, 0, NULL);
                                       ^~~~~~~~~
drivers/mfd/arizona-core.c:999:15: note: initialize the variable 'n_subdevs' to silence this warning
        int n_subdevs, ret, i;
                     ^
                      = 0

Ideally, we would rearrange the code to avoid all those early
initializations and have an explicit exit in each disabled case,
but it's much easier to chicken out and add one more initialization
here to shut up the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-08-04 09:34:58 +02:00
..
88pm80x.c mfd: 88pm80x: Add 88pm860 chip type support 2015-10-26 14:48:56 +00:00
88pm800.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm805.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
88pm860x-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
88pm860x-i2c.c
aat2870-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ab3100-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ab3100-otp.c
ab8500-core.c mfd: ab8500-core: Return zero in get_register_interruptible() 2019-03-23 08:44:15 +01:00
ab8500-debugfs.c mfd: ab8500-debugfs: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:27 +01:00
ab8500-gpadc.c mfd: ab8500-gpadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:28 +01:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: Handle probe deferral 2017-11-08 10:06:29 +01:00
abx500-core.c
adp5520.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
arizona-core.c mfd: arizona: Fix undefined behavior 2019-08-04 09:34:58 +02:00
arizona-i2c.c mfd: arizona: Use correct type ID for device tree config 2015-10-30 17:20:30 +00:00
arizona-irq.c mfd: arizona: Fix typo in arizona_irq_map 2015-10-26 14:49:05 +00:00
arizona-spi.c - New Device Support 2015-11-06 10:23:50 -08:00
arizona.h mfd: arizona: Add support for WM8998 and WM1814 2015-08-11 15:08:42 +01:00
as3711.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
as3722.c mfd: as3722: Mark PM functions as __maybe_unused 2019-02-23 09:05:14 +01:00
asic3.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
atmel-flexcom.c mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit 2015-10-30 17:19:49 +00:00
atmel-hlcdc.c mfd: atmel-hlcdc: Do not sleep in atomic context 2016-10-16 17:36:14 +02:00
axp20x.c mfd: axp20x: Fix axp288 PEK_DBR and PEK_DBF irqs being swapped 2017-11-08 10:06:29 +01:00
bcm590xx.c mfd: bcm590xx: Remove unnecessary MODULE_ALIAS() 2015-10-26 14:49:09 +00:00
cros_ec.c mfd: cros_ec: Fail early if we cannot identify the EC 2018-08-06 16:24:32 +02:00
cros_ec_i2c.c mfd: cros_ec_i2c: Add OF match table 2015-10-26 14:48:55 +00:00
cros_ec_spi.c mfd: cros ec: spi: Don't send first message too soon 2018-01-02 20:33:20 +01:00
cs5535-mfd.c
da903x.c mfd: da903x: Simplify function return logic 2015-10-30 17:19:45 +00:00
da9052-core.c mfd: da9053: Addition of extra registers for GPIOs 8-13 2015-10-30 17:19:49 +00:00
da9052-i2c.c mfd: da9052: Simplify function return logic 2015-10-30 17:19:46 +00:00
da9052-irq.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9052-spi.c - New Device Support 2015-11-06 10:23:50 -08:00
da9055-core.c mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
da9055-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
da9062-core.c mfd: da9062-core: Rename get_device_type to da9062_get_device_type 2015-10-30 17:19:51 +00:00
da9063-core.c mfd: da9063: Add support for OnKey driver 2015-06-22 12:25:20 +01:00
da9063-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
da9063-irq.c mfd: da9063: Fix missing DA9063_M_DVC_RDY mask bit 2015-08-11 15:08:51 +01:00
da9150-core.c mfd: da9150: Use DEFINE_RES_IRQ_NAMED() help macro for IRQ resource 2015-10-13 11:28:36 +01:00
davinci_voicecodec.c
db8500-prcmu.c mfd: db8500-prcmu: Fix some section annotations 2019-03-23 08:44:15 +01:00
dbx500-prcmu-regs.h
dln2.c
dm355evm_msp.c
ezx-pcap.c Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
hi6421-pmic-core.c mfd: hi6421-pmic: Fix module autoload for OF platform driver 2015-10-26 14:49:00 +00:00
htc-egpio.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
htc-i2cpld.c mfd: htc-i2cpld: Remove unneded ret variable 2015-10-30 17:19:41 +00:00
htc-pasic3.c
intel-lpss-acpi.c mfd: lpss: Add Broxton ACPI IDs 2015-10-30 18:57:33 +00:00
intel-lpss-pci.c mfd: lpss: Add Intel Broxton PCI IDs 2015-10-30 18:57:34 +00:00
intel-lpss.c mfd: intel-lpss: Set the device in reset state when init 2019-06-22 08:18:19 +02:00
intel-lpss.h mfd: intel-lpss: Fix build error when !CONFIG_PM_SLEEP 2015-10-01 16:31:33 +01:00
intel_msic.c
intel_quark_i2c_gpio.c mfd: intel_quark_i2c_gpio: support devices behind i2c bus 2015-10-26 15:25:55 +01:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: 64 bit bug in bxtwc_val_store() 2015-10-30 17:19:47 +00:00
intel_soc_pmic_core.c mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup table correctly 2016-06-07 18:14:34 -07:00
intel_soc_pmic_core.h mfd: Constify regmap and irq configuration data 2015-06-22 12:25:01 +01:00
intel_soc_pmic_crc.c mfd: intel_soc_pmic_crc: Add PWM cell device for Crystalcove PMIC 2015-07-21 09:22:08 +02:00
ipaq-micro.c mfd: ipaq-micro: Convert to built-in platform driver 2015-08-11 15:09:00 +01:00
janz-cmodio.c
jz4740-adc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
Kconfig mfd: wm8350-i2c: Make sure the i2c regmap functions are compiled 2016-10-16 17:36:14 +02:00
kempld-core.c mfd: kempld-core: Simplify function return logic 2015-10-30 17:19:43 +00:00
lm3533-core.c mfd: lm3533: Fix unused variable build warning 2015-10-30 17:19:52 +00:00
lm3533-ctrlbank.c
lp3943.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
lp8788-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
lp8788.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
lpc_ich.c mfd: lpc_ich: Separate device cells for clarity 2015-10-30 17:18:50 +00:00
lpc_sch.c
Makefile mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit 2015-10-30 17:19:49 +00:00
max8907.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max8925-core.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
max8925-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max8997-irq.c mfd: max899x: Avoid redundant irq_data lookup 2015-08-11 15:09:08 +01:00
max8997.c mfd: max8997: Fix module autoload for OF platform driver 2015-10-26 14:49:01 +00:00
max8998-irq.c mfd: max899x: Avoid redundant irq_data lookup 2015-08-11 15:09:08 +01:00
max8998.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max14577.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max77686.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
max77693.c - New Device Support 2015-09-04 11:35:03 -07:00
max77843.c mfd: max77843: Fix max77843_chg_init() return on error 2015-10-01 16:31:42 +01:00
mc13xxx-core.c mfd: mc13xxx: Fix a missing check of a register-read failure 2019-03-23 08:44:16 +01:00
mc13xxx-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
mc13xxx-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c mfd: core: Set fwnode for created devices 2019-08-04 09:34:57 +02:00
mt6397-core.c mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event 2015-08-11 15:09:11 +01:00
omap-usb-host.c mfd: omap-usb-host: Fix dts probe of children 2018-10-20 09:52:33 +02:00
omap-usb-tll.c mfd: omap-usb-tll: Fix register offsets 2019-07-10 09:56:41 +02:00
omap-usb.h
palmas.c mfd: palmas: Reset the POWERHOLD mux during power off 2018-03-24 10:58:44 +01:00
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c mfd: pcf50633: Remove unneded ret variable 2015-10-30 17:19:42 +00:00
pm8921-core.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
qcom-spmi-pmic.c
qcom_rpm.c mfd: qcom_rpm: write fw_version to CTRL_REG 2019-03-23 08:44:15 +01:00
rc5t583-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
rc5t583.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
rdc321x-southbridge.c
retu-mfd.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
rk808.c
rn5t618.c
rt5033.c mfd: rt5033: Add RT5033 Flash led sub device 2015-10-30 18:57:35 +00:00
rtl8411.c
rts5209.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5227.c mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rts5229.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rts5249.c mfd: rtsx: Simplify function return logic 2015-10-30 17:19:44 +00:00
rtsx_pcr.c mfd: avoid newly introduced compiler warning 2015-11-06 10:47:12 -08:00
rtsx_pcr.h mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rtsx_usb.c mfd: rtsx_usb: Avoid setting ucr->current_sg.status 2016-10-16 17:36:14 +02:00
sec-core.c mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children 2015-10-30 18:57:38 +00:00
sec-irq.c
si476x-cmd.c
si476x-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
si476x-prop.c
sky81452.c
sm501.c mfd: sm501: Set coherent_dma_mask when creating subdevices 2018-09-15 09:40:38 +02:00
smsc-ece1099.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
ssbi.c
sta2x11-mfd.c
stmpe-i2c.c - New Device Support 2015-09-04 11:35:03 -07:00
stmpe-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
stmpe.c mfd: stmpe: PWM on 24xx has altfunc 1 2015-10-26 14:48:57 +00:00
stmpe.h
stw481x.c mfd: stw481x: Export I2C module alias information 2015-08-11 15:09:09 +01:00
sun6i-prcm.c
syscon.c
t7l66xb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
tc3589x.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tc6387xb.c
tc6393xb.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering mfd cells 2019-03-23 08:44:15 +01:00
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c mfd: tps6105x: Fix possible NULL pointer access 2015-10-30 17:19:40 +00:00
tps6507x.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps6586x.c mfd: tps6586x: Handle interrupts on suspend 2019-01-26 09:42:50 +01:00
tps65010.c
tps65090.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65217.c mfd: tps65217: Add battery charger as subdevice 2015-10-26 14:49:08 +00:00
tps65218.c mfd: Export OF module alias information in missing drivers 2015-08-11 15:09:10 +01:00
tps65910.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
tps65912-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
tps65912-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
tps80031.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
twl-core.c mfd: twl-core: Fix section annotations on {,un}protect_pm_master 2019-03-23 08:44:15 +01:00
twl-core.h
twl4030-audio.c mfd: twl4030-audio: Fix sibling-node lookup 2018-01-02 20:33:20 +01:00
twl4030-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
twl4030-power.c mfd: twl4030-power: Fix pmic for boards that need AC charger disabled 2015-06-22 12:25:04 +01:00
twl6030-irq.c mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc 2015-08-11 15:09:06 +01:00
twl6040.c mfd: twl6040: Fix device init errors for ACCCTL register 2019-06-22 08:18:19 +02:00
ucb1x00-assabet.c
ucb1x00-core.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c
viperboard.c
vx855.c
wl1273-core.c
wm831x-auxadc.c mfd: wm831x-auxadc: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:25 +01:00
wm831x-core.c mfd: wm831x: Fix possible NULL pointer dereference 2015-10-26 14:49:04 +00:00
wm831x-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm831x-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
wm831x-otp.c
wm831x-spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
wm5102-tables.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm5110-tables.c mfd: wm5110: Add missing ASRC rate register 2019-03-23 08:44:16 +01:00
wm8350-core.c mfd: wm8350-core: Pass the IRQF_ONESHOT flag 2015-06-22 12:25:26 +01:00
wm8350-gpio.c
wm8350-i2c.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm8350-irq.c mfd: Kill off set_irq_flags usage 2015-08-11 15:09:01 +01:00
wm8350-regmap.c
wm8400-core.c mfd: Drop owner assignment from i2c_drivers 2015-08-11 15:08:48 +01:00
wm8994-core.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8994-irq.c mfd: wm8994: Fix NULL pointer exception on missing pdata 2015-08-11 15:09:13 +01:00
wm8994-regmap.c mfd: wm8994-regmap: Constify reg_default tables 2015-08-11 15:08:47 +01:00
wm8994.h
wm8997-tables.c sound updates for 4.3-rc1 2015-09-04 11:46:02 -07:00
wm8998-tables.c mfd: wm8998: Fixup register defaults/readables 2015-10-26 14:49:07 +00:00