Commit graph

361,091 commits

Author SHA1 Message Date
Chanwoo Choi
297620fd1e extcon: max77693: Check the state/type of cable after boot completed
This patch check the state/type of cable after completing the initialization
of platform and notify platform of cable state/type through extcon. If extcon
provider driver notify the state/type of cable before completing platform boot,
this uevent is unused and ignored.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-01-15 15:42:15 +09:00
Chanwoo Choi
39bf369e4e extcon: max77693: Add support dock device and buttons
This patch support detection of dock device with extcon and
buttons of dock device for playing music with input subsystem.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-01-15 15:42:15 +09:00
Chanwoo Choi
d0587eb794 extcon: max77693: Add support jig cable
This patch detect several kinds of JIG cable according to ADC value
and set the hardware line path according to type of JIG cable(JIG-USB-ON
/JIG-USB-OFF/JIG-UART-OFF).

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-01-15 15:42:15 +09:00
Chanwoo Choi
06bed0afa2 extcon: max77693: Add support MHL_TA cable for charging battery
This patch support MHL_TA cable for charging battery. The MHL_TA
cable include MHL with TA cable or MHL with micro USB cable. When
MHL with TA/USB cable is attached, extcon-max77693 driver detect
two interrupt for handling precise operation according to each cable
(MHL and TA/USB cable).

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-01-15 15:42:15 +09:00
Chanwoo Choi
154f757fd3 extcon: max77693: Remove duplicate code by making function
This patch make max77693-muic_get_cable_type() function to remove
duplicate code because almost internal function need to read
adc/adc1k/adclow/chg_type value of MUIC register. Also, this patch
add description of internal function move field constant of muic device
from extcon-max77693 driver to max77693 header file because of it
is needed for masking some interrupt through platform data.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
2013-01-15 15:42:14 +09:00
Stephen Warren
d1dc7c6c6a ARM: bcm2835: defconfig updates
Now that we have an SDHCI driver, enable the block layer, and common
filesystems; MSDOS/VFAT for the SoC-required firmware partition, ext2/3/4
for a root partition.

Add tmpfs, NFS, file locking, file notify, networking, and NLS to support
distro expectations.

Enable GPIO_SYSFS to allow GPIO twiddling from user-space; likely a
common activity on this hardware.

Enable I2C.

Remove bogus CONFIG_DEFAULT_MMAP_MIN_ADDR so that applications running as
non-root actually work; without this, execve() immediately triggers
SIGKILL. This setting was sourced from some downstream defconfig early
during upstream Raspberry Pi support development.

Other non-semantic diffs due to rebuilding defconfig using the latest
Kconfig defaults etc.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:17 -07:00
Stephen Warren
9692c191ff ARM: bcm2835: fix clock node aliasing in device tree
Both clock nodes in the current device tree are named "clock" and hence
end up being the same node. Rename the nodes to different names to avoid
this. In fact, fixed-clock uses the node name as the clock name, so name
the nodes after the clock they represent. Move the clocks into a
"clocks" sub-node to group them and avoid any possible naming conflicts
with other nodes also named after the device type.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:09 -07:00
Stephen Warren
232fed4825 ARM: bcm2835: add I2C controllers to DT
The BCM2835 has 3 identical I2C controllers. Instantiate them all in the
SoC .dtsi file, and enable the relevant two in the Raspberry Pi board
.dts file.

Note that on the Raspberry Pi Model B revision 1, I2C0 is connected to
the general-purpose expansion header, and I2C1 is connected to the camera
connector. Revision 2 of the board swaps these assignments:-(

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:09 -07:00
Stephen Warren
5186bf287a ARM: bcm2835: add SDHCI node to DT
Add the SDHCI device node to the SoC DT file. Add a dummy fixed-clock
to satisfy the SDHCI driver's clock lookup; eventually this should be
replaced by a real clock implementation. Add board specific properties
to the Raspberry Pi board file.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:08 -07:00
Stephen Warren
6520700fdb ARM: bcm2835 rpi: remove hard-coded memreserve from DT
The Raspberry Pi has either 256MB or 512MB of RAM. However, a portion is
reserved for use by the VideoCore co-processor. The RPi DT contained a
/memreserve/ statement to reserve that RAM. However, the exact amount of
RAM used by the VideoCore is dynamic at boot-time; a firmware config
file specifies the amount. As such, we can't hard-code the size in the
DT. Remove the /memreserve/ statement. The bootloader is expected to
adjust the /memory properties to reflect the RAM size the ARM CPU can
use. Upstream U-Boot certainly does this, although I'm not sure that the
basic firmware does if it boots the kernel directly; users may need to
manually adjust their DT if not using U-Boot.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:08 -07:00
Dom Cobley
45e9d77a22 ARM: bcm2835: add a pm_power_off implementation
Add a pm_power_off function that resets the SoC, and indicates to
bootcode.bin not to boot. Should allow a lower power 'off' state, even
if it's not really off.

This is commit 48efdd2 "Add a pm_power_off function that resets us, ..."
downstream.

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
[swarren: Various non-semantic rework for upstreaming]
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:47:00 -07:00
Stephen Warren
526d239c30 clk: bcm2835: probe for fixed-clock in device tree
This will allow fixed-clocks to be registered in device tree, which in
turn will allow clock clients to look up their clocks in device tree.
The first driver to use this feature will be the bcm2835 SDHCI/MMC
driver. In the long run, it is likely these fixed clocks will be
replaced with an actual clock implementation which speaks to the
VideoCore processor, but this change should be transparent to clock
consumers.

Cc: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:46:59 -07:00
Stephen Warren
c1b724f665 ARM: bcm2835: make use of CLKSRC_OF
Using CLKSRC_OF enables deletion of the SoC-specific header
bcm2835_timer.h, replacing the custom function bcm2835_timer_init() with
the standardized automatic clocksource_of_init().

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2013-01-14 21:45:58 -07:00
Stephen Warren
b2fc382aad Merge remote-tracking branch 'korg_arm-soc/timer/cleanup' into cleanup 2013-01-14 21:44:27 -07:00
Linus Torvalds
406089d015 The clean up patch commit 0fb9656d "tracing: Make tracing_enabled be equal
to tracing_on" caused two regressions.
 
 1) The irqs off latency tracer no longer starts if tracing_on is off
   when the tracer is set, and then tracing_on is enabled. The tracing_on
   file needs the hook that tracing_enabled had to enable tracers if they
   request it (call the tracer's start() method).
 
 2) That commit had a separate change that really should have been a
   separate patch, but it must have been added accidently with the -a
   option of git commit. But as the change is still related to the commit
   it wasn't noticed in review. That change, changed the way blocking is
   done by the trace_pipe file with respect to the tracing_on settings.
   I've been told that this change breaks current userspace, and this
   specific change is being reverted.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ9MZ/AAoJEOdOSU1xswtMtVcH/00HZv5RqIyMvy+3xhqkQuT7
 eqP7VpW1nqrpvzYqZz2G/x0CNtCa+ufpzYrcGJWoiNe7cOP8hYWuCR+rLzhHev+a
 7x1jZgVGWNCnLvC339PRu+65QpLt0qmWUR0w/F+93Acrdx9LrFtnpH9OgjbgM8m2
 5BJVHVBE3vuGdGFwRWPJuEOy62RFxsqlD2MhgXlXyCTUJPQso/3Ef+ft4inJKQ2r
 Ffi3PlD3j3TPtSaPPCit72zYqmstvrUsgl0PWjVCsWhhTOA/ZQzlKak0S/uLqT9x
 tCqJYFER2SaYx77klRMN0lbXXt6teue0WZnmGZuUQUANGpbalVTQQ4xlxAr34Uc=
 =ZBYA
 -----END PGP SIGNATURE-----

Merge tag 'trace-3.8-rc3-regression-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull tracing regression fixes from Steven Rostedt:
 "The clean up patch commit 0fb9656d95 "tracing: Make tracing_enabled
  be equal to tracing_on" caused two regressions.

   1) The irqs off latency tracer no longer starts if tracing_on is off
      when the tracer is set, and then tracing_on is enabled.  The
      tracing_on file needs the hook that tracing_enabled had to enable
      tracers if they request it (call the tracer's start() method).

   2) That commit had a separate change that really should have been a
      separate patch, but it must have been added accidently with the -a
      option of git commit.  But as the change is still related to the
      commit it wasn't noticed in review.  That change, changed the way
      blocking is done by the trace_pipe file with respect to the
      tracing_on settings.  I've been told that this change breaks
      current userspace, and this specific change is being reverted."

* tag 'trace-3.8-rc3-regression-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Fix regression of trace_pipe
  tracing: Fix regression with irqsoff tracer and tracing_on file
2013-01-14 20:22:16 -08:00
Linus Torvalds
7dea1ff3b7 regmap: Optimisation fixes for debugfs
The debugfs optimisations merged in v3.8 weren't my finest hour, there
 were a number of cases that the more complex algorithm made worse
 especially around the error handling. This patch series should address
 those issues.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ9KeaAAoJELSic+t+oim9aE4P/jx/stbEFNZt1DhTHrjcn1P5
 n5ZxDntvG1LqLbW0islJhVHJO/DOwe6tw14t9lVdlNgkSjlyoijAWYCCNKeObNDV
 R56Ee5lX8EIaYF75VxGE2KeFQWk1pj9JdEJ+vTnrpBadCqTJ18rU66IVHIf7LVMd
 nQFx1pfIS3Wdvtzmjov2Swppk6mPOao0WrDdO5W+u+nD7svdeOxrjtzquv7Zgt5F
 cFBQC6wb+cRnTj4YbWhn/fleajk19Ijv5xMCbI07+kKEu2blxB3I32cWavkSxIzL
 /e3UIT1ymzL8ma+tbT12kya+KVmlpzj4lg22eUGprLAI3u9OekmlyBFsWaJ4dDy4
 A31M0RS22oYPfpJx8QW44bP10TowH49QrhLZorpIMdLOOTLE+h7Ok2IPue54h85U
 zZyJ6jynof1wMDC3pjQvwPMmneZEU274vZOZOI66Fuw5V6kPnaxDcg5VCp2XOqMG
 ZhMC4laeZbpTQjxnQkexsJVGgg4K0iu16RQrjRNdDvoCAbdMejmDdED8L/q+xX8E
 6JsSNOzhnzPDykuKxsJeGQleKLAUCg6DWiWneGqDAu+/wYqJwrGKfYj6NLnD8o1m
 Bv4FZGGxBgpL2rW5Wk8vVDMwdb2r+aukGE9RBDfcvtTxWaWWjo1QM8TQpaPBkzMb
 aEgo68d/S//0phA3HXf9
 =unOt
 -----END PGP SIGNATURE-----

Merge tag 'regmap-debugfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap debugfs optimisation fixes from Mark Brown:
 "The debugfs optimisations merged in v3.8 weren't my finest hour, there
  were a number of cases that the more complex algorithm made worse
  especially around the error handling.  This patch series should
  address those issues."

* tag 'regmap-debugfs-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: debugfs: Make sure we store the last entry in the offset cache
  regmap: debugfs: Ensure a correct return value for empty caches
  regmap: debugfs: Discard the cache if we fail to allocate an entry
  regmap: debugfs: Fix check for block start in cached seeks
  regmap: debugfs: Fix attempts to read nonexistant register blocks
2013-01-14 20:20:44 -08:00
Linus Torvalds
2ac1e664a9 regulator: Fixes for 3.8
A few fixes for the regulator subsystems, a few driver specific things
 plus a fix for the interaction between regultor_can_change_voltage() and
 continuous voltage ranges both of which were added for this release.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ9KWwAAoJELSic+t+oim9ctIP/24/GAoSg5XlfwrViMbYggMZ
 q95qQUy0OKRyWtWOmMbmCwgz4clvvD3flrlp068bOLxL9YNkVorJBT0k7cWVy0tP
 Jw/0LxLKZbImJDu2el4OV6F+Apzg+x/0Vq+uDh81nuqvf5KUZCAT97ZCVrgvNNMw
 6N1fRW/flcR59oyJWogo1ch7mIwF6RI+Gl6JxPoIS+oXardGDLRMo9w+f7QwJjih
 Qf+J6FtwQ7mTmx7KeE3T5VhTlECfO4G0/Q14vX1rOpB9/YQ2FRxpq1sz1xATCl8t
 UFfUXasaClcJxcyI8UJhDGnfmqKdOmZILHsdG1Bb11LjVsQBY1Rgv02vjomReZZD
 bUhU8Tn9784BV+bVeGHBPebVsAcVJsXXv8hr7xIAUfB2VvQtv7NxNSw7ZsVfrwJD
 UWiQedqpfQaMMzWLfvaW7dlsh6HRwhwrnnQFV4+B9I6LtGB9EWqYa3TsFS3IXsQX
 hyP+EWg3O0XhsmJYnI/ZZtO9YjifvEubhnfPRr/pUcv+I0PB5X4w9NZsLhFRVz6z
 r8kbWCp0VEVr4YtoP/BZ9XXavz8/2fScWr2xmUTCtx5ZqiWRpOLX2Bch2caKHNy/
 E+5gzhWPps46RPJi1FpFXKL2OMPwFBNBlTKgi5YiKHmgi5D9Dbu30huhB3kPyJOR
 nceJVN5pNjGYJf49j2m3
 =a/VB
 -----END PGP SIGNATURE-----

Merge tag 'regulator-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
 "A few fixes for the regulator subsystems, a few driver specific things
  plus a fix for the interaction between regultor_can_change_voltage()
  and continuous voltage ranges both of which were added for this
  release."

* tag 'regulator-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: max8998: Ensure enough delay time for max8998_set_voltage_buck_time_sel
  regulator: max8998: Use uV in voltage_map_desc
  regulator: max8997: Use uV in voltage_map_desc
  regulator: core: Fix comment for regulator_register()
  regulator: core: Fix continuous_voltage_range case in regulator_can_change_voltage
  regulator: s5m8767: Fix probe failure due to stack corruption
2013-01-14 20:20:03 -08:00
Olof Johansson
f8060f5446 Initial irqchip init infrastructure and GIC and VIC clean-ups
This creates irqchip initialization infrastructure from Thomas
 Petazzoni. The VIC and GIC irqchip code is moved to drivers/irqchips
 and adapted to use the new infrastructure. All DT enabled platforms
 using GIC and VIC are converted over to use the new irqchip_init.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ8ZobAAoJEMhvYp4jgsXiihIH/2VvxmSHZb0e3jN6AR0B42b7
 9EwX0IE0B23t91hNTwdzzmTJQYA7pMmWkgHNfd3vIeqSepJAmrVv/gp4iM9CtPwE
 KNh+kDWOK2ZsOH4Vb0lYRJHN8WQOIQHuCUr9+MdYLNOgf/pPL6G/Y9kv9A1e7fTC
 W+tFRjC5N1ilZMGyowX12L1wnwDk6kHzed6YV6bskC17cZ9/pg8PhSVbM4A/3kAv
 NXYKqbXJb+eCsWGXg/knZXOL6V9gBwvVYoe4O9X3nQ0226AWB9caad8l8tchAjRB
 fmrYF1tbkpOWPnLxhvQy5b5MJichJgTMJHh7RgiEcc/3f63kOljjlx4QKiqHvT0=
 =q7gm
 -----END PGP SIGNATURE-----

Merge tag 'gic-vic-to-irqchip' of git://sources.calxeda.com/kernel/linux into next/cleanup

From Rob Herring:

Initial irqchip init infrastructure and GIC and VIC clean-ups

This creates irqchip initialization infrastructure from Thomas
Petazzoni. The VIC and GIC irqchip code is moved to drivers/irqchips
and adapted to use the new infrastructure. All DT enabled platforms
using GIC and VIC are converted over to use the new irqchip_init.

* tag 'gic-vic-to-irqchip' of git://sources.calxeda.com/kernel/linux:
  irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h
  ARM: picoxcell: use common irqchip_init function
  ARM: spear: use common irqchip_init function
  irqchip: Move ARM VIC to drivers/irqchip
  ARM: samsung: remove unused tick.h
  ARM: remove unneeded vic.h includes
  ARM: remove mach .handle_irq for VIC users
  ARM: VIC: set handle_arch_irq in VIC initialization
  ARM: VIC: shrink down vic.h
  irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
  ARM: use common irqchip_init for GIC init
  irqchip: Move ARM GIC to drivers/irqchip
  ARM: remove mach .handle_irq for GIC users
  ARM: GIC: set handle_arch_irq in GIC initialization
  ARM: GIC: remove direct use of gic_raise_softirq
  ARM: GIC: remove assembly ifdefs from gic.h
  ARM: mach-ux500: use SGI0 to wake up the other core
  arm: add set_handle_irq() to register the parent IRQ controller handler function
  irqchip: add basic infrastructure
  irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS

Fixed up massive merge conflicts with the timer cleanup due to adjacent changes:

Signed-off-by: Olof Johansson <olof@lixom.net>

Conflicts:
	arch/arm/mach-bcm/board_bcm.c
	arch/arm/mach-cns3xxx/cns3420vb.c
	arch/arm/mach-ep93xx/adssphere.c
	arch/arm/mach-ep93xx/edb93xx.c
	arch/arm/mach-ep93xx/gesbc9312.c
	arch/arm/mach-ep93xx/micro9.c
	arch/arm/mach-ep93xx/simone.c
	arch/arm/mach-ep93xx/snappercl15.c
	arch/arm/mach-ep93xx/ts72xx.c
	arch/arm/mach-ep93xx/vision_ep9307.c
	arch/arm/mach-highbank/highbank.c
	arch/arm/mach-imx/mach-imx6q.c
	arch/arm/mach-msm/board-dt-8960.c
	arch/arm/mach-netx/nxdb500.c
	arch/arm/mach-netx/nxdkn.c
	arch/arm/mach-netx/nxeb500hmi.c
	arch/arm/mach-nomadik/board-nhk8815.c
	arch/arm/mach-picoxcell/common.c
	arch/arm/mach-realview/realview_eb.c
	arch/arm/mach-realview/realview_pb1176.c
	arch/arm/mach-realview/realview_pb11mp.c
	arch/arm/mach-realview/realview_pba8.c
	arch/arm/mach-realview/realview_pbx.c
	arch/arm/mach-socfpga/socfpga.c
	arch/arm/mach-spear13xx/spear1310.c
	arch/arm/mach-spear13xx/spear1340.c
	arch/arm/mach-spear13xx/spear13xx.c
	arch/arm/mach-spear3xx/spear300.c
	arch/arm/mach-spear3xx/spear310.c
	arch/arm/mach-spear3xx/spear320.c
	arch/arm/mach-spear3xx/spear3xx.c
	arch/arm/mach-spear6xx/spear6xx.c
	arch/arm/mach-tegra/board-dt-tegra20.c
	arch/arm/mach-tegra/board-dt-tegra30.c
	arch/arm/mach-u300/core.c
	arch/arm/mach-ux500/board-mop500.c
	arch/arm/mach-ux500/cpu-db8500.c
	arch/arm/mach-versatile/versatile_ab.c
	arch/arm/mach-versatile/versatile_dt.c
	arch/arm/mach-versatile/versatile_pb.c
	arch/arm/mach-vexpress/v2m.c
	include/asm-generic/vmlinux.lds.h
2013-01-14 19:55:03 -08:00
Nithin Nayak Sujir
daf3ec688e tg3: Fix crc errors on jumbo frame receive
TG3_PHY_AUXCTL_SMDSP_ENABLE/DISABLE macros do a blind write to the phy
auxiliary control register and overwrite the EXT_PKT_LEN (bit 14) resulting
in intermittent crc errors on jumbo frames with some link partners. Change
the code to do a read/modify/write.

Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 22:09:29 -05:00
Nithin Nayak Sujir
9c13cb8bb4 tg3: Avoid null pointer dereference in tg3_interrupt in netconsole mode
When netconsole is enabled, logging messages generated during tg3_open
can result in a null pointer dereference for the uninitialized tg3
status block. Use the irq_sync flag to disable polling in the early
stages. irq_sync is cleared when the driver is enabling interrupts after
all initialization is completed.

Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 22:09:29 -05:00
Paul Gortmaker
55eb555d96 drivers/net: delete orphaned MCA ibmlana driver content
In commit a5e371f61a ("drivers/net: delete
all code/drivers depending on CONFIG_MCA") most of the MCA drivers went,
including the Kconfig/Makefile hooks for ibmlana, but it seems that I
missed the "git rm" on these actual driver files, and with the namespace
overlap with machine check architecture, it got missed by various git
grep type checking done at that time.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 21:26:06 -05:00
Mark Brown
e3d5b2f570 Merge remote-tracking branch 'regulator/fix/s5m8767' into tmp 2013-01-15 09:38:59 +09:00
Mark Brown
3ab91da2f1 Merge remote-tracking branch 'regulator/fix/max8998' into tmp 2013-01-15 09:38:56 +09:00
Mark Brown
c63184673e Merge remote-tracking branch 'regulator/fix/max8997' into tmp 2013-01-15 09:38:51 +09:00
Mark Brown
a1ed63f4db Merge remote-tracking branch 'regulator/fix/core' into tmp 2013-01-15 09:38:27 +09:00
Simon Horman
8098df15c2 ARM: mach-shmobile: kzm9d: update defconfig
* Do not disable SUSPEND

  Suspend seems to work fine on the kzm9d.

  This is part of an effort reduce differences between mach-shmobile
  defconfigs with a view to using a common defconfig.

* Enable PM_RUNTIME

  This also seems to work fine on the kzm9d.

  This is part of an effort reduce differences between mach-shmobile
  defconfigs with a view to using a common defconfig.

* Move kernel command line from defconfig to dts.

  This brings us one small step closer to sharing defconfig
  between kzm9d and other boards.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-15 08:57:09 +09:00
Simon Horman
f90755d07d ARM: mach-shmobile: armadillo: update defconfig
* Enable ARM_APPENDED_DTB

  Typically the bootloader of an armadillo board does not support DT
  so this option is useful.

* Do not disable SUSPEND

  Suspend seems to work fine on the armadillo

* Enable PM_RUNTIME

  This also seems to work fine.

* Move command line to dts

  This brings us one small step closer to sharing defconfig
  between armadillo and other boards

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-15 08:57:09 +09:00
Simon Horman
be91900655 ARM: mach-shmobile: kzm9g: defconfig update
* Enable ARM_APPENDED_DTB

  Typically the bootloader of a kzm9g board does not support DT
  so this option is useful.

* Use voltage regulators by default

* Move command line to dts

  This brings us one small step closer to sharing defconfig
  between kzm9g and other boards

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-15 08:57:08 +09:00
Simon Horman
a2c1d075e8 ARM: mach-shmobile: fix memory size for kota2_defconfig
The CONFIG_MEMORY_SIZE value is interpreted as a 32 bit integer, which
makes sense on a system without PAE. It appears that a trailing 0 was
appended to the value and after some testing it appears that 0x1e000000 is
the correct value.

Without this patch, building kota2_defconfig results in:

/home/arnd/linux-arm/arch/arm/kernel/setup.c:790:2: warning: large integer implicitly truncated to unsigned type [-Woverflow]

Reported-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-15 08:56:59 +09:00
David S. Miller
47fb3a26e2 Merge branch 'master' of git://1984.lsi.us.es/nf
Pablo Neira Ayuso says:

====================
The following patchset contains netfilter fixes for 3.8-rc3,
they are:

* fix possible BUG_ON if several netns are in use and the nf_conntrack
  module is removed, initial patch from Gao feng, final patch from myself.

* fix unset return value if conntrack zone are disabled at
  compile-time, reported by Borislav Petkov, fix from myself.

* fix display error message via dmesg for arp_tables, from Jan Engelhardt.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 18:26:41 -05:00
Colin Ian King
9e16721498 PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported
Right now using pcie_aspm=force will not enable ASPM if the FADT indicates
ASPM is unsupported.  However, the semantics of force should probably allow
for this, especially as they did before 3c076351c4 ("PCI: Rework ASPM
disable code")

This patch just skips the clearing of any ASPM setup that the firmware has
carried out on this bus if pcie_aspm=force is being used.

Reference: http://bugs.launchpad.net/bugs/962038
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: stable@vger.kernel.org
2013-01-14 16:23:42 -07:00
Paul Moore
5dbbaf2de8 tun: fix LSM/SELinux labeling of tun/tap devices
This patch corrects some problems with LSM/SELinux that were introduced
with the multiqueue patchset.  The problem stems from the fact that the
multiqueue work changed the relationship between the tun device and its
associated socket; before the socket persisted for the life of the
device, however after the multiqueue changes the socket only persisted
for the life of the userspace connection (fd open).  For non-persistent
devices this is not an issue, but for persistent devices this can cause
the tun device to lose its SELinux label.

We correct this problem by adding an opaque LSM security blob to the
tun device struct which allows us to have the LSM security state, e.g.
SELinux labeling information, persist for the lifetime of the tun
device.  In the process we tweak the LSM hooks to work with this new
approach to TUN device/socket labeling and introduce a new LSM hook,
security_tun_dev_attach_queue(), to approve requests to attach to a
TUN queue via TUNSETQUEUE.

The SELinux code has been adjusted to match the new LSM hooks, the
other LSMs do not make use of the LSM TUN controls.  This patch makes
use of the recently added "tun_socket:attach_queue" permission to
restrict access to the TUNSETQUEUE operation.  On older SELinux
policies which do not define the "tun_socket:attach_queue" permission
the access control decision for TUNSETQUEUE will be handled according
to the SELinux policy's unknown permission setting.

Signed-off-by: Paul Moore <pmoore@redhat.com>
Acked-by: Eric Paris <eparis@parisplace.org>
Tested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 18:16:59 -05:00
Paul Moore
6f96c142f7 selinux: add the "attach_queue" permission to the "tun_socket" class
Add a new permission to align with the new TUN multiqueue support,
"tun_socket:attach_queue".

The corresponding SELinux reference policy patch is show below:

 diff --git a/policy/flask/access_vectors b/policy/flask/access_vectors
 index 28802c5..a0664a1 100644
 --- a/policy/flask/access_vectors
 +++ b/policy/flask/access_vectors
 @@ -827,6 +827,9 @@ class kernel_service

  class tun_socket
  inherits socket
 +{
 +       attach_queue
 +}

  class x_pointer
  inherits x_device

Signed-off-by: Paul Moore <pmoore@redhat.com>
Acked-by: Eric Paris <eparis@parisplace.org>
Tested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 18:16:59 -05:00
Eric Dumazet
cce894bb82 tcp: fix a panic on UP machines in reqsk_fastopen_remove
spin_is_locked() on a non !SMP build is kind of useless.

BUG_ON(!spin_is_locked(xx)) is guaranteed to crash.

Just remove this check in reqsk_fastopen_remove() as
the callers do hold the socket lock.

Reported-by: Ketan Kulkarni <ketkulka@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jerry Chu <hkchu@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Dave Taht <dave.taht@gmail.com>
Acked-by: H.K. Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 18:10:05 -05:00
Olof Johansson
175dbc1eea Move arch-vt8500/timer.c to drivers/clocksource/vt8500-timer.c
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ85D4AAoJEAKiPfwuf9N/H54IAKG3Z1cimwst/lS04C0IHvDt
 v//BqaXjTDkYe1bfTp4ButILVW024hQru0MVNNpQanE5H9EUGuGQ98NxkRGuj0na
 7mmWNJypL6+8ajA1256hQD40dYDnn7rx6tXjFPZ2DICJ9gnpGJTkjbnP/Qxeljgl
 s8dYigEN51sUvAdTx07IQ8fOb+W3KQCs5kHAork8NqtHHzYyOPhs5IvV/a+Ti9Ms
 v1KLOhX9F9iV5LURycnM900/bpz7/gHKWXw+shFnt3GwPzyB2beS+Mi2rxrrUOhq
 Q8zHcn52tD9tljiOSVtJDCsUBo1xOJ0HFuhal6rAvX1L5HnFEU8bHcRA8jNLFyE=
 =/DHH
 -----END PGP SIGNATURE-----

Merge tag 'vt8500/timer' of git://server.prisktech.co.nz/git/linuxwmt into next/cleanup

From Tony Prisk:
Move arch-vt8500/timer.c to drivers/clocksource/vt8500-timer.c

* tag 'vt8500/timer' of git://server.prisktech.co.nz/git/linuxwmt:
  timer: vt8500: Move timer code to drivers/clocksource

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-14 14:13:48 -08:00
Namjae Jeon
1b1baff6e5 UDF: Fix a null pointer dereference in udf_sb_free_partitions
This patch fixes a regression caused by commit bff943af6f "udf: Fix memory
leak when mounting" due to which it was triggering a kernel null point
dereference in case of interrupted mount OR when allocating memory to
sbi->s_partmaps failed in function udf_sb_alloc_partition_maps.

Reported-and-tested-by: James Hogan <james@albanarts.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
Signed-off-by: Jan Kara <jack@suse.cz>
2013-01-14 22:53:47 +01:00
Eric Sandeen
7e2fb2d7e6 jbd: don't wake kjournald unnecessarily
Don't send an extra wakeup to kjournald in the case where we
already have the proper target in j_commit_request, i.e. that
commit has already been requested for commit.

commit d9b0193 "jbd: fix fsync() tid wraparound bug" changed
the logic leading to a wakeup, but it caused some extra wakeups
which were found to lead to a measurable performance regression.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
2013-01-14 22:50:45 +01:00
Linus Torvalds
3152ba0f86 DeviceTree fixes for 3.8
2 fixes to prevent unconditional re-compile of dts files on arm and arm64.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJQ9HKkAAoJEMhvYp4jgsXihT0H/RSUuhC02eQV7mkIJwPVROwd
 8nbdRAes22g2nbBN0NDDsZ6GCGjVBx/rt1MhS/yhzE6GqKkT+MnpQ+yE3A0xK+BP
 bdqYFmajXauHNrPo6jp9HRwui7BKU9GMl2bkN39kALtY35Fo25XaGelsC+ue6KAg
 VFA+iuHG9wEaVbYX/77IyTDjSECKbrcfGGlN1WHIIrFjIQDMA7BjoNb9kyT5oS+l
 kdS5n5MC1rCeg7lKD1ScVqPye5eOFjk35ZjJEfkfR/dXRsds1/wp17lH4rxC6Fcp
 /9eEK3GeYAueQCTyHRDmkUtMGCA9qij0cUjVQkYf7Je6pHdQ5x7/eQXiHcKEv/M=
 =cMYU
 -----END PGP SIGNATURE-----

Merge tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux

Pull devicetree fixes from Rob Herring:
 "Two fixes to prevent unconditional re-compile of dts files on arm and
  arm64."

* tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux:
  ARM: dts: prevent *.dtb from always being rebuilt
  arm64: dts: prevent *.dtb from always being rebuilt
2013-01-14 13:19:08 -08:00
Linus Torvalds
6d283dba37 vfs: add missing virtual cache flush after editing partial pages
Andrew Morton pointed this out a month ago, and then I completely forgot
about it.

If we read a partial last page of a block device, we will zero out the
end of the page, but since that page can then be mapped into user space,
we should also make sure to flush the cache on architectures that have
virtual caches.  We have the flush_dcache_page() function for this, so
use it.

Now, in practice this really never matters, because nobody sane uses
virtual caches to begin with, and they largely exist on old broken RISC
arhitectures.

And even if you did run on one of those obsolete CPU's, the whole "mmap
and access the last partial page of a block device" behavior probably
doesn't actually exist.  The normal IO functions (read/write) will never
see the zeroed-out part of the page that migth not be coherent in the
cache, because they honor the size of the device.

So I'm marking this for stable (3.7 only), but I'm not sure anybody will
ever care.

Pointed-out-by: Andrew Morton <akpm@linux-foundation.org>
Cc: stable@vger.kernel.org  # 3.7
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-01-14 13:17:50 -08:00
Eric Dumazet
73bf0d0eec ifb: dont hard code inet_net use
ifb should lookup devices in the appropriate namespace.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 15:13:39 -05:00
Florian Fainelli
f9a8f83b04 net: phy: remove flags argument from phy_{attach, connect, connect_direct}
The flags argument of the phy_{attach,connect,connect_direct} functions
is then used to assign a struct phy_device dev_flags with its value.
All callers but the tg3 driver pass the flag 0, which results in the
underlying PHY drivers in drivers/net/phy/ not being able to actually
use any of the flags they would set in dev_flags. This patch gets rid of
the flags argument, and passes phydev->dev_flags to the internal PHY
library call phy_attach_direct() such that drivers which actually modify
a phy device dev_flags get the value preserved for use by the underlying
phy driver.

Acked-by: Kosta Zertsekel <konszert@marvell.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 15:11:50 -05:00
Nathan Hintz
660b9caaad bcma: use consistent case for 'hex' constants
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:41 -05:00
Nathan Hintz
b09e9abd09 bcma: add support for 1 and 2 byte extended config space access
The sanity checks allow 1 and 2 byte reads/writes of the extended
PCI config space to proceed; however, the code only supports 4
byte reads/writes.  This patch adds support for 1 and 2 byte
reads/writes of the extended PCI config space.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:41 -05:00
Nathan Hintz
447d7e25be bcma: don't map/unmap a subset of the PCI config space
For PCI config space access offsets < 256 for device '0',
bcma_extpci_write_config performs an 'ioremap_nocache' on a 4 byte
section of the PCI config space (an area that has already
previously been mapped), and then subsequently unmaps that 4 byte
section.  This can't be a good thing for future read access from
that now unmapped location.  Modify the config space writes to use
the existing access functions (similar to how it is done for the reads).

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:41 -05:00
Nathan Hintz
a35ab937cb bcma: jump to 'out' label for invalid 'func' value
Consistently jump to the 'out' label for error conditions (adds
missing check for 'func' validity in bcma_extpci_write_config).

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:40 -05:00
Nathan Hintz
f6734627ed bcma: delete duplicate readl
The 'val' has already been read by the prior call to 'mips_busprobe32';
this 'readl' is unnecessary.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:40 -05:00
Nathan Hintz
6bf2e54614 bcma: fix bcm4716/bcm4748 i2s irqflag
The default irqflag assignment for the I2S core on some Broadcom
4716/4748 devices is invalid and needs to be corrected (from the
Broadcom SDK).

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:40 -05:00
Fengguang Wu
e2d4a24e03 ath9k_hw: ar9002_hw_spectral_scan_config() can be static
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:10:40 -05:00
Benjamin LaHaise
c1b52739e4 pkt_sched: namespace aware act_mirred
Eric Dumazet pointed out that act_mirred needs to find the current net_ns,
and struct net pointer is not provided in the call chain.  His original
patch made use of current->nsproxy->net_ns to find the network namespace,
but this fails to work correctly for userspace code that makes use of
netlink sockets in different network namespaces.  Instead, pass the
"struct net *" down along the call chain to where it is needed.

This version removes the ifb changes as Eric has submitted that patch
separately, but is otherwise identical to the previous version.

Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
Tested-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-14 15:09:36 -05:00
John W. Linville
50c2f5e8f9 This is the first NFC patchset targeted at the 3.9 merge window.
It brings the following goodies:
 
 - LLCP socket timestamping (To be used e.g with the recently released nfctool
   application for a more efficient skb timestamping when sniffing).
 - A pretty big pn533 rework from Waldemar, preparing the driver to support
   more flavours of pn533 based devices.
 - HCI changes from Eric in preparation for the microread driver support.
 - Some LLCP memory leak fixes, cleanups and slight improvements.
 - pn544 and nfcwilink move to the devm_kzalloc API.
 - An initial Secure Element (SE) API.
 - An nfc.h license change from the original author, allowing non GPL
   application code to safely include it.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQ8+7TAAoJEIqAPN1PVmxKHQIP/3dfFPQsOxQRj6sIkFVE/Yzh
 AomeiBh5oGsZkxWzGEolWvHU+DEYTZFz/TKyhneHtWIENTj8+ueo1dh5i35DcKvL
 NiZJT3ASqyJV1ipwQG102y6J511pJsVoQkFSh0Xb/yTDNjwZnL9Jp2N3vsb3rJyN
 DzqNHOx+oCZvjeoGaUzRyjgndcWzeVw0f5IuyRJlCUdh9bj3Er1uP6ugCMiUkMBH
 FcY3Qwdc4WbgtpyYv+Y79/vny1kQ+JPf0Rk9VlylcFZ5RsLEc7K3G3rrTQZktlAT
 /fCVxURotu8XdFf6lj0qRHLnrnTICj1sDcApVOm2XtoXicOtw0q9GaUJVvgPChkc
 vJ2bAYrWMeQ1FZJQt5DaQdsfsglq64ROiAlI8/s9upKP3+Pt0HNnKqUXEZVYTnxZ
 wgFVj20nO2vl5tmI3Z65ZyA1cJ1uSsOcCH8sB7V+OJYQoSKWVyxJw5AOHHh3tHz7
 +JfNrfTvIYG5woUivFmpdVslOHXMCe+lUfrXbvNCfF1PFsTUaQWa/dpxq6/pD991
 eTn5uP+UoJqL5oiYQJzwbKMvQ+3qGPxQuaVhbicRQRiCYA3yflg43iN8aSe4ARzs
 5dxY66WZgmAG1gamKxx7tJiPmkmgrrd/jAztLHdEZLmYnDUr+yQoazkaTOcWUCBt
 J7RoY3HcZsiDYwuB/D14
 =YeWq
 -----END PGP SIGNATURE-----

Merge tag 'nfc-next-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next

Samuel Ortiz <sameo@linux.intel.com> says:

"This is the first NFC patchset targeted at the 3.9 merge window.

It brings the following goodies:

- LLCP socket timestamping (To be used e.g with the recently released nfctool
  application for a more efficient skb timestamping when sniffing).
- A pretty big pn533 rework from Waldemar, preparing the driver to support
  more flavours of pn533 based devices.
- HCI changes from Eric in preparation for the microread driver support.
- Some LLCP memory leak fixes, cleanups and slight improvements.
- pn544 and nfcwilink move to the devm_kzalloc API.
- An initial Secure Element (SE) API.
- An nfc.h license change from the original author, allowing non GPL
  application code to safely include it."

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-14 15:08:52 -05:00