openwrt/staging/blogic.git
13 years agocompat: backport kfree_rcu()
Hauke Mehrtens [Thu, 17 Nov 2011 23:05:45 +0000 (00:05 +0100)]
compat: backport kfree_rcu()

This adds a nested function everywhere kfree_rcu() was called. This
function frees the memory and is given as a function to call_rcu().
The kfree_rcu define was made by Johannes Berg.
The rcu callback could happen every time also after the module was
unloaded and this will cause problems.
A rcu_barrier() was added into every module_exit so that this will not
be called after the module was unloaded.

The define overwriting module_exit is based on the original module_exit
which looks like this:
/* This is only required if you want to be unloadable. */
/#define module_exit(exitfn)                                    \
        static inline exitcall_t __exittest(void)               \
        { return exitfn; }                                      \
        void cleanup_module(void) __attribute__((alias(#exitfn)));

We replaced the call to the actual function exitfn() with a call to our
function which calls the original exitfn() and then rcu_barrier()

As a module will not be unloaded that ofter it should not have a big
performance impact when rcu_barrier() is called on every module exit,
also when no kfree_rcu() backport is used in that module.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
CC: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: add support for kernel 3.2
Hauke Mehrtens [Thu, 17 Nov 2011 21:23:09 +0000 (22:23 +0100)]
compat: add support for kernel 3.2

This adds suport for kernel 3.2.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: support RHEL6 as a build target
John W. Linville [Thu, 17 Nov 2011 22:20:42 +0000 (17:20 -0500)]
compat: support RHEL6 as a build target

This patch enables compatibility with RHEL6 as a build target, mostly
with simple tricks similar to what was added for compatibility with
Debian Squeeze.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: check CONFIG_COMPAT_FIRMWARE_CLASS in compat-2.6.33.h
John W. Linville [Thu, 17 Nov 2011 22:20:41 +0000 (17:20 -0500)]
compat: check CONFIG_COMPAT_FIRMWARE_CLASS in compat-2.6.33.h

If a pre-2.6.33 kernel has backported suitable firmware loader
functionality, then it doesn't need the compat_firmware_class.  In that
case, compat-2.6.33 should not redefine the *_firmware function names.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: add CONFIG_COMPAT_FIRMWARE_DATA_RW_NEEDS_FILP
John W. Linville [Thu, 17 Nov 2011 22:20:40 +0000 (17:20 -0500)]
compat: add CONFIG_COMPAT_FIRMWARE_DATA_RW_NEEDS_FILP

Some kernels have versions of (struct bin_attribute)->{read,write}
that require a struct file * as their first argument.  This change
accommodates them in the firmware loader class.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: use separate CONFIG_COMPAT_KFIFO option for building kfifo.o
John W. Linville [Thu, 17 Nov 2011 22:20:39 +0000 (17:20 -0500)]
compat: use separate CONFIG_COMPAT_KFIFO option for building kfifo.o

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
13 years agocompat: add skb_complete_wifi_ack & feature flag
Johannes Berg [Mon, 14 Nov 2011 16:58:07 +0000 (17:58 +0100)]
compat: add skb_complete_wifi_ack & feature flag

This just needs to be empty -- older kernels don't
have the necessary infrastructure for this.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agocompat: add some workarounds for Debian squeeze
Hauke Mehrtens [Tue, 8 Nov 2011 20:46:31 +0000 (21:46 +0100)]
compat: add some workarounds for Debian squeeze

Debian squeeze also backports some stuff and this conflicts with compat
wireless stuff. This is a nice way of making compat work with debian
squeeze without breaking normal kernels.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocomapt: add skb_frag_size() and hex_byte_pack()
Hauke Mehrtens [Sun, 6 Nov 2011 21:25:04 +0000 (22:25 +0100)]
comapt: add skb_frag_size() and hex_byte_pack()

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport system_nrt_wq
Hauke Mehrtens [Sun, 6 Nov 2011 21:25:03 +0000 (22:25 +0100)]
compat: backport system_nrt_wq

The workqueue system_nrt_wq is not available in kernel version < 2.6.36.
This backport code creates such a queue but this old kernel does not
have WQ_NON_REENTRANT, so we use a single threaded queue instead as it
should meat the same restrictions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agoDepending on the arguments to alloc_netdev_mqs(),
Johannes Berg [Thu, 6 Oct 2011 08:45:26 +0000 (10:45 +0200)]
Depending on the arguments to alloc_netdev_mqs(),
it may give a warning due to the use of max().
Fix the warning with max_t().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agocompat: add linux/of.h just when CONFIG_OF is set.
Hauke Mehrtens [Tue, 4 Oct 2011 11:11:47 +0000 (13:11 +0200)]
compat: add linux/of.h just when CONFIG_OF is set.

In kernel < 2.6.34 linux/of.h unconditionally includes asm/prom.h which
is not available on all architectures. In newer kernel versions this is
just included if CONFIG_OF is set. For these old kernel just include
linux/of.h when CONFIG_OF is set. This fixes a compile problem with
ath6kl as it uses linux/of.h only when CONFIG_OF is set.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add is_unicast_ether_addr
Hauke Mehrtens [Tue, 4 Oct 2011 11:11:46 +0000 (13:11 +0200)]
compat: add is_unicast_ether_addr

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add ETH_P_TDLS
Hauke Mehrtens [Tue, 4 Oct 2011 11:11:45 +0000 (13:11 +0200)]
compat: add ETH_P_TDLS

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add skb_tx_timestamp() and skb_defer_rx_timestamp()
Hauke Mehrtens [Sat, 1 Oct 2011 10:32:54 +0000 (12:32 +0200)]
compat: add skb_tx_timestamp() and skb_defer_rx_timestamp()

Just add an empty implementation of these functions to do the same as
when timestamping is deactivated.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add IS_ERR_OR_NULL()
Hauke Mehrtens [Wed, 28 Sep 2011 18:43:44 +0000 (20:43 +0200)]
compat: add IS_ERR_OR_NULL()

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: provide INIT_WORK with 2 arguments for kernels before 2.6.20
Pavel Roskin [Fri, 23 Sep 2011 21:48:05 +0000 (17:48 -0400)]
compat: provide INIT_WORK with 2 arguments for kernels before 2.6.20

Also provide work_func_t.  Originally implemented and tested in
ndiswrapper.

Signed-off-by: Pavel Roskin <proski@gnu.org>
13 years agocompat: add lower_32_bits
Hauke Mehrtens [Wed, 21 Sep 2011 17:04:24 +0000 (19:04 +0200)]
compat: add lower_32_bits

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add rcu_read_lock_held()
Hauke Mehrtens [Wed, 21 Sep 2011 17:04:23 +0000 (19:04 +0200)]
compat: add rcu_read_lock_held()

just the version without lock debug support is implemented, if you want
to debug the logs use a more recent kernel version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add kstrtou8_from_user
Hauke Mehrtens [Wed, 31 Aug 2011 22:20:12 +0000 (00:20 +0200)]
compat: add kstrtou8_from_user

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add skb_frag_dma_map
Hauke Mehrtens [Wed, 31 Aug 2011 22:20:11 +0000 (00:20 +0200)]
compat: add skb_frag_dma_map

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add __always_unused
Hauke Mehrtens [Wed, 31 Aug 2011 22:20:10 +0000 (00:20 +0200)]
compat: add __always_unused

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add crc8 lib
Hauke Mehrtens [Wed, 24 Aug 2011 11:20:39 +0000 (13:20 +0200)]
compat: add crc8 lib

compat/crc8.c was copied from lib/crc8.c and include/linux/crc8.h was
copied from include/linux/crc8.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add cordic lib
Hauke Mehrtens [Wed, 24 Aug 2011 11:20:38 +0000 (13:20 +0200)]
compat: add cordic lib

compat/cordic.c was copied from lib/cordic.c and include/linux/cordic.h was
copied from include/linux/cordic.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add mac_pton()
Hauke Mehrtens [Wed, 24 Aug 2011 11:20:37 +0000 (13:20 +0200)]
compat: add mac_pton()

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add PMSG_IS_AUTO
Hauke Mehrtens [Tue, 23 Aug 2011 11:38:29 +0000 (13:38 +0200)]
compat: add PMSG_IS_AUTO

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: pm_qos_params.h was renamed to pm_qos.h
Hauke Mehrtens [Tue, 23 Aug 2011 11:38:28 +0000 (13:38 +0200)]
compat: pm_qos_params.h was renamed to pm_qos.h

pm_qos.h was renamed to pm_qos_params.h in:
commit 1eee4691c3f058d1cf9757947ad9d9e03145a12c
Author: Jean Pihet <j-pihet@ti.com>
Date:   Thu Aug 18 10:31:55 2011 +0200

    PM QoS: Move and rename the implementation files

For older kernel versions the old header file should be used instead of the new one.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agoThe led_lock is never initialised, so there
Johannes Berg [Fri, 12 Aug 2011 18:23:08 +0000 (20:23 +0200)]
The led_lock is never initialised, so there
are warnings/errors. It can also be made
static.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agocompat: add support for linux 3.1
Hauke Mehrtens [Mon, 15 Aug 2011 18:32:50 +0000 (20:32 +0200)]
compat: add support for linux 3.1

br_port_exists is not in mainline, will it ever?

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add round_down
Hauke Mehrtens [Thu, 11 Aug 2011 11:02:37 +0000 (13:02 +0200)]
compat: add round_down

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add linux/atmoic.h
Hauke Mehrtens [Tue, 2 Aug 2011 21:14:23 +0000 (23:14 +0200)]
compat: add linux/atmoic.h

This include is needed by some drivers.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add linux/export.h
Hauke Mehrtens [Tue, 2 Aug 2011 21:14:22 +0000 (23:14 +0200)]
compat: add linux/export.h

Export will be added in linux-3.2, for older kernel versions the stuff
is in linux/module.h.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3
Hauke Mehrtens [Tue, 2 Aug 2011 21:14:21 +0000 (23:14 +0200)]
compat: add PCMCIA_DEVICE_MANF_CARD_PROD_ID3

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add IFF_TX_SKB_SHARING
Hauke Mehrtens [Tue, 2 Aug 2011 21:14:20 +0000 (23:14 +0200)]
compat: add IFF_TX_SKB_SHARING

This flag should be ignored by older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add skb_walk_frags() and skb_has_frag_list()
Hauke Mehrtens [Tue, 2 Aug 2011 21:14:19 +0000 (23:14 +0200)]
compat: add skb_walk_frags() and skb_has_frag_list()

These functions are needed for ./net/bluetooth/l2cap_core.c and ./net/bluetooth/af_bluetooth.c.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add include/crypto/aes.h
Hauke Mehrtens [Fri, 22 Jul 2011 16:51:10 +0000 (18:51 +0200)]
compat: add include/crypto/aes.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport generic pr_fmt
Hauke Mehrtens [Fri, 22 Jul 2011 16:51:09 +0000 (18:51 +0200)]
compat: backport generic pr_fmt

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport ETH_P_LINK_CTL
Hauke Mehrtens [Wed, 20 Jul 2011 01:07:53 +0000 (18:07 -0700)]
compat: backport ETH_P_LINK_CTL

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add alloc_netdev_mqs
Stanislaw Gruszka [Fri, 15 Jul 2011 15:50:26 +0000 (17:50 +0200)]
compat: add alloc_netdev_mqs

Function was added in 2.6.38 kernel commit:

commit 36909ea43814cba34f7c921e99cba33d770a54e1
Author: Tom Herbert <therbert@google.com>
Date:   Sun Jan 9 19:36:31 2011 +0000

    net: Add alloc_netdev_mqs function

Emulate it using alloc_netdev_mq(), newer kernels use
opposite emulation method :-)

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
13 years agocompat: add pr_<level>_once macros
Stanislaw Gruszka [Fri, 15 Jul 2011 15:50:25 +0000 (17:50 +0200)]
compat: add pr_<level>_once macros

Add functions from 2.6.38 kernel commit:

commit 16cb839f13324978bd58082e69de81a711802b11
Author: Joe Perches <joe@perches.com>
Date:   Wed Jan 12 16:59:46 2011 -0800

    include/linux/printk.h: add pr_<level>_once macros

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
13 years agoSigned-off-by: Pavel Roskin <proski@gnu.org>
Pavel Roskin [Wed, 29 Jun 2011 22:01:10 +0000 (18:01 -0400)]
Signed-off-by: Pavel Roskin <proski@gnu.org>
set_irq_probe() and set_irq_probe() are missing on Linux 2.6.24, so the
code won't compile.  compat-wireless doesn't need those functions.  Keep
the functions for Linux 2.6.25 and newer for other compat packages.

13 years agoSigned-off-by: Pavel Roskin <proski@gnu.org>
Pavel Roskin [Wed, 29 Jun 2011 20:47:15 +0000 (16:47 -0400)]
Signed-off-by: Pavel Roskin <proski@gnu.org>
Debian backports netdev_name as a function.  As we cannot test if a
function is present, use an equivalent macro.

Reported by Sivaraman V <krusna@gmail.com> and Alex <alex9434@gmail.com>

13 years agocompat: replace genl_dump_check_consistent
Hauke Mehrtens [Tue, 28 Jun 2011 18:39:57 +0000 (20:39 +0200)]
compat: replace genl_dump_check_consistent

remove the usage of genl_dump_check_consistent from the code.

This was introduced in:
commit 9720bb3ab0b80659c63ed337eab66104a4156db0
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Jun 21 09:45:33 2011 +0200

    nl80211: use netlink consistent dump feature for BSS dumps

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add bcma
Hauke Mehrtens [Thu, 9 Jun 2011 22:04:47 +0000 (00:04 +0200)]
compat: add bcma

13 years agocompat: add KEY_WPS_BUTTON
Hauke Mehrtens [Thu, 9 Jun 2011 22:04:46 +0000 (00:04 +0200)]
compat: add KEY_WPS_BUTTON

This is needed for carl9170.

Add to compat-3.0-stable

13 years agocompat: rename CONFIG_COMPAT_KERNEL_
Hauke Mehrtens [Thu, 9 Jun 2011 22:04:45 +0000 (00:04 +0200)]
compat: rename CONFIG_COMPAT_KERNEL_

CONFIG_COMPAT_KERNEL_XX was renamed to CONFIG_COMPAT_KERNEL_2_6_XX in
compat-wireless to support kernel 3.XX, do the same in compat.

Add to compat-3.0-stable

13 years agocompat: add device name in register_netdevice(dev)
Hauke Mehrtens [Thu, 9 Jun 2011 22:04:44 +0000 (00:04 +0200)]
compat: add device name in register_netdevice(dev)

dev_alloc_name() is not called explicitly in the driver code any more,
but it is done in register_netdevice(). This causes devices getting
wrong names like "wlan%d". With this patch they get names like wlan0
again.

Add to compat-3.0-stable

CC: Ignacy Gawedzki <i@lri.fr>
13 years agocompat: add support for kernel 3.0
Hauke Mehrtens [Thu, 9 Jun 2011 22:04:43 +0000 (00:04 +0200)]
compat: add support for kernel 3.0

Kernel 2.6.40 is now 3.0. The br_port_exists() is function is not in
3.0 yet, so it should go to compat-3.1.h

Add to compat-3.0-stable

13 years agocompat: define create_freezable_workqueue
Eliad Peller [Thu, 9 Jun 2011 15:35:03 +0000 (18:35 +0300)]
compat: define create_freezable_workqueue

create_freezeable_workqueue() was renamed to
create_freezable_workqueue().

Signed-off-by: Eliad Peller <eliad@wizery.com>
13 years agocompat: add an empty implementation for pm_wakeup_event()
Eliad Peller [Mon, 23 May 2011 14:17:05 +0000 (17:17 +0300)]
compat: add an empty implementation for pm_wakeup_event()

Needed for wl12xx compilation

Signed-off-by: Eliad Peller <eliad@wizery.com>
13 years agocompat: remove wrong backport of kfree_rcu
Hauke Mehrtens [Sun, 22 May 2011 10:47:34 +0000 (12:47 +0200)]
compat: remove wrong backport of kfree_rcu

Backporting kfree_rcu() in compat does not work as
struct rcu_head->func is always interpreted as a pointer in older
kernel versions, but when using kfree_rcu() it is set to an offset.
rcu_head->func is used in some functions in the kernel not backported
by compat-wireless.

In older kernel versions in __rcu_reclaim just the else path is available.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport RCU_INIT_POINTER
Hauke Mehrtens [Sun, 22 May 2011 10:47:33 +0000 (12:47 +0200)]
compat: backport RCU_INIT_POINTER

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport rcu_dereference_raw
Hauke Mehrtens [Sun, 22 May 2011 10:47:32 +0000 (12:47 +0200)]
compat: backport rcu_dereference_raw

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport rtnl_dereference
Felix Fietkau [Mon, 16 May 2011 18:10:19 +0000 (20:10 +0200)]
compat: backport rtnl_dereference

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
13 years agocompat: backport rcu_access_pointer
Felix Fietkau [Mon, 16 May 2011 18:10:18 +0000 (20:10 +0200)]
compat: backport rcu_access_pointer

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
13 years agocompat: backport rcu_dereference_protected
Felix Fietkau [Mon, 16 May 2011 17:43:35 +0000 (19:43 +0200)]
compat: backport rcu_dereference_protected

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
13 years agocompat: add an empty definition for __rcu
Felix Fietkau [Mon, 16 May 2011 17:43:33 +0000 (19:43 +0200)]
compat: add an empty definition for __rcu

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
13 years agocompat: add header linux/printk.h
Hauke Mehrtens [Sat, 14 May 2011 17:47:32 +0000 (19:47 +0200)]
compat: add header linux/printk.h

Some drivers are including linux/printk.h and this is not available for
kernel < 2.6.37, but the needed declared methods are all in
linux/kernel.h.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport ethtool_cmd_speed
Hauke Mehrtens [Tue, 10 May 2011 11:10:16 +0000 (13:10 +0200)]
compat: backport ethtool_cmd_speed

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport kfree_rcu
Hauke Mehrtens [Tue, 10 May 2011 11:10:15 +0000 (13:10 +0200)]
compat: backport kfree_rcu

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add missing include
Hauke Mehrtens [Tue, 10 May 2011 11:10:14 +0000 (13:10 +0200)]
compat: add missing include

Reported-By: George Nychis <gnychis@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: handle fail of vmalloc()
Hauke Mehrtens [Wed, 27 Apr 2011 19:01:22 +0000 (21:01 +0200)]
compat: handle fail of vmalloc()

Only memset the memory if we get a valid pointer.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport vzalloc()
Hauke Mehrtens [Wed, 27 Apr 2011 18:04:16 +0000 (20:04 +0200)]
compat: backport vzalloc()

vzalloc() is used in rtl8192ce now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: fix TASK_INTERRUPTIBLE missing
Hauke Mehrtens [Sun, 24 Apr 2011 16:11:15 +0000 (18:11 +0200)]
compat: fix TASK_INTERRUPTIBLE missing

When compiling against the Ubuntu Natty kernel (2.6.38-8-generic)
TASK_INTERRUPTIBLE is not defined here.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: do not include kstrto* for kernel >= 2.6.38.4
Hauke Mehrtens [Sun, 24 Apr 2011 16:11:14 +0000 (18:11 +0200)]
compat: do not include kstrto* for kernel >= 2.6.38.4

kstrto* went into kernel 2.6.38.4 and causes conflicts with the version
included in compat-wireless. We use strict_strtol to check if kstrto*
is already available.
kstrto* was not moved to compat-2.6.38.h because kernel version <=
2.6.38.3 needs this backport and some distributions like Ubuntu still
ship an older version of this kernel.

Reported-by: Andreas Hartmann <andihartmann@01019freenet.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add time_to_tm
Hauke Mehrtens [Wed, 20 Apr 2011 21:31:50 +0000 (23:31 +0200)]
compat: add time_to_tm

time_to_tm is needed in net/mac80211/debugfs_sta.c now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: remove sdio_set_host_pm_flags
Hauke Mehrtens [Thu, 7 Apr 2011 14:39:18 +0000 (16:39 +0200)]
compat: remove sdio_set_host_pm_flags

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add kstrtox
Hauke Mehrtens [Thu, 7 Apr 2011 14:39:17 +0000 (16:39 +0200)]
compat: add kstrtox

compat/kstrtox.c is copied from lib/kstrtox.c in the Linux kernel.
This is needed by some drivers now.
For kernel < 2.6.26 div_u64 needs to be backported.

We should not copy the files like kstrtox.c, kfifo.c and so on to
compat/ by hand, but copy them when creating compat-wireless along with
the wireless drivers.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: integrate kfifo into compat.ko
Hauke Mehrtens [Thu, 7 Apr 2011 14:39:16 +0000 (16:39 +0200)]
compat: integrate kfifo into compat.ko

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: semaphore.h mpoved from asm/ to linux/
Hauke Mehrtens [Thu, 31 Mar 2011 16:21:35 +0000 (09:21 -0700)]
compat: semaphore.h mpoved from asm/ to linux/

In kernel <= 2.6.25 linux/semaphore.h does not exist.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: fix build for kernel < 2.6.29
Hauke Mehrtens [Thu, 31 Mar 2011 16:21:34 +0000 (09:21 -0700)]
compat: fix build for kernel < 2.6.29

get_irq_desc_chip(), get_irq_desc_data(), get_irq_desc_chip_data() and
get_irq_desc_msi() are not available in kernel < 2.6.29.

Luis please add this into the linux-2.6.39.y branch.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add support for kernel 2.6.39
Hauke Mehrtens [Thu, 31 Mar 2011 16:21:33 +0000 (09:21 -0700)]
compat: add support for kernel 2.6.39

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport netdev_refcnt_read.
Hauke Mehrtens [Thu, 31 Mar 2011 16:21:32 +0000 (09:21 -0700)]
compat: backport netdev_refcnt_read.

Backport of upstream commit:
29b4433d991c88d86ca48a4c1cc33c671475be4b
net: percpu net_device refcount

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport IRQ namespace cleanup
Luis R. Rodriguez [Wed, 30 Mar 2011 19:55:40 +0000 (12:55 -0700)]
compat: backport IRQ namespace cleanup

This backports this upstream patch:

commit a0cd9ca2b907d7ee26575e7b63ac92dad768a75e
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Feb 10 11:36:33 2011 +0100

    genirq: Namespace cleanup

    The irq namespace has become quite convoluted. My bad.  Clean it up
    and deprecate the old functions. All new functions follow the scheme:

    irq number based:
        irq_set/get/xxx/_xxx(unsigned int irq, ...)

    irq_data based:
         irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)

    irq_desc based:
         irq_desc_get_xxx(struct irq_desc *desc)

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
13 years agocompat: add tty_set_termios only for kernel >= 2.6.27
Hauke Mehrtens [Sun, 27 Feb 2011 13:49:44 +0000 (14:49 +0100)]
compat: add tty_set_termios only for kernel >= 2.6.27

tty_set_termios does not build with older kernel versions and is only
needed by bluetooth which works only for kernel >= 2.6.27.

Reported-by: Juan Carlos Garza <juancarlosgarza@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: Define usleep_range(min, max) as msleep(max/1000) for <2.6.36
Vasanthakumar Thiagarajan [Thu, 24 Feb 2011 23:39:31 +0000 (15:39 -0800)]
compat: Define usleep_range(min, max) as msleep(max/1000) for <2.6.36

ops_flush() of ath9k uses usleep_range().

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
13 years agocompat: backport tty_set_termios
Hauke Mehrtens [Mon, 21 Feb 2011 22:32:24 +0000 (14:32 -0800)]
compat: backport tty_set_termios

This code is copied from the kernel sources.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport tty_{lock,unlock,locked}
Hauke Mehrtens [Mon, 21 Feb 2011 22:32:23 +0000 (14:32 -0800)]
compat: backport tty_{lock,unlock,locked}

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport usb_pipe_endpoint()
Hauke Mehrtens [Mon, 21 Feb 2011 22:32:22 +0000 (14:32 -0800)]
compat: backport usb_pipe_endpoint()

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add support for kernel 2.6.38
Hauke Mehrtens [Tue, 1 Feb 2011 21:04:13 +0000 (22:04 +0100)]
compat: add support for kernel 2.6.38

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport alloc_ordered_workqueue
Hauke Mehrtens [Tue, 1 Feb 2011 21:04:12 +0000 (22:04 +0100)]
compat: backport alloc_ordered_workqueue

This was moved from a patch in compat-wireless to this place.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add check for CONFIG_COMPAT_KFIFO=m
Luis R. Rodriguez [Thu, 6 Jan 2011 20:46:26 +0000 (12:46 -0800)]
compat: add check for CONFIG_COMPAT_KFIFO=m

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
13 years agocompat: backport kfifo
Hauke Mehrtens [Thu, 6 Jan 2011 17:16:38 +0000 (18:16 +0100)]
compat: backport kfifo

This is a copy of the hole kfifo implementation from a recent kernel
version. When we ship this implementation we do not have to backport
any kfifo related stuff any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: add generic functions for suspend/resume
Hauke Mehrtens [Sat, 1 Jan 2011 14:23:35 +0000 (06:23 -0800)]
compat: add generic functions for suspend/resume

This define is used to generate a suspend and a resume function for pci
devices using the old power management interface. The new interface was
introduced in kernel 2.6.29.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport alloc_workqueue
Hauke Mehrtens [Sat, 1 Jan 2011 14:23:34 +0000 (06:23 -0800)]
compat: backport alloc_workqueue

This is needed by rtlwifi.

The function signature of __create_workqueue changed in kernel 2.6.28,
so two different defines are needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport pci_wake_from_d3
Hauke Mehrtens [Sat, 1 Jan 2011 14:23:33 +0000 (06:23 -0800)]
compat: backport pci_wake_from_d3

This is needed by atl1c.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agoThis has disappeared upstream and is no longer used.
Johannes Berg [Wed, 22 Dec 2010 21:11:05 +0000 (22:11 +0100)]
This has disappeared upstream and is no longer used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agoSigned-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg [Wed, 22 Dec 2010 20:37:20 +0000 (21:37 +0100)]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agocompat: backport pci_is_pcie and pci_pcie_cap
Hauke Mehrtens [Fri, 17 Dec 2010 22:41:38 +0000 (14:41 -0800)]
compat: backport pci_is_pcie and pci_pcie_cap

compat_is_pcie already did the same thing as pci_is_pcie, but this
method is now in kernel so the mainline drivers should use this
function instead of accessing the  member in the struct directly. We
backported this function for older kernels.
pci_pcie_cap is used in rtlwifi so we also need this.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat backport no_printk
Hauke Mehrtens [Fri, 17 Dec 2010 22:41:37 +0000 (14:41 -0800)]
compat backport no_printk

This is needed by brcm80211.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport skb_checksum_start_offset
Hauke Mehrtens [Fri, 17 Dec 2010 22:41:36 +0000 (14:41 -0800)]
compat: backport skb_checksum_start_offset

This is needed by atlx, atl1c and atl1e.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport PCI_EXP_LNKCTL_ES added for on 2.6.29
Luis R. Rodriguez [Tue, 14 Dec 2010 01:19:01 +0000 (17:19 -0800)]
compat: backport PCI_EXP_LNKCTL_ES added for on 2.6.29

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
13 years agocompat: fix build for kernel <= 2.6.29
Hauke Mehrtens [Wed, 1 Dec 2010 15:03:30 +0000 (16:03 +0100)]
compat: fix build for kernel <= 2.6.29

The max_brightness member in struct led_classdev was added in kernel
2.6.30, so use LED_FULL for older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: fix build with CONFIG_LEDS_CLASS=m
Hauke Mehrtens [Wed, 1 Dec 2010 15:03:29 +0000 (16:03 +0100)]
compat: fix build with CONFIG_LEDS_CLASS=m

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agoFelix's patch backported my software blink emulation,
Johannes Berg [Sun, 28 Nov 2010 12:17:00 +0000 (13:17 +0100)]
Felix's patch backported my software blink emulation,
but if the kernel is 2.6.25 or newer we can also try
the HW offload first.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
13 years agocompat: backport LED class software blinking
Felix Fietkau [Sun, 28 Nov 2010 12:05:16 +0000 (13:05 +0100)]
compat: backport LED class software blinking

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
13 years agocompat: backport pr_warn
Hauke Mehrtens [Thu, 25 Nov 2010 14:49:04 +0000 (15:49 +0100)]
compat: backport pr_warn

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: update wireless.h with new version from linux-next
Hauke Mehrtens [Sun, 21 Nov 2010 20:48:37 +0000 (21:48 +0100)]
compat: update wireless.h with new version from linux-next

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 years agocompat: backport Generic exponentially weighted moving average (EWMA)
Hauke Mehrtens [Sun, 21 Nov 2010 20:48:36 +0000 (21:48 +0100)]
compat: backport Generic exponentially weighted moving average (EWMA)

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
14 years agocompat: add missing pm_runtime.h
Hauke Mehrtens [Fri, 12 Nov 2010 23:23:15 +0000 (00:23 +0100)]
compat: add missing pm_runtime.h

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>