Commit graph

388,156 commits

Author SHA1 Message Date
Vineet Gupta
af4c3ae399 ARC: [build] silence make defconfig warnings with host gcc 4.7
We do cross compiles for ARC Linux.
With gcc 4.7, a make defconfig spews out the following:

------------------->8--------------------------
make ARCH=arc defconfig
gcc: error: unrecognized command line option '-marc600'
gcc: error: unrecognized command line option '-mA7'
gcc: error: unrecognized command line option '-mno-sdata'
gcc: error: unrecognized command line option '-mno-mpy'
*** Default configuration is based on 'fpga_defconfig'
------------------->8--------------------------

This apparently is coming from LIBGCC line - which is strange to be
invoked for defconfig generation.

Reported-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:15 +05:30
Paul Bolle
610c6502e0 ARC: remove #ifdef-ed out include of dead header
There's no (Kconfig) macro CONFIG_BLOCK_DEV_RAM. (CONFIG_BLK_DEV_RAM
does exist though.) But linux/blk.h got killed in 2005 anyway (in a
patch titled "kill blk.h"), so these three lines can be removed.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:15 +05:30
Sachin Kamat
e420c82d09 ARC: Remove duplicate inclusion of header files
Some header files were included twice in the same file.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:15 +05:30
Sachin Kamat
955ad5959f ARC: Fix coding style issues
Fixes the following coding style issues as detected by checkpatch:
ERROR: space required before the open parenthesis '('
ERROR: "foo * bar" should be "foo *bar"
WARNING: space prohibited between function name and open parenthesis '('
WARNING: please, no spaces at the start of a line

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:14 +05:30
Sachin Kamat
1ec9db1056 ARC: Use <linux/*> headers instead of <asm/*>
Silences the following checkpatch warnings:
WARNING: Use #include <linux/ptrace.h> instead of <asm/ptrace.h>
WARNING: Use #include <linux/kprobes.h> instead of <asm/kprobes.h>
WARNING: Use #include <linux/kgdb.h> instead of <asm/kgdb.h>
WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>
WARNING: Use #include <linux/cache.h> instead of <asm/cache.h>

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:14 +05:30
Sachin Kamat
39d0c30d00 ARC: Remove unneeded version.h header include
version.h header file inclusion is not necessary as detected by
versioncheck script.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-04-09 12:21:14 +05:30
Dylan Reid
78daea29f2 ALSA: hda - Apply codec delay to wallclock.
For playback add the codec-side delay to the timestamp, for capture
subtract it.  This brings the timestamps in line with the time that
was recently added to the delay reporting.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-04-09 08:03:22 +02:00
Axel Lin
4cb24e68a5 clk: mvebu: Fix valid value range checking for cpu_freq_select
cpu_freq_select is used as array subscript, thus the valid value range
is 0 ... ARRAY_SIZE() - 1.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: fixed up trivial merge issues]
2013-04-08 22:26:36 -07:00
Greg Ungerer
b2dfaa8d33 m68k: define a local gpio_request_one() function
Compiling for linux-3.9-rc1 and later fails with:

drivers/gpio/devres.c: In function 'devm_gpio_request_one':
drivers/gpio/devres.c:90:2: error: implicit declaration of function 'gpio_request_one' [-Werror=implicit-function-declaration]

So provide a local gpio_request_one() function. Code largely borrowed from
blackfin's local gpio_request_one() function.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-04-09 15:15:31 +10:00
Kirill Tkhai
07df841877 sparc64: Do not save/restore interrupts in get_new_mmu_context()
get_new_mmu_context() is always called with interrupts disabled.
So it's possible to do this micro optimization.

(Also fix the comment to switch_mm, which is called in both cases)

Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-08 22:50:47 -04:00
Wei Yongjun
c802d75962 netrom: fix invalid use of sizeof in nr_recvmsg()
sizeof() when applied to a pointer typed expression gives the size of the
pointer, not that of the pointed data.
Introduced by commit 3ce5ef(netrom: fix info leak via msg_name in nr_recvmsg)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-04-08 22:49:23 -04:00
Trond Myklebust
7a8203d8cb NFS: Ensure that NFS file unlock waits for readahead to complete
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2013-04-08 22:12:42 -04:00
Trond Myklebust
577b42327d NFS: Add functionality to allow waiting on all outstanding reads to complete
This will later allow NFS locking code to wait for readahead to complete
before releasing byte range locks.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2013-04-08 22:12:33 -04:00
Linus Torvalds
84ee9805bc An hwspinlock fix from Li Fei, taking care of a faulty error path.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYtV4AAoJELLolMlTRIoMMvMQAJkOuuxnBJKovFoW/HxI2V+W
 cELQUyn397K3z2lAv9CYOEIIFJO3xA7AmF+WjnJMy/LKyFYNYkrfn3rUCbUu4q+x
 1ifnsonvsRJPHw8I6TAgPqKCG79CaNYig3S3N98iorsUmzXTNgu7G1wG1VpGbemf
 iqWAbkuONCllJltTctEuFqWLtHnm9SXGNpcqcJDa348A6Yc5YscewgrgzrfTE5OZ
 S4qmx0QRgAzZPhghrZbthyYG/s2XfH2CUxZSxwO78rHnwkdJydSHwFUAHJKVQSTe
 yyJI5uVobliGcmUX0u2BtXNKob5YntMshbwOzs3uwElG9SY3rnYEwKMIrxv3jk+7
 EUQNCseCsH/k3OjBmdLX5uVboGwf/zCV5yLGWaNXYmZ2pAxnaFms5+Hz24ggO+r6
 Yy1CYFXXJB2mdQUpMlktFiRh3YNklKLk8FWKHRyTO2m/nXlJQ3au9IonqpqVoQGZ
 SabNStvslQ1pbgBLRhBjWl8H6kL/vKlzRI7O6rCpE7nbS3RBn2jhmk8baZqAUA1T
 GIsucqKImdnV1SPbV/y74/gi/MfOZ/qgPVlLduzBrdByeFqPQQMVnAA0BnlKzVqr
 s5yo7Oe3ecIhOl0a/1hKsPLgQymeyp3y+6NBAIQwOU1FWhF+6v0NuIa2CaNxNWO8
 2G2f6UorIPyEXc3K3vlA
 =7IMq
 -----END PGP SIGNATURE-----

Merge tag 'hwspinlock-3.9-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock

Pull a hwspinlock fix from Ohad Ben-Cohen:
 "An hwspinlock fix from Li Fei, taking care of a faulty error path."

* tag 'hwspinlock-3.9-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
  hwspinlock: fix __hwspin_lock_request error path
2013-04-08 18:53:57 -07:00
Linus Torvalds
76dfee409d 4 small remoteproc fixes:
- Suman fixed an issue that crawled in with the move to the new
   idr_alloc interface in 3.9
 - Dmitry fixed an STE specific memory leak
 - Sjur fixed an error path in the core
 - Rob fixed a Kconfig typo
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYsGZAAoJELLolMlTRIoMcoYQAMABOWQdyxu3+8sYOiVUQyE8
 /WM0Kw2qRujugqlhvMN8h3DJhmijAcP+P3Lfu3GK5pH6ByzpOEd9rFdT258vbGRl
 ow2uF39UxuiRxoJ/bjtQkoKQM9joYa/LYZ77Z501XWLy7/hcDt2XT4QPciWM7Q31
 COIOidcuqKZpAtITbgwNPkDKzipS/swZloejiApvwR1/gjzL0Cp9M5xm3iGTZUQv
 FH/XDTR4GAT46q6C3jxUB0265hdrYMEYoyero9aWQrdkGNcgTqekXOEueZAVOQLf
 CyOTU7PxFnOJGdmPRNT0D/c0bz4tff8f4jFzAaSiSCoiEPLc2K+ugBa6xYMHJsw2
 waXlkgM3MCVelgVnuPQmYWHc3Yswvi0oNUhIq7AFIMrj6NfAm5OnP6RXRP13g8wd
 nF3J05htpf9u5eIOfv2o5ZueulLdLew9ExDD2Zqd8s64FbFUXIRHqf8f3Lk4HnEd
 qt1WM/bQ9FyKQliQFR8PvGz40vSCz0r/d5/1YMgIGMpRJzDRro0F5a/rSCkQ5lqK
 DsjIvZJYrPJ4BE5296HfUfGi7UKMKwurk2VbctxkjDA4nvKdR7H0G+Iq3qcaeRHr
 GTwxR12CzDX3kgp2cma9iMjwIRHWv8Xte1vGCHURXcbHhWgm6VuxvpzvUqPEFD6q
 13W3n0KSVCwm+LooNMYj
 =+ds4
 -----END PGP SIGNATURE-----

Merge tag 'remoteproc-3.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc

Pull remoteproc fixes from Ohad Ben-Cohen:
 "Four small remoteproc fixes:
   - Suman fixed an issue that crawled in with the move to the new
     idr_alloc interface in 3.9
   - Dmitry fixed an STE specific memory leak
   - Sjur fixed an error path in the core
   - Rob fixed a Kconfig typo"

* tag 'remoteproc-3.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
  remoteproc: fix FW_CONFIG typo
  remoteproc: fix error path of handle_vdev
  remoteproc/ste: fix memory leak on shutdown
  remoteproc: fix the error check for idr_alloc
2013-04-08 18:53:13 -07:00
Ulf Hansson
a68de8e4ab clk: Fixup locking issues for clk_set_parent
Updating the clock tree topology must be protected with the spinlock
when doing clk_set_parent, otherwise we can not handle the migration
of the enable_count in a safe manner.

While issuing the .set_parent callback to make the clk-hw perform the
switch to the new parent, we can not hold the spinlock since it is must
be allowed to be slow path. This complicates error handling, but is still
possible to achieve.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2013-04-08 18:19:40 -07:00
Ulf Hansson
031dcc9bd4 clk: Fixup errorhandling for clk_set_parent
Fixup the broken feature of allowing reparent of a clk to the
orhpan list and vice verse. When operating on a single-parent
clk, the .set_parent callback for the clk hw is optional to
implement, but for a multi-parent clk it is mandatory.

Moreover improve the errorhandling by verifying the prerequisites
before triggering clk notifiers. This will prevent unnecessary
rollback with ABORT_RATE_CHANGE.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2013-04-08 18:19:32 -07:00
Ulf Hansson
b33d212f49 clk: Restructure code for __clk_reparent
Split __clk_reparent into three pieces, one for doing the actual
reparent for updating the clock tree topology, one for the
COMMON_CLK_DEBUG code and one for doing the rate recalculation.

This patch also makes it possible to hold the spinlock over the
update of the clock tree topology, which could not be done before
when both debugfs updates and clock rate updates was done within
the same function.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2013-04-08 18:19:15 -07:00
Christoph Fritz
161e89a689 ARM/dts: OMAP3: fix pinctrl-single configuration
- Fix 'function-mask' referring to TRM (Omap 36xx) Section 13.4.4:
   "Pad Functional Multiplexing and Configuration".
 - Fix 'omap3_pmx_wkup' referring to TRM Table 13-6:
   "Wkup Control Module Pad Configuration Register Fields".

Note that these fixes are not critical currently as we
are not yet using the missing range of pinmux registers
at this point.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 17:00:22 -07:00
Samuel Ortiz
e46980a10a mei: bus: Add device enabling and disabling API
It should be left to the drivers to enable and disable the device on the
MEI bus when e.g getting probed.
For drivers to be able to safely call the enable and disable hooks, the
mei_cl_ops must be set before it's probed and thus this should happen
before registering the device on the MEI bus. Hence the mei_cl_add_device()
prototype change.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-08 16:57:15 -07:00
Tomas Winkler
d6c36a475f mei: notify about the reset in error level
Display errors causing device reset using dev_err and not dev_dbg
also change messages text to something more concise

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-08 16:55:57 -07:00
Tomas Winkler
4234a6deb5 mei: add mei_cl_write function
consolidate write code to a specific me client in mei_cl_write function
the function is called from mei device write handler and from
mei_cl bus send function

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-04-08 16:55:57 -07:00
Greg Kroah-Hartman
606f34ad12 This is small fixes for extcon driver.
MAX77693 extcon driver
 - Add 'static' keryword to internal data structure
 - Fix return value using 'ret' instead of hardcoding
 
 MAX8997 extcon driver
 - Use dev_err() instead of pr_err()
 - Fix return value using 'ret' instead of hardcoding
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRY0rlAAoJEJzN3yze689TccwP/1ZyeE0fhn6S9wxgdtz2jBJC
 vh0eWeYwLlJnXKMfC78FpJWV+zjOkKhlXZFOLqy/I7KN6ejGAFDKsTW22abo7Fml
 qggp5ofMEwJS3gSDVjDBx2CDIHW7haHtPSnNH3KX++0p+///mK/JNQaNW62/j874
 nelL3OXpZI6WhF1uYvnh3EQg6ExD/MfKEng8wdVYL9sRXRzbDv+tnQT4Cdq0CSEB
 zTSY5zS6mXYMZRlUxBXhtFvkSfhxL9bJEj0QPcTS47uY+6hKt24gCcP7kq5fIhpB
 bq5Bpp+DGEJ7t/FgAVbWukdNkizgEzVtbQFro7JvoqiK097qhedYXn0ni4Hl7xPe
 mQ+q4N7AkHxDBx068lnb9EF/3ujRSzWJy4Rvy3AC/6KY1F2hDjlI3TJKDjIx8eQz
 kmflwl5UVZ42Ug9P6QGK+mU+1ZuaMFNhMm99FBzAEeyCdIHiBF2wz/JJWbYuPlj7
 DTgycOwYw035hwj504Ae+jIpjuzPdLd22uKxuMEFNmJd/rFUXgFp5ZMQb47jJIDI
 58wiH1+nEqVmYYhnxOcnQh//g0RALVxJoO3P3GDDbWF5jtk/hleGa7VAY3MhLGJ1
 rOwdD0g16LU/gcmOrm5OdbVqofedH/LDjHx1GdY9g1vGGcq0ES+FZEyOBRjSHue2
 bza21ioK4U85wwnq7cly
 =vnWV
 -----END PGP SIGNATURE-----

Merge tag 'extcon-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next

Chanwoo writes:

	This is small fixes for extcon driver.

	MAX77693 extcon driver
	- Add 'static' keryword to internal data structure
	- Fix return value using 'ret' instead of hardcoding

	MAX8997 extcon driver
	- Use dev_err() instead of pr_err()
	- Fix return value using 'ret' instead of hardcoding
2013-04-08 16:50:23 -07:00
Greg Kroah-Hartman
e5ab9f1863 xHCI misc cleanup patches for 3.10
Hi Greg,
 
 Here's three cleanup patches for 3.10.  Nothing big here, just some debugging
 output changes, a macro rename, and a math macro change that should have no
 behavioral effects.
 
 Tested on the Intel Panther Point xHCI host, with USB storage and mouse, with
 xHCI debugging turned on.  I don't have the TI host that causes the debugging
 output changes to trigger.
 
 Sarah Sharp
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYz84AAoJEBMGWMLi1Gc5K+8P/R7QyHd9N91wIG70Uo1B+3nJ
 aprCCLyQ4jYB3EtCsTsVPh4q3jat2NepbR0eMsMvMvsh4D96yPyilPBVu7y2HJ4P
 NUleEl2ldpEHr3RhoUlH2bJstOHTB94c0BgRq0LR3lUFKsJazf6kwZIeW1IkGxKC
 Ta5y+bREeFzrldE5BckEC+758JSFMjYqpZhHlPC7py+bmqgSUozq0SgRTJCO1Lf8
 XQ63d2n8LlBOnoX20+1m37ABP62VsuSRVaAT2OuBQXWBCH5NMcKlHh9Y2sSqQfzC
 Ln1p0Bj43088GcriSMx5DMNdkqCxlLzW4BBk9V7C/3HqUa2XCgVwhTB+vHAseehB
 BjSE7ZQbpOLjnoOv30MhBBDZcJnu7M2/i+oLzp7ygsPgPfFcWK2yVUHizUL9uLaJ
 kN/eNK6H23OtLhdI6MZ5Cf71XTbQfxquLLla7FpbA/oO1oI6kxeXKD4sMCCVDS0r
 3PB7ppC4uwQOKo7c5sf+1DMdqJS4M7PULuuGhtw83xodFxrsxRsZ9tLpc9s46aVh
 MItM5hUvBiS/y/zMmWAaIMEttpKMUeUkQsLwlwV0WG1MeEz0CqsxVLOp88rI6PM2
 OO30cLQhAuc9nt5wuDHdZsPiCjet9CWh6//+actlCet1FWKnHhlf/hg0v1/i4YAa
 mD7f8eXuf2ATZ3P1H2Gu
 =rI06
 -----END PGP SIGNATURE-----

Merge tag 'for-usb-next-2012-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next

Sarah writes:

	xHCI misc cleanup patches for 3.10

	Hi Greg,

	Here's three cleanup patches for 3.10.  Nothing big here, just some debugging
	output changes, a macro rename, and a math macro change that should have no
	behavioral effects.

	Tested on the Intel Panther Point xHCI host, with USB storage and mouse, with
	xHCI debugging turned on.  I don't have the TI host that causes the debugging
	output changes to trigger.

	Sarah Sharp
2013-04-08 16:40:19 -07:00
Tony Lindgren
d05663a23f Merge branch 'for_3.10/dts' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into omap-for-v3.10/dt 2013-04-08 16:34:32 -07:00
Dave Airlie
c9cdee1765 Merge branch 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes
too many semicolons.

* 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
  drm/nouveau: fix unconditional return waiting on memory
2013-04-09 09:28:55 +10:00
Calvin Owens
b1ea3e6e38 drm/nouveau: fix unconditional return waiting on memory
Typo in nv50_display_flip_wait allows page flipping to run ahead before
memory has time to settle.

Signed-off-by: Calvin Owens <jcalvinowens@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-04-09 09:16:15 +10:00
Sricharan R
7a9819950f ARM: OMAP4: Enable fix for Cortex-A9 erratas
This enables the fixes for the below erratas
applicable for OMAP4 Socs.

754322: Faulty MMU translations following ASID switch

775420: A data cache maintenance operation which aborts,
        followed by an ISB, without any DSB in-between,
        might lead to deadlock

Signed-off-by: Sricharan R <r.sricharan@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 16:14:51 -07:00
Linus Torvalds
f011a08c80 A single BUG_ON fix for a condition that could happen for machines with
certain hardware installed.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABCAAGBQJRYlR1AAoJEIn5HApB1cB6k5cQAI2khS3adFF9BTVZbETwRQMX
 eQpYl6qpV3TC+7dUQQkKQMNOUQ9RtzpvyQjFNKd+6ZPy7nNfSGlH6idQ1QqOVDLX
 9f1f29cyGcnymVyyRArupwGA/LmPG9ptSYE8TISMfuYuA10Ce6meLcvtCMuSnADr
 3PaSL8M0HQuSjphZUdnJ30YmvhZ3RH4rZfuXFh4kK705zlx/kVg00qXSACLZYBeo
 okHhpwFR9swzm9NlUEjJJNL0JM1Oi1/8mQotSUyAyKrfQHqYotqKNbqbS1+TtvTQ
 pPdo8iI+rjkgEIe8ZDDbUfqqPG2pVZrZIWTSRMZ2/QiVqCeJl34qfDFdtng/79kl
 PnPjOc+5fCpKWPOZXdMwCRfzXGKihxjjzL0hWOshexKr0DCSIx7+OykEqVk58tnD
 bnq4yqwVMY9YE0SdjSKw6yzrd5FJu2fuRlfNY5PvEL9E9pcq4TLQCp3YvAo/RdrX
 AVQ4YSCLfMcCOEXP/qoBIGcMpw3hKdffJ0kc/mylsaHFlL2FdQpXUhejWhh57SKp
 U4n+70+ZPqhLZMJdo+ll3yV1qw0z2dOyRSmN44X0HcgmzdNLFPSaKiNdLcYvBdib
 eCCbXumYNVzH8bTb+HjdDhmaprQ4ZonUuYghmJm/LQDHduEw6fVl3iG54DmawdEq
 hdYf2jkl7DO6Gc95RwTA
 =UiUm
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfr/next-fixes

Pull powerpc bugfix from Stephen Rothwell:
 "A single BUG_ON fix for a condition that could happen for machines
  with certain hardware installed."

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfr/next-fixes:
  powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being performed before the ANDCOND test
2013-04-08 16:10:43 -07:00
Christian Ruppert
79e5f05edc ARC: Add implicit compiler barrier to raw_local_irq* functions
ARC irqsave/restore macros were missing the compiler barrier, causing a
stale load in irq-enabled region be used in irq-safe region, despite
being changed, because the register holding the value was still live.

The problem manifested as random crashes in timer code when stress
testing ARCLinux (3.9-rc3) on a !SMP && !PREEMPT_COUNT

Here's the exact sequence which caused this:
 (0). tv1[x] <----> t1 <---> t2
 (1). mod_timer(t1) interrupted after it calls timer_pending()
 (2). mod_timer(t2) completes
 (3). mod_timer(t1) resumes but messes up the list
 (4). __runt_timers( ) uses bogus timer_list entry / crashes in
      timer->function

Essentially mod_timer() was racing against itself and while the spinlock
serialized the tv1[] timer link list, timer_pending() called outside the
spinlock, cached timer link list element in a register.
With low register pressure (and a deep register file), lack of barrier
in raw_local_irqsave() as well as preempt_disable (!PREEMPT_COUNT
version), there was nothing to force gcc to reload across the spinlock,
causing a stale value in reg be used for link list manipulation - ensuing
a corruption.

ARcompact disassembly which shows the culprit generated code:

mod_timer:
    push_s blink
    mov_s r13,r0	# timer, timer
..
    ###### timer_pending( )
    ld_s r3,[r13]       # <------ <variable>.entry.next LOADED
    brne r3, 0, @.L163

.L163:
..
    ###### spin_lock_irq( )
    lr  r5, [status32]  # flags
    bic r4, r5, 6       # temp, flags,
    and.f 0, r5, 6      # flags,
    flag.nz r4

    ###### detach_if_pending( ) begins

    tst_s r3,r3  <--------------
			# timer_pending( ) checks timer->entry.next
                        # r3 is NOT reloaded by gcc, using stale value
    beq.d @.L169
    mov.eq r0,0

    #####  detach_timer( ): __list_del( )

    ld r4,[r13,4]    	# <variable>.entry.prev, D.31439
    st r4,[r3,4]     	# <variable>.prev, D.31439
    st r3,[r4]       	# <variable>.next, D.30246

We initially tried to fix this by adding barrier() to preempt_* macros
for !PREEMPT_COUNT but Linus clarified that it was anything but wrong.
http://www.spinics.net/lists/kernel/msg1512709.html

[vgupta: updated commitlog]

Reported-by/Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com>
Cc: Christian Ruppert <christian.ruppert@abilis.com>
Cc: Pierrick Hascoet <pierrick.hascoet@abilis.com>
Debugged-by/Signed-off-by: Vineet Gupta <vgupta@synopsys.com>

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-04-08 16:10:26 -07:00
Ruslan Bilovol
6770b21143 ARM: OMAP2+: Export SoC information to userspace
In some situations it is useful for userspace to
know some SoC-specific information. For example,
this may be used for deciding what kernel module to
use or how to better configure some settings etc.
This patch exports OMAP SoC information to userspace
using existing in Linux kernel SoC infrastructure.

This information can be read under
/sys/devices/socX directory

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
[tony@atomide.com: updated for multiplatform changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 16:04:25 -07:00
Ruslan Bilovol
f9d41eefcf ARM: OMAP2+: SoC name and revision unification
This is a long story where for each new generation of
OMAP we used different approaches for creating
strings for SoCs names and revisions that this patch
fixes. It makes future exporting of this information
to SoC infrastructure easier.

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 16:02:22 -07:00
Ruslan Bilovol
4ed12be051 ARM: OMAP2+: Move common part of late init into common function
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 16:01:59 -07:00
Sachin Kamat
3ad9e86d54 extcon: max8997: Fix return value
Return the value obtained from the function instead of hardcoding.
Fixes the following warnings:
drivers/extcon/extcon-max8997.c:235 max8997_muic_set_path() info:
why not propagate 'ret' from max8997_update_reg() instead of (-11)?
drivers/extcon/extcon-max8997.c:248 max8997_muic_set_path() info:
why not propagate 'ret' from max8997_update_reg() instead of (-11)?

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-04-09 07:53:46 +09:00
Sachin Kamat
c2536543d5 extcon: max77693: Fix return value
Return the value obtained from the function instead of hardcoding.
Silences the following warnings:
drivers/extcon/extcon-max77693.c:297 max77693_muic_set_path()
info: why not propagate 'ret' from max77693_update_reg() instead of (-11)?
drivers/extcon/extcon-max77693.c:310 max77693_muic_set_path()
info: why not propagate 'ret' from max77693_update_reg() instead of (-11)?

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-04-09 07:53:46 +09:00
Jingoo Han
6ed28105c0 extcon: max8997: use dev_err() instead of pr_err()
dev_err() is more preferred than pr_err().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-04-09 07:53:46 +09:00
Sachin Kamat
813b451644 extcon: max77693: Staticize default_init_data
Commit 0ec83bd246 ("extcon: max77693: Initialize register of MUIC
device to bring up it without platform data") added this structure
but forgot to make it static. Without this patch we get the following
warning:
drivers/extcon/extcon-max77693.c:41:26: warning:
symbol 'default_init_data' was not declared. Should it be static?

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-04-09 07:53:46 +09:00
Jon Hunter
1fac4fffa7 ARM: dts: Add OMAP3430 SDP NOR flash memory binding
Add device-tree node for the 128MB NOR on the OMAP3430-SDP board.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:35 +02:00
Jon Hunter
f782574089 ARM: dts: Add NOR flash bindings for OMAP2420 H4
Add device-tree node for the 64MB NOR on the OMAP2420-H4 board.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:35 +02:00
Jon Hunter
a6f3e58777 ARM: dts: Update OMAP3430 SDP NAND and ONENAND properties
The GPMC timing properties for device-tree have been updated by adding
a "-ns" or "-ps" suffix to indicate the units of time the property
represents (as suggested by Rob Herring). Therefore, update the timing
property names for the OMAP3430 SDP NAND and ONENAND devices.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:34 +02:00
Jon Hunter
e4b9b9f3b9 ARM: dts: OMAP2+: Identify GPIO banks that are always powered
Add the "ti,gpio-always-on" property to the appropriate GPIO banks to
indicate which banks are always powered and will never lose logic state.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:33 +02:00
Jon Hunter
d1c6ccfe3d ARM: OMAP2+: Populate DMTIMER errata when using device-tree
Currently the DMTIMER errata flags are not being populated when using
device-tree. Add static platform data to populate errata flags when
using device-tree.

Please note that DMTIMER erratum i767 is applicable to OMAP3-5 devices
as well as AM335x devices.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:32 +02:00
Jon Hunter
002e1ec56d ARM: dts: OMAP2+: Update DMTIMER compatibility property
Update the DMTIMER compatibility property to reflect the register level
compatibilty between devices and update the various OMAP/AM timer
bindings with the appropriate compatibility string.

By doing this we can add platform specific data applicable to specific
timer versions to the driver. For example, errata flags can be populated
for the timer versions that are impacted.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:31 +02:00
Jon Hunter
8fc7fcb593 ARM: OMAP: Add function to request timer by node
Add a function so that OMAP dmtimers can be requested by device-tree
node. This allows for devices, such as the internal DSP, or drivers,
such as PWM, to reference a specific dmtimer node via the device-tree.

Given that there are several APIs available for requesting dmtimers
(by ID, by capability or by node) consolidate the code for all these
functions into a single helper function that can be used by these
request functions.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:31 +02:00
Jon Hunter
385c4c7b7c ARM: OMAP: Force dmtimer restore if context loss is not detectable
When booting with device-tree the function pointer for detecting context
loss is not populated. Ideally, the pm_runtime framework should be
enhanced to allow a means for reporting context/state loss and we could
avoid populating such function pointers altogether. In the interim until
a generic non-device specific solution is in place, force a restore of
the dmtimer when enabling the timer.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:30 +02:00
NeilBrown
9cc268d5bb ARM: OMAP: Simplify dmtimer context-loss handling
The context loss handling in dmtimer appears to assume that
omap_dm_timer_set_load_start() or omap_dm_timer_start() and
omap_dm_timer_stop() bracket all interactions.  Only the first two
restore the context and the last updates the context loss counter.
However omap_dm_timer_set_load() or omap_dm_timer_set_match() can
reasonably be called outside this bracketing, and the fact that they
call omap_dm_timer_enable() / omap_dm_timer_disable() suggest that
is expected.

So if, after a transition into and out of off-mode which would cause
the dm timer to loose all state, omap_dm_timer_set_match() is called
before omap_dm_timer_start(), the value read from OMAP_TIMER_CTRL_REG
will be 'wrong' and this wrong value will be stored context.tclr so
a subsequent omap_dm_timer_start() can fail (As the control register
is wrong).

Simplify this be doing the restore-from-context in
omap_dm_timer_enable() so that whenever the timer is enabled, the
context is correct. Also update the ctx_loss_count at the same time as
we notice it is wrong - these is no value in delaying this until the
omap_dm_timer_disable() as it cannot change while the timer is enabled.

Signed-off-by: NeilBrown <neilb@suse.de>
[jon-hunter@ti.com: minor update to subject and changed variable name]
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:29 +02:00
Philip Avinash
7b3754c63e ARM: dts: AM33XX: Corrects typo in interrupt field in SPI node
DT field of "interrupts" was mentioned wrongly as "interrupt" in SPI
node. This went unnoticed as spi-omap2 driver not making use of
interrupt. Fixes the typo.

Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:28 +02:00
Nishanth Menon
d16fb25de1 ARM: dts: OMAP4460: Add CPU OPP table
Add DT OPP table for OMAP4460 family of devices. This data is
decoded by OF with of_init_opp_table() helper function.

OPP data here is based on existing opp4xxx_data.c

This is in preparation to use generic cpufreq-cpu0 driver for device
tree enabled boot. Legacy non device tree enabled boot continues to
use omap-cpufreq.c and opp4xxx_data.c.

Signed-off-by: Nishanth Menon <nm@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Keerthy <j-keerthy@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:27 +02:00
Nishanth Menon
4b79197ce0 ARM: dts: omap4-panda: move generic sections to panda-common
PandaBoard, PandaBoard-A4 revisions use OMAP4430.
PandaBoard-ES version of the board uses OMAP4460.

Move the original panda dts file into a common dtsi used by all panda
variants. This allows us to introduce SoC variation for PandaBoard ES
without impacting other PandaBoard versions that are supported.
As part of this change, since OMAP4460 adds on to OMAP4430, add
omap4.dtsi to omap4460.dtsi.

Signed-off-by: Nishanth Menon <nm@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Keerthy <j-keerthy@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:27 +02:00
Nishanth Menon
e77049bbf8 ARM: dts: OMAP443x: Add CPU OPP table
Add DT OPP table for OMAP443x family of devices. This data is
decoded by OF with of_init_opp_table() helper function.

OPP data here is based on existing opp4xxx_data.c

Since the omap4460 OPP tables would be different from OMAP443x,
introduce an new omap443x.dtsi for 443x specific entries and use
existing omap4.dtsi as the common dtsi file for all OMAP4 platforms.

This is in preparation to use generic cpufreq-cpu0 driver for device
tree enabled boot. Legacy non device tree enabled boot continues to
use omap-cpufreq.c and opp4xxx_data.c.

Signed-off-by: Nishanth Menon <nm@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Keerthy <j-keerthy@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
2013-04-09 00:21:26 +02:00