Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 as of 2011/07/21

This was the last nf-next-2.6 merge available.

Merge commit 'f5caadbb3d8fc0b71533e880c684b2230bdb76ac' into ak-cylon-4.2.2-nf-next

Conflicts:
	drivers/Kconfig
	drivers/Makefile
	drivers/bluetooth/btusb.c
	drivers/infiniband/core/addr.c
	drivers/infiniband/hw/cxgb3/iwch_cm.c
	drivers/infiniband/hw/cxgb4/cm.c
	drivers/infiniband/hw/nes/nes_cm.c
	drivers/infiniband/ulp/ipoib/ipoib_main.c
	drivers/infiniband/ulp/ipoib/ipoib_multicast.c
	drivers/net/benet/be_main.c
	drivers/net/bnx2.c
	drivers/net/cnic.c
	drivers/net/r8169.c
	drivers/net/sungem.c
	drivers/net/tg3.c
	drivers/net/wan/ixp4xx_hss.c
	drivers/net/wireless/ath/ath5k/base.c
	drivers/net/wireless/iwlegacy/iwl-core.c
	drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
	drivers/net/wireless/iwlwifi/iwl-agn.c
	drivers/net/wireless/iwlwifi/iwl-tx.c
	drivers/net/wireless/rt2x00/rt2800lib.c
	drivers/net/wireless/rt2x00/rt2x00queue.c
	include/linux/netlink.h
	include/linux/nl80211.h
	include/net/arp.h
	include/net/bluetooth/hci_core.h
	include/net/bluetooth/l2cap.h
	include/net/bluetooth/mgmt.h
	include/net/bluetooth/smp.h
	include/net/cfg80211.h
	include/net/dst.h
	include/net/rtnetlink.h
	lib/Makefile
	net/Makefile
	net/bluetooth/hci_conn.c
	net/bluetooth/hci_core.c
	net/bluetooth/hci_event.c
	net/bluetooth/hci_sock.c
	net/bluetooth/l2cap_core.c
	net/bluetooth/l2cap_sock.c
	net/bluetooth/mgmt.c
	net/bluetooth/rfcomm/sock.c
	net/bluetooth/smp.c
	net/bridge/br_netfilter.c
	net/core/dst.c
	net/core/neighbour.c
	net/core/rtnetlink.c
	net/decnet/dn_neigh.c
	net/decnet/dn_route.c
	net/ipv4/arp.c
	net/ipv4/ip_output.c
	net/ipv4/route.c
	net/ipv6/addrconf.c
	net/ipv6/ip6_fib.c
	net/ipv6/ip6_output.c
	net/ipv6/route.c
	net/mac80211/mlme.c
	net/mac80211/rc80211_minstrel_ht.c
	net/mac80211/util.c
	net/netfilter/nfnetlink.c
	net/netlink/af_netlink.c
	net/sched/sch_teql.c
	net/wireless/mlme.c
	net/wireless/nl80211.c
	net/wireless/nl80211.h

The following files had patches regressed to allow for a complete build after the merge:

	include/net/dst.h
	include/net/ipv6.h
	include/net/inet6_hashtables.h
	include/net/transp_v6.h
	net/ipv6/af_inet6.c
	net/core/dst.c
	net/ipv6/ip6_output.c
	net/ipv6/tcp_ipv6.c
	net/ipv6/udp.c
	net/xfrm/xfrm_policy.c

Additional merges will bring them up to par soon.

Conflicts:
	net/bluetooth/l2cap_core.c
	net/dcb/dcbnl.c
	net/netfilter/nfnetlink.c
ip: introduce ip_is_fragment helper inline function

There are enough instances of this:

    iph->frag_off & htons(IP_MF | IP_OFFSET)

that a helper function is probably warranted.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net: Fix build failures due to ip_is_fragment()

It needs to be available even when CONFIG_INET is not set.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kernel Version: AK.020
gpu: ion: Modify ION_NUM_HEAPS to reflect actual max

ION_NUM_HEAPS is meant to represent the actual max number
of heap types in the system, but currently doesn't reflect
any custom heaps.  This patch changes it to 16.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
twl-rtc: mask alarm interrupts at shutdown.

twl-rtc: mask alarm interrupts at shutdown.

Mask alarm interrupts when the system is shutdown so that we don't
get powered up unnecessarily.

Change-Id: I732577f1d62a28e880c193a3d7d7d6bcdaf863d2
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Semen Protsenko <semen.protsenko@ti.com>
OMAP: EMIF: fix LP_MODE_PWR_DN value definition

OMAP: EMIF: fix LP_MODE_PWR_DN value definition

According to TRM the EMIF Power-down mode is identified
by value 0x4 (EMIF_PWR_MGMT_CTRL.REG_LP_MODE)

Change-Id: I4d9b9534dea27ab4619af5b6d78de8ab14f0fead
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Revert "OMAP4: cpuidle: Add last_residency trace event for residency profiling"

This reverts commit a31318269859d926ff6abfa37c075d1b8c8675ca.
Revert "OMAP4: cpuidle: Update target residencies to saner values - Thanks Thalamus"

This reverts commit 72292bf647f6c23bdee9968372abf0af32f79f03.
Revert "OMAP4: cpuidle: Some obvious optimisations to the code path"

This reverts commit f27bb9b084b1580880aedd53918ff047d4edd96c.
cpuidle: create bootparam "cpuidle.off=1"

useful for disabling cpuidle to fall back
to architecture-default idle loop

cpuidle drivers and governors will fail to register.
on x86 they'll say so:

intel_idle: intel_idle yielding to (null)
ACPI: acpi_idle yielding to (null)

Signed-off-by: Len Brown <len.brown@intel.com>
cpuidle: replace xen access to x86 pm_idle and default_idle

When a Xen Dom0 kernel boots on a hypervisor, it gets access
to the raw-hardware ACPI tables.  While it parses the idle tables
for the hypervisor's beneift, it uses HLT for its own idle.

Rather than have xen scribble on pm_idle and access default_idle,
have it simply disable_cpuidle() so acpi_idle will not load and
architecture default HLT will be used.

cc: xen-devel@lists.xensource.com
Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
cpuidle: stop depending on pm_idle

cpuidle users should call cpuidle_call_idle() directly
rather than via (pm_idle)() function pointer.

Architecture may choose to continue using (pm_idle)(),
but cpuidle need not depend on it:

  my_arch_cpu_idle()
	...
	if(cpuidle_call_idle())
		pm_idle();

cc: Kevin Hilman <khilman@deeprootsystems.com>
cc: Paul Mundt <lethal@linux-sh.org>
cc: x86@kernel.org
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
cpuidle: Add module.h to drivers/cpuidle files as required.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
cpuidle: ladder.c needs module.h and not just moduleparam.h

This file has module_init/exit and MODULE_LICENSE, and so it
needs the full module.h header.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Conflicts:
	drivers/cpuidle/governors/ladder.c
cpuidle: Fix build on ARM and SH

Commit 5f8cf82 (cpuidle: stop using pm_idle) converted arches to use
cpuidle_idle_call() but contained typos on ARM and SH transposing the
function name into cpuidle_call_idle().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cpuidle: Inform RCU of read-side critical sections

From: "Paul E. McKenney" <paul.mckenney@linaro.org>

The cpuidle_idle_call() function is invoked in the inner idle loop,
after the call to rcu_idle_enter() and before the call to rcu_idle_exit().
This means that RCU is ignoring the CPU at this point.  Unfortunately,
cpuidle_idle_call() nevertheless contains tracepoints (important ones
used by powertop) that expect RCU to be paying attention.  The consequences
of using RCU read-side critical sections on CPUs that RCU is ignoring
can be severe, including random corruption of random memory.

Therefore, this commit uses the new RCU_NONIDLE() macro to let RCU
do its job with respect to the tracepoints.

Suggested-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Trinabh Gupta <g.trinabh@gmail.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
modified by faux123
cpuidle: Remove CPUIDLE_FLAG_IGNORE and dev->prepare()

The cpuidle_device->prepare() mechanism causes updates to the
cpuidle_state[].flags, setting and clearing CPUIDLE_FLAG_IGNORE
to tell the governor not to chose a state on a per-cpu basis at
run-time. State demotion is now handled by the driver and it returns
the actual state entered. Hence, this mechanism is not required.
Also this removes per-cpu flags from cpuidle_state enabling
it to be made global.

Reference:
https://lkml.org/lkml/2011/3/25/52

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
cpuidle: refactor out cpuidle_enter_state

Split the code to enter a state and update the stats into a helper
function, cpuidle_enter_state, and export it.  This function will
be called by the coupled state code to handle entering the safe
state and the final coupled state.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Colin Cross <ccross@android.com>
adapted and modified from Linux 3.4+ for Linux 3.0 by faux123
cpuidle: fix error handling in __cpuidle_register_device

Fix the error handling in __cpuidle_register_device to include
the missing list_del.  Move it to a label, which will simplify
the error handling when coupled states are added.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
Tested-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
Reviewed-by: Kevin Hilman <khilman@xxxxxx>
Tested-by: Kevin Hilman <khilman@xxxxxx>
Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx>
adapted and modified from Linux 3.4 to Linux 3.0 by faux123