linux/drivers/staging
Linus Torvalds 8ceafbfa91 Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm
Pull DMA mask updates from Russell King:
 "This series cleans up the handling of DMA masks in a lot of drivers,
  fixing some bugs as we go.

  Some of the more serious errors include:
   - drivers which only set their coherent DMA mask if the attempt to
     set the streaming mask fails.
   - drivers which test for a NULL dma mask pointer, and then set the
     dma mask pointer to a location in their module .data section -
     which will cause problems if the module is reloaded.

  To counter these, I have introduced two helper functions:
   - dma_set_mask_and_coherent() takes care of setting both the
     streaming and coherent masks at the same time, with the correct
     error handling as specified by the API.
   - dma_coerce_mask_and_coherent() which resolves the problem of
     drivers forcefully setting DMA masks.  This is more a marker for
     future work to further clean these locations up - the code which
     creates the devices really should be initialising these, but to fix
     that in one go along with this change could potentially be very
     disruptive.

  The last thing this series does is prise away some of Linux's addition
  to "DMA addresses are physical addresses and RAM always starts at
  zero".  We have ARM LPAE systems where all system memory is above 4GB
  physical, hence having DMA masks interpreted by (eg) the block layers
  as describing physical addresses in the range 0..DMAMASK fails on
  these platforms.  Santosh Shilimkar addresses this in this series; the
  patches were copied to the appropriate people multiple times but were
  ignored.

  Fixing this also gets rid of some ARM weirdness in the setup of the
  max*pfn variables, and brings ARM into line with every other Linux
  architecture as far as those go"

* 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm: (52 commits)
  ARM: 7805/1: mm: change max*pfn to include the physical offset of memory
  ARM: 7797/1: mmc: Use dma_max_pfn(dev) helper for bounce_limit calculations
  ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations
  ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function
  ARM: 7794/1: block: Rename parameter dma_mask to max_addr for blk_queue_bounce_limit()
  ARM: DMA-API: better handing of DMA masks for coherent allocations
  ARM: 7857/1: dma: imx-sdma: setup dma mask
  DMA-API: firmware/google/gsmi.c: avoid direct access to DMA masks
  DMA-API: dcdbas: update DMA mask handing
  DMA-API: dma: edma.c: no need to explicitly initialize DMA masks
  DMA-API: usb: musb: use platform_device_register_full() to avoid directly messing with dma masks
  DMA-API: crypto: remove last references to 'static struct device *dev'
  DMA-API: crypto: fix ixp4xx crypto platform device support
  DMA-API: others: use dma_set_coherent_mask()
  DMA-API: staging: use dma_set_coherent_mask()
  DMA-API: usb: use new dma_coerce_mask_and_coherent()
  DMA-API: usb: use dma_set_coherent_mask()
  DMA-API: parport: parport_pc.c: use dma_coerce_mask_and_coherent()
  DMA-API: net: octeon: use dma_coerce_mask_and_coherent()
  DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent()
  ...
2013-11-14 07:55:21 +09:00
..
android staging: ashmem: Fix ASHMEM_PURGE_ALL_CACHES return value 2013-10-25 06:22:39 +01:00
bcm Staging driver update for 3.13-rc1 2013-11-07 15:07:58 +09:00
btmtk_usb Staging: btmtk_usb: Fix Sparse Warning of incorrect type in assignment 2013-10-16 09:32:28 -07:00
ced1401 ced1401: Convert driver to use get_user_pages_fast() 2013-10-05 17:52:58 -07:00
comedi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
cptm1217 staging: Remove OOM message after input_allocate_device 2013-10-29 09:05:21 -07:00
crystalhd Staging: crystalhd: use vfree() instead of kfree() 2013-10-11 15:47:06 -07:00
cxt1e1 Staging: cxt1e1: remove space between function name and '(' 2013-10-14 09:27:14 -07:00
dgap staging: dgap: dgap_tty: Do not use 0 for pointers 2013-10-11 15:36:30 -07:00
dgnc Staging: dgnc: avoiding buffer overflow 2013-10-19 14:35:05 -07:00
dgrp staging: dgrp: Remove casting the return value which is a void pointer 2013-09-17 07:47:43 -07:00
dwc2 Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
echo
et131x Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
frontier staging: frontier: use better DEVICE_ATTR_ macros 2013-08-24 10:30:28 -07:00
ft1000 staging: ft1000: return values corrected in scram_start_dwnld 2013-10-29 17:11:36 -07:00
fwserial Staging: fwserial: wrap a line that exceeds 80 characters 2013-09-17 07:47:44 -07:00
gdm72xx
gdm724x staging: gdm724x: kzalloc should be used instead of kmalloc/memset 2013-10-27 20:34:46 -07:00
goldfish
iio spi: Updates for v3.13 2013-11-12 15:01:39 +09:00
imx-drm Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
keucr Staging: keucr: fix quoted string split across lines 2013-10-06 22:07:30 -07:00
line6 Staging:line6: fix line over 80 characters 2013-10-27 20:43:46 -07:00
lustre Merge branch 'akpm' (patches from Andrew Morton) 2013-11-13 15:45:43 +09:00
media Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
mt29f_spinand staging/mt29f_spinand: fix build error when ONDIEECC not enabled 2013-10-15 12:19:48 -07:00
netlogic staging:netlogic:Fixes commenting style in xlr_net.c 2013-10-15 12:27:11 -07:00
nvec drivers/staging/nvec/Kconfig: remove trailing whitespace 2013-10-30 09:24:40 -07:00
octeon staging: octeon: drop redundant mac address check 2013-10-29 09:05:21 -07:00
octeon-usb staging: octeon-usb: use list.h for transactions 2013-10-11 15:46:00 -07:00
olpc_dcon staging/olpc_dcon: fix kconfig to fix build errors 2013-10-15 12:25:30 -07:00
ozwpan staging: ozwpan: prevent overflow in oz_cdev_write() 2013-10-30 12:24:49 -07:00
panel
phison
quickstart Staging / quickstart: remove reduplicate if(acpi_disabled) check 2013-09-25 16:48:45 -07:00
rtl8187se Staging: rtl8187se: space prohibited before semicolon in r8185b_init.c 2013-10-30 09:26:44 -07:00
rtl8188eu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-11-13 15:34:18 +09:00
rtl8192e staging: rtl8192e: remove unneeded semicolons 2013-10-30 09:08:45 -07:00
rtl8192u staging: rtl8192u: use memdup_user to simplify code 2013-10-28 14:28:35 -07:00
rtl8712 Staging: rtl8712: fix spaces before semicolons 2013-10-03 13:50:54 -07:00
rts5139 staging: rts5139: Replaced min() with min_t() in 2013-10-27 20:43:46 -07:00
sb105x Staging driver update for 3.13-rc1 2013-11-07 15:07:58 +09:00
sbe-2t3e3 Staging: sbe-2t3e3: Fix smatch warning of function definition with external linkage 2013-10-28 14:54:49 -07:00
sep staging: sep: do not use comparisons on bool tests 2013-10-28 14:32:51 -07:00
serqt_usb2
silicom staging: silicom: fix space prohibited before semicolon 2013-10-02 16:22:01 -07:00
slicoss Staging: slicoss: Replace seq_printf with seq_puts 2013-10-27 07:03:19 -07:00
sm7xxfb Staging: sm7xxfb: fix line over 80 characters in sm7xxfb.c 2013-10-11 13:52:01 -07:00
speakup Staging: speakup: replacing simple_strtoul with kstrtoul 2013-10-19 14:51:06 -07:00
ste_rmi4 staging: Remove OOM message after input_allocate_device 2013-10-29 09:05:21 -07:00
tidspbridge Staging: tidspbridge: fix no space before tabs 2013-10-06 22:07:30 -07:00
usbip staging: usbip: Fix man-pages for usbip userspace utilities 2013-09-25 16:58:32 -07:00
vme
vt6655 staging: vt6655: fixed use of unnecessary braces in baseband.c 2013-10-27 06:54:54 -07:00
vt6656 staging: vt6656: removed space after '*' in pointer declaration 2013-10-27 20:38:24 -07:00
winbond Staging: winbond: Fix Sparse Warnings in reg.c 2013-10-29 08:43:05 -07:00
wlags49_h2 Staging driver update for 3.13-rc1 2013-11-07 15:07:58 +09:00
wlags49_h25 staging: wlags49_h2: remove sysfs file 2013-08-24 10:24:40 -07:00
wlan-ng Staging: wlan-ng: changing "* dev" to "*dev" 2013-10-17 09:12:15 -07:00
xgifb Staging: xgifb: fix braces {} are not necessary for any arm of this statement 2013-10-30 09:22:05 -07:00
xillybus staging: xillybus: Use dev_* functions instead of pr_* in xillybus_core 2013-10-19 13:41:34 -07:00
zram Staging: zram: Fix access of NULL pointer 2013-10-30 09:36:53 -07:00
zsmalloc zsmalloc: Fix "map_vm_area" undefined reference errors. 2013-10-11 15:23:13 -07:00
Kconfig staging: ktap: remove code from tree 2013-10-27 14:05:02 -07:00
Makefile staging: ktap: remove code from tree 2013-10-27 14:05:02 -07:00
staging.c