linux-stable/drivers
Tony Lindgren 8bdd87933e mfd: twl6040: Fix device init errors for ACCCTL register
[ Upstream commit 48171d0ea7 ]

I noticed that we can get a -EREMOTEIO errors on at least omap4 duovero:

twl6040 0-004b: Failed to write 2d = 19: -121

And then any following register access will produce errors.

There 2d offset above is register ACCCTL that gets written on twl6040
powerup. With error checking added to the related regcache_sync() call,
the -EREMOTEIO error is reproducable on twl6040 powerup at least
duovero.

To fix the error, we need to wait until twl6040 is accessible after the
powerup. Based on tests on omap4 duovero, we need to wait over 8ms after
powerup before register write will complete without failures. Let's also
make sure we warn about possible errors too.

Note that we have twl6040_patch[] reg_sequence with the ACCCTL register
configuration and regcache_sync() will write the new value to ACCCTL.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-06-15 11:54:52 +02:00
..
accessibility
acpi pstore: Convert buf_lock to semaphore 2019-06-11 12:21:48 +02:00
amba
android binder: fix race between munmap() and direct reclaim 2019-06-09 09:18:20 +02:00
ata libata: fix using DMA buffers on stack 2019-05-04 09:15:22 +02:00
atm
auxdisplay auxdisplay: hd44780: Fix memory leak on ->remove() 2019-04-20 09:15:00 +02:00
base PM / core: Propagate dev->power.wakeup_path when no callbacks 2019-05-31 06:47:28 -07:00
bcma
block virtio-blk: limit number of hw queues by nr_cpu_ids 2019-05-10 17:53:12 +02:00
bluetooth Bluetooth: btusb: request wake pin with NOAUTOEN 2019-05-08 07:20:51 +02:00
bus
cdrom cdrom: Fix race condition in cdrom_sysctl_register 2019-04-05 22:31:35 +02:00
char hwrng: omap - Set default quality 2019-05-31 06:47:34 -07:00
clk clk: rockchip: Make rkpwm a critical clock on rk3288 2019-05-31 06:47:28 -07:00
clocksource clocksource/drivers/oxnas: Fix OX820 compatible 2019-05-16 19:42:21 +02:00
connector
cpufreq cpufreq: kirkwood: fix possible object reference leak 2019-05-31 06:47:29 -07:00
cpuidle
crypto crypto: vmx - ghash: do nosimd fallback manually 2019-06-09 09:18:12 +02:00
dax
dca
devfreq
dio
dma dmaengine: tegra210-adma: use devm_clk_*() helpers 2019-05-31 06:47:33 -07:00
dma-buf
edac x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:18:42 +02:00
eisa
extcon extcon: arizona: Disable mic detect if running when driver is removed 2019-05-31 06:47:28 -07:00
firewire
firmware pstore: Convert buf_lock to semaphore 2019-06-11 12:21:48 +02:00
fmc
fpga
fsi
gpio gpio: of: Fix of_gpiochip_add() error path 2019-05-04 09:15:22 +02:00
gpu drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration 2019-06-15 11:54:52 +02:00
hid HID: logitech-hidpp: change low battery level threshold from 31 to 30 percent 2019-05-31 06:47:31 -07:00
hsi
hv Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() 2019-05-10 17:53:08 +02:00
hwmon hwmon: (f71805f) Use request_muxed_region for Super-IO accesses 2019-05-31 06:47:27 -07:00
hwspinlock
hwtracing intel_th: msu: Fix single mode with IOMMU 2019-05-25 18:25:19 +02:00
i2c i2c: xiic: Add max_read_len quirk 2019-06-11 12:21:48 +02:00
ide
idle x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:18:42 +02:00
iio iio: common: ssp_sensors: Initialize calculated_time in ssp_common_process_data 2019-05-31 06:47:29 -07:00
infiniband RDMA/hns: Fix bad endianess of port_pd variable 2019-05-31 06:47:31 -07:00
input Input: elan_i2c - add hardware ID for multiple Lenovo laptops 2019-05-16 19:42:30 +02:00
iommu iommu/tegra-smmu: Fix invalid ASID bits on Tegra30/114 2019-05-25 18:25:22 +02:00
ipack
irqchip Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment" 2019-06-11 12:21:49 +02:00
isdn mISDN: Check address length before reading address family 2019-05-16 19:42:21 +02:00
leds leds: pwm: silently error out on EPROBE_DEFER 2019-05-16 19:42:29 +02:00
lightnvm
macintosh
mailbox
mcb
md bcache: avoid clang -Wunintialized warning 2019-05-31 06:47:23 -07:00
media media: uvcvideo: Fix uvc_alloc_entity() allocation alignment 2019-06-09 09:18:21 +02:00
memory memory: tegra: Fix integer overflow on tick value calculation 2019-05-25 18:25:25 +02:00
memstick
message
mfd mfd: twl6040: Fix device init errors for ACCCTL register 2019-06-15 11:54:52 +02:00
misc genwqe: Prevent an integer overflow in the ioctl 2019-06-11 12:21:49 +02:00
mmc mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support 2019-05-31 06:47:28 -07:00
mtd mtd: spi-nor: intel-spi: Avoid crossing 4K address boundary on read/write 2019-05-21 18:50:17 +02:00
mux
net qmi_wwan: Add quirk for Quectel dynamic config 2019-06-11 12:21:50 +02:00
nfc spi: ST ST95HF NFC: declare missing of table 2019-05-16 19:42:24 +02:00
ntb
nubus
nvdimm libnvdimm/namespace: Fix label tracking error 2019-05-31 06:47:11 -07:00
nvme nvme-loop: init nvmet_ctrl fatal_err_work when allocate 2019-05-08 07:20:47 +02:00
nvmem
of
oprofile
parisc parisc: Use implicit space register selection for loading the coherence index of I/O pdirs 2019-06-11 12:21:47 +02:00
parport
pci PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum 2019-05-25 18:25:32 +02:00
pcmcia
perf
phy phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode 2019-05-31 06:47:26 -07:00
pinctrl pinctrl: samsung: fix leaked of_node references 2019-05-31 06:47:24 -07:00
platform platform/x86: thinkpad_acpi: Disable Bluetooth for some machines 2019-05-16 19:42:19 +02:00
pnp
power power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG 2019-05-25 18:25:35 +02:00
powercap x86/cpu: Sanitize FAM6_ATOM naming 2019-05-14 19:18:42 +02:00
pps
ps3
ptp
pwm
rapidio rapidio: fix a NULL pointer dereference when create_workqueue() fails 2019-06-15 11:54:50 +02:00
ras
regulator regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting 2019-04-05 22:31:39 +02:00
remoteproc
reset
rpmsg
rtc rtc: xgene: fix possible race condition 2019-05-31 06:47:30 -07:00
s390 scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs) 2019-06-09 09:18:15 +02:00
sbus
scsi scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices 2019-05-31 06:47:34 -07:00
sfi
sh
sn
soc soc/tegra: pmc: Drop locking from tegra_powergate_is_powered() 2019-04-20 09:15:06 +02:00
spi spi: Fix zero length xfer bug 2019-05-31 06:47:35 -07:00
spmi
ssb ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit 2019-05-31 06:47:13 -07:00
staging staging: wlan-ng: fix adapter initialization failure 2019-06-09 09:18:18 +02:00
target
tc
tee
thermal drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER 2019-06-15 11:54:52 +02:00
thunderbolt thunderbolt: Fix to check for kmemdup failure 2019-05-31 06:47:34 -07:00
tty TTY: serial_core, add ->install 2019-06-11 12:21:50 +02:00
uio
usb USB: rio500: fix memory leak in close after disconnect 2019-06-09 09:18:14 +02:00
uwb
vfio vfio/pci: use correct format characters 2019-05-08 07:20:49 +02:00
vhost vhost: reject zero size iova range 2019-04-27 09:35:34 +02:00
video fbdev: fix WARNING in __alloc_pages_nodemask bug 2019-05-31 06:47:13 -07:00
virt drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl 2019-05-16 19:42:35 +02:00
virtio virtio_pci: fix a NULL pointer reference in vp_del_vqs 2019-05-10 17:53:11 +02:00
vlynq
vme
w1 w1: fix the resume command API 2019-05-31 06:47:21 -07:00
watchdog
xen fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock 2019-06-11 12:21:51 +02:00
zorro
Kconfig
Makefile