1
0
Fork 0
alistair23-linux/drivers/tty/serial
Linus Torvalds dd4e5d6106 Remove Mysterious Macro Intended to Obscure Weird Behaviours (mmiowb())
Remove mmiowb() from the kernel memory barrier API and instead, for
 architectures that need it, hide the barrier inside spin_unlock() when
 MMIO has been performed inside the critical section.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAlzMFaUACgkQt6xw3ITB
 YzRICQgAiv7wF/yIbBhDOmCNCAKDO59chvFQWxXWdGk/aAB56kwKAMXJgLOvlMG/
 VRuuLyParTFQETC3jaxKgnO/1hb+PZLDt2Q2KqixtjIzBypKUPWvK2sf6THhSRF1
 GK0DBVUd1rCrWrR815+SPb8el4xXtdBzvAVB+Fx35PXVNpdRdqCkK+EQ6UnXGokm
 rXXHbnfsnquBDtmb4CR4r2beH+aNElXbdt0Kj8VcE5J7f7jTdW3z6Q9WFRvdKmK7
 yrsxXXB2w/EsWXOwFp0SLTV5+fgeGgTvv8uLjDw+SG6t0E0PebxjNAflT7dPrbYL
 WecjKC9WqBxrGY+4ew6YJP70ijLBCw==
 =aC8m
 -----END PGP SIGNATURE-----

Merge tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull mmiowb removal from Will Deacon:
 "Remove Mysterious Macro Intended to Obscure Weird Behaviours (mmiowb())

  Remove mmiowb() from the kernel memory barrier API and instead, for
  architectures that need it, hide the barrier inside spin_unlock() when
  MMIO has been performed inside the critical section.

  The only relatively recent changes have been addressing review
  comments on the documentation, which is in a much better shape thanks
  to the efforts of Ben and Ingo.

  I was initially planning to split this into two pull requests so that
  you could run the coccinelle script yourself, however it's been plain
  sailing in linux-next so I've just included the whole lot here to keep
  things simple"

* tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (23 commits)
  docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread
  docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section
  arch: Remove dummy mmiowb() definitions from arch code
  net/ethernet/silan/sc92031: Remove stale comment about mmiowb()
  i40iw: Redefine i40iw_mmiowb() to do nothing
  scsi/qla1280: Remove stale comment about mmiowb()
  drivers: Remove explicit invocations of mmiowb()
  drivers: Remove useless trailing comments from mmiowb() invocations
  Documentation: Kill all references to mmiowb()
  riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code
  powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code
  ia64/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
  mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
  sh/mmiowb: Add unconditional mmiowb() to arch_spin_unlock()
  m68k/io: Remove useless definition of mmiowb()
  nds32/io: Remove useless definition of mmiowb()
  x86/io: Remove useless definition of mmiowb()
  arm64/io: Remove useless definition of mmiowb()
  ARM/io: Remove useless definition of mmiowb()
  mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors
  ...
2019-05-06 16:57:52 -07:00
..
8250 dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
cpm_uart mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
jsm tty: serial: jsm: remove redundant pointer ch 2018-07-13 15:36:32 +02:00
21285.c
Kconfig serial: Add Tegra Combined UART driver 2019-01-30 09:31:31 +01:00
Makefile serial: Add Tegra Combined UART driver 2019-01-30 09:31:31 +01:00
altera_jtaguart.c
altera_uart.c
amba-pl010.c
amba-pl011.c serial: set suppress_bind_attrs flag only if builtin 2018-11-09 09:07:17 -08:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c serial: ar933x_uart: Fix build failure with disabled console 2019-03-19 15:37:44 +01:00
arc_uart.c
atmel_serial.c tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped 2019-03-28 00:27:48 +09:00
atmel_serial.h tty/serial: atmel: add ISO7816 support 2018-10-02 13:38:55 -07:00
bcm63xx_uart.c
clps711x.c serial: clps711x: Remove board support 2019-01-08 16:55:18 +01:00
digicolor-usart.c
dz.c
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c tty/serial: use uart_console_write in the RISC-V SBL early console 2019-01-23 15:41:50 -08:00
earlycon.c
efm32-uart.c
fsl_lpuart.c serial: fsl_lpuart: DMA support for 32-bit variant 2019-01-30 09:31:30 +01:00
icom.c
icom.h
ifx6x60.c
ifx6x60.h
imx.c serial: imx: fix error handling in console_setup 2018-11-27 09:56:20 +01:00
ioc3_serial.c
ioc4_serial.c
ip22zilog.c
ip22zilog.h
kgdb_nmi.c
kgdboc.c Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc 2019-03-28 00:27:48 +09:00
lantiq.c serial: lantiq: Do not swap register read/writes 2019-01-08 16:53:36 +01:00
lpc32xx_hs.c tty: serial: lpc32xx_hs: fix missing console boot messages 2019-01-18 11:23:00 +01:00
max310x.c serial: max310x: Fix to avoid potential NULL pointer dereference 2019-03-19 15:37:43 +01:00
max3100.c
mcf.c
men_z135_uart.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
meson_uart.c tty: serial: meson: if no alias specified use an available id 2019-01-18 11:22:22 +01:00
mpc52xx_uart.c
mps2-uart.c serial: mps2-uart: Add parentheses around conditional in mps2_uart_shutdown 2019-01-31 19:34:10 +01:00
mpsc.c
msm_serial.c tty: serial: msm_serial: Remove __init from msm_console_setup() 2019-02-19 13:42:08 +01:00
mux.c
mvebu-uart.c serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference 2019-03-19 15:37:43 +01:00
mxs-auart.c tty: mxs-auart: fix a potential NULL pointer dereference 2019-03-19 15:37:43 +01:00
netx-serial.c
omap-serial.c
owl-uart.c
pch_uart.c PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
pic32_uart.c serial: set suppress_bind_attrs flag only if builtin 2018-11-09 09:07:17 -08:00
pic32_uart.h
pmac_zilog.c tty: Use of_node_name_{eq,prefix} for node name comparisons 2018-12-17 16:12:17 +01:00
pmac_zilog.h
pnx8xxx_uart.c
pxa.c serial: pxa: Fix an error handling path in 'serial_pxa_probe()' 2018-06-28 21:07:54 +09:00
qcom_geni_serial.c tty: serial: qcom_geni_serial: Initialize baud in qcom_geni_console_setup 2019-03-19 15:37:44 +01:00
rda-uart.c tty: serial: Add RDA8810PL UART driver 2018-12-31 13:10:01 -08:00
rp2.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
sa1100.c
samsung.c tty: serial: samsung: Enable baud clock during initialisation 2019-02-19 13:42:08 +01:00
samsung.h
sb1250-duart.c
sc16is7xx.c sc16is7xx: put err_spi and err_i2c into correct #ifdef 2019-04-19 14:09:23 +02:00
sccnxp.c serial: sccnxp: Allow to use non-standard baud rates 2018-12-20 16:26:59 +01:00
serial-tegra.c serial: tegra: fix some spelling mistakes 2018-11-09 08:58:18 -08:00
serial_core.c tty: serial: remove redundant likely annotation 2019-02-19 13:42:07 +01:00
serial_ks8695.c
serial_mctrl_gpio.c gpiolib: Pass array info to get/set array functions 2018-09-13 11:16:54 +02:00
serial_mctrl_gpio.h
serial_txx9.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
sh-sci.c serial: sh-sci: Fix HSCIF RX sampling point adjustment 2019-04-16 15:24:38 +02:00
sh-sci.h
sirfsoc_uart.c
sirfsoc_uart.h
sn_console.c TTY: sn_console: Replace spin_is_locked() with spin_trylock() 2018-10-04 11:06:35 -07:00
sprd_serial.c serial: sprd: Modify the baud rate calculation formula 2019-02-26 12:35:02 +01:00
st-asc.c
stm32-usart.c
stm32-usart.h
suncore.c tty: Use of_node_name_{eq,prefix} for node name comparisons 2018-12-17 16:12:17 +01:00
sunhv.c
sunsab.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
sunsab.h
sunsu.c TTY/Serial driver patches for 4.21-rc1 2018-12-28 20:33:54 -08:00
sunzilog.c
sunzilog.h
tegra-tcu.c serial: Add Tegra Combined UART driver 2019-01-30 09:31:31 +01:00
timbuart.c
timbuart.h
uartlite.c serial-uartlite: fix null pointer dereference on pointer port 2018-11-27 09:08:15 +01:00
ucc_uart.c
vr41xx_siu.c
vt8500_serial.c
xilinx_uartps.c tty: xilinx_uartps: Correct return value in probe 2019-03-01 18:07:34 +01:00
zs.c
zs.h