[PATCH 08/13] backports: revert the sysfs api change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Older kernel versions do not support the new sysfs api with dev_groups.
This makes net/wireless/sysfs.c use the old api on older kernels.

This is a backport of this commit:
commit f0bc99c84349ce87af5b35839d19bfb17bb9b27f
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date:   Wed Jul 24 15:05:35 2013 -0700

    net: wireless: convert class code to use dev_groups

Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx>
---
 backport/backport-include/linux/device.h           |   10 +++++
 .../network/75-sysfs-api/net_wireless_sysfs.patch  |   39 ++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 patches/collateral-evolutions/network/75-sysfs-api/net_wireless_sysfs.patch

diff --git a/backport/backport-include/linux/device.h b/backport/backport-include/linux/device.h
index 909a534..8e22671 100644
--- a/backport/backport-include/linux/device.h
+++ b/backport/backport-include/linux/device.h
@@ -188,4 +188,14 @@ backport_device_release_driver(struct device *dev)
 #define device_release_driver LINUX_BACKPORT(device_release_driver)
 #endif /* LINUX_VERSION_CODE <= KERNEL_VERSION(3,6,0) */
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
+#define BUS_ATTR_RW(_name)
+#define BUS_ATTR_RO(_name)
+#define DRIVER_ATTR_RW(_name)
+#define DRIVER_ATTR_RO(_name)
+#define CLASS_ATTR_RW(_name)
+#define CLASS_ATTR_RO(_name)
+#define DEVICE_ATTR_RW(_name)
+#define DEVICE_ATTR_RO(_name)
+#endif
 #endif /* __BACKPORT_DEVICE_H */
diff --git a/patches/collateral-evolutions/network/75-sysfs-api/net_wireless_sysfs.patch b/patches/collateral-evolutions/network/75-sysfs-api/net_wireless_sysfs.patch
new file mode 100644
index 0000000..beefae2
--- /dev/null
+++ b/patches/collateral-evolutions/network/75-sysfs-api/net_wireless_sysfs.patch
@@ -0,0 +1,39 @@
+--- a/net/wireless/sysfs.c
++++ b/net/wireless/sysfs.c
+@@ -63,6 +63,7 @@ static ssize_t addresses_show(struct dev
+ }
+ static DEVICE_ATTR_RO(addresses);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
+ static struct attribute *ieee80211_attrs[] = {
+ 	&dev_attr_index.attr,
+ 	&dev_attr_macaddress.attr,
+@@ -72,6 +73,16 @@ static struct attribute *ieee80211_attrs
+ 	NULL,
+ };
+ ATTRIBUTE_GROUPS(ieee80211);
++#else
++static struct device_attribute ieee80211_dev_attrs[] = {
++	__ATTR_RO(index),
++	__ATTR_RO(macaddress),
++	__ATTR_RO(address_mask),
++	__ATTR_RO(addresses),
++	__ATTR_RO(name),
++	{}
++};
++#endif
+ 
+ static void wiphy_dev_release(struct device *dev)
+ {
+@@ -151,7 +162,11 @@ struct class ieee80211_class = {
+ 	.name = "ieee80211",
+ 	.owner = THIS_MODULE,
+ 	.dev_release = wiphy_dev_release,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
+ 	.dev_groups = ieee80211_groups,
++#else
++	.dev_attrs = ieee80211_dev_attrs,
++#endif
+ 	.dev_uevent = wiphy_uevent,
+ #ifdef CONFIG_PM
+ 	.suspend = wiphy_suspend,
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux