diff options
| author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-03-18 22:22:57 +0000 | 
|---|---|---|
| committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-03-18 22:22:57 +0000 | 
| commit | 22319bbae1e450b43d55da545c44d05e84b78c6a (patch) | |
| tree | 97f691b5f8881e6e751068c4054f22ec943f1cba /package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch | |
| parent | 5295e692f68927008eaac7110a4d70fbbc7c1ba1 (diff) | |
[mac80211] Update compat-wireless to 2009-03-18
Removing of include/net/ieee80211_radiotap.h is not needed, because it is only used by this compat-wireless.
There are changes in that file and compat-wireless needs the newest version.
Some more symbols are deactivated in the default config file, this will make building faster.
The rt2800pci patches are up to date now.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14946 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch')
| -rw-r--r-- | package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch | 80 | 
1 files changed, 80 insertions, 0 deletions
diff --git a/package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch b/package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch new file mode 100644 index 000000000..d08e5fecf --- /dev/null +++ b/package/mac80211/patches/307-rt2x00-Add-PM-support-for-SoC-rt2800pci.patch @@ -0,0 +1,80 @@ +From aef81259a944186a120d51e4462a5f974de99fb8 Mon Sep 17 00:00:00 2001 +From: Ivo van Doorn <IvDoorn@gmail.com> +Date: Sun, 15 Mar 2009 15:37:29 +0100 +Subject: [PATCH] rt2x00: Add PM support for SoC (rt2800pci) + +Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> +--- + drivers/net/wireless/rt2x00/rt2800pci.c |   52 +++++++++++++++++++++++++++++-- + 1 files changed, 49 insertions(+), 3 deletions(-) + +--- a/drivers/net/wireless/rt2x00/rt2800pci.c ++++ b/drivers/net/wireless/rt2x00/rt2800pci.c +@@ -2934,7 +2934,7 @@ exit: +  + static int rt2800soc_probe(struct platform_device *pdev) + { +-	const struct rt2x00_ops *ops = &rt2800pci_ops; ++	struct rt2x00_ops *ops = (struct rt2x00_ops *)pdev->driver->p; + 	struct ieee80211_hw *hw; + 	struct rt2x00_dev *rt2x00dev; + 	int retval; +@@ -2990,10 +2990,56 @@ static int rt2800soc_remove(struct platf + 	return 0; + } +  ++#ifdef CONFIG_PM ++int rt2x00soc_suspend(struct device *dev, pm_message_t state) ++{ ++	struct ieee80211_hw *hw = dev_get_drvdata(dev); ++	struct rt2x00_dev *rt2x00dev = hw->priv; ++	int retval; ++ ++	retval = rt2x00lib_suspend(rt2x00dev, state); ++	if (retval) ++		return retval; ++ ++	rt2800soc_free_reg(rt2x00dev); ++ ++	return 0; ++} ++ ++int rt2x00soc_resume(struct device *dev) ++{ ++	struct ieee80211_hw *hw = dev_get_drvdata(dev); ++	struct rt2x00_dev *rt2x00dev = hw->priv; ++	int retval; ++ ++	retval = rt2x00soc_alloc_reg(rt2x00dev); ++	if (retval) ++		return retval; ++ ++	retval = rt2x00lib_resume(rt2x00dev); ++	if (retval) ++		goto exit_free_reg; ++ ++	return 0; ++ ++exit_free_reg: ++	rt2x00pci_free_reg(rt2x00dev); ++ ++	return retval; ++} ++#endif /* CONFIG_PM */ ++ + static struct platform_driver rt2800soc_driver = { +-	.driver.name	= "rt2800_wmac", ++	.driver		= { ++		.name		= "rt2800_wmac", ++		.owner		= THIS_MODULE, ++		.mod_name	= KBUILD_MODNAME, ++		.p		= &rt2800pci_ops; ++	} + 	.probe		= rt2800soc_probe, +-	.remove		= rt2800soc_remove, ++	.remove		= __devexit_p(rt2800soc_remove), ++	.suspend	= rt2x00soc_suspend, ++	.resume		= rt2x00soc_resume, + }; + #endif /* CONFIG_RT2800PCI_WISOC */ +   | 
