linux/drivers/i2c/busses
Jean Delvare a28e35171c i2c: piix4: Fix SB800 locking
We need a single mutex for all 4 shared SMBus ports on the SB800. A
per-port mutex doesn't protect us from concurrent access.

In theory the mutex should be per PCI device, however in practice we
know that there's only ever a single instance of the device in a given
system so we can use a global.

Also take the mutex during initialization, as first port may be already
in use when second port is initialized.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Tested-by: Christian Fetzer <fetzer.ch@gmail.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
[wsa: made mutex static]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-01-26 06:46:26 +01:00
..
i2c-acorn.c
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-at91.c i2c: at91: add support for the HOLD field 2015-12-03 21:42:37 +01:00
i2c-au1550.c
i2c-axxia.c
i2c-bcm2835.c i2c: bcm2835: add I2C_AQ_NO_CLK_STRETCH 2015-11-30 18:37:26 +01:00
i2c-bcm-iproc.c
i2c-bcm-kona.c
i2c-bfin-twi.c
i2c-brcmstb.c i2c: brcmstb: Adding support for CM and DSL SoCs 2016-01-03 19:50:09 +01:00
i2c-cadence.c i2c: cadence: Remove the suspended flag 2015-11-30 21:08:07 +01:00
i2c-cbus-gpio.c
i2c-cpm.c
i2c-cros-ec-tunnel.c
i2c-davinci.c i2c: davinci: Increase module clock frequency 2015-11-30 15:55:07 +01:00
i2c-designware-baytrail.c x86/platform/iosf_mbi: Remove duplicate definitions 2015-12-09 01:18:34 +01:00
i2c-designware-core.c Merge branch 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-01-14 11:25:37 -08:00
i2c-designware-core.h i2c: designware: fix IO timeout issue for AMD controller 2015-12-12 18:00:16 +01:00
i2c-designware-pcidrv.c i2c: designware: use to_pci_dev() 2016-01-03 19:54:00 +01:00
i2c-designware-platdrv.c Merge branch 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-01-14 11:25:37 -08:00
i2c-digicolor.c
i2c-diolan-u2c.c
i2c-dln2.c
i2c-efm32.c
i2c-eg20t.c i2c: eg20t: set i2c_adapter->dev.of_node 2015-12-03 22:11:46 +01:00
i2c-elektor.c
i2c-emev2.c i2c: emev2: add slave support 2015-12-05 19:55:36 +01:00
i2c-exynos5.c
i2c-gpio.c
i2c-highlander.c
i2c-hix5hd2.c
i2c-hydra.c
i2c-i801.c i2c: i801: add Intel Lewisburg device IDs 2015-11-20 16:22:21 +01:00
i2c-ibm_iic.c i2c: ibm_iic: rename i2c_timings struct due to clash with generic version 2016-01-05 02:06:10 +01:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: img-scb: support repeated starts on IP v3.3 2016-01-02 22:05:21 +01:00
i2c-imx.c i2c: imx: fix i2c resource leak with dma transfer 2016-01-10 10:10:28 +01:00
i2c-iop3xx.c
i2c-iop3xx.h
i2c-isch.c
i2c-ismt.c Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-11-10 11:58:25 -08:00
i2c-jz4780.c
i2c-kempld.c
i2c-lpc2k.c
i2c-meson.c
i2c-mpc.c
i2c-mt65xx.c i2c: mediatek: fix i2c multi transfer issue in high speed mode 2016-01-03 19:38:22 +01:00
i2c-mv64xxx.c i2c: mv64xxx: The n clockdiv factor is 0 based on sunxi SoCs 2015-11-30 15:54:22 +01:00
i2c-mxs.c
i2c-nforce2-s4985.c
i2c-nforce2.c
i2c-nomadik.c
i2c-ocores.c
i2c-octeon.c
i2c-omap.c
i2c-opal.c
i2c-parport-light.c
i2c-parport.c
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c
i2c-pca-platform.c
i2c-piix4.c i2c: piix4: Fix SB800 locking 2016-01-26 06:46:26 +01:00
i2c-pmcmsp.c
i2c-pnx.c Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-11-10 11:58:25 -08:00
i2c-powermac.c
i2c-puv3.c
i2c-pxa-pci.c
i2c-pxa.c
i2c-qup.c
i2c-rcar.c Merge branch 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-01-14 11:25:37 -08:00
i2c-riic.c
i2c-rk3x.c i2c: rk3x: populate correct variable for sda_falling_time 2015-11-30 14:27:41 +01:00
i2c-robotfuzz-osif.c
i2c-s3c2410.c i2c: s3c2410: remove superfluous runtime PM calls 2016-01-10 09:27:53 +01:00
i2c-scmi.c
i2c-sh7760.c
i2c-sh_mobile.c
i2c-sibyte.c
i2c-simtec.c
i2c-sirf.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-st.c Merge branch 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-01-14 11:25:37 -08:00
i2c-stu300.c
i2c-sun6i-p2wi.c
i2c-taos-evm.c i2c: taos-evm: replace simple_strtoul by kstrtou8 2015-11-30 18:37:22 +01:00
i2c-tegra.c
i2c-tiny-usb.c
i2c-uniphier-f.c i2c: uniphier_f: error out if bus speed is zero 2015-12-14 10:59:46 +01:00
i2c-uniphier.c i2c: uniphier: error out if bus speed is zero 2015-12-14 10:59:05 +01:00
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-viperboard.c
i2c-wmt.c
i2c-xgene-slimpro.c
i2c-xiic.c i2c: xiic: Replace spinlock with mutex 2015-11-30 18:37:23 +01:00
i2c-xlp9xx.c
i2c-xlr.c i2c: xlr: add interrupt support for Sigma Designs chips 2015-12-16 11:42:58 +01:00
Kconfig i2c: emev: select I2C slave support 2015-12-17 20:34:36 +01:00
Makefile
scx200_acb.c