Linux backports project
 help / color / mirror / Atom feed
* [PATCH 00/14] backports: updates for next-20141201
@ 2014-12-20 21:39 Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 01/14] header: add for_each_compatible_node() Hauke Mehrtens
                   ` (13 more replies)
  0 siblings, 14 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This contains some patches needed to make backports compatible with
next-20141201.

Hauke Mehrtens (14):
  header: add for_each_compatible_node()
  header: add memcpy_from_msg()
  header: add empty of_find_compatible_node()
  header: include some other dma headers in dma-buf.h
  header: backport drain_workqueue() by calling flush_workqueue()
  backport: add debugfs_create_devm_seqfile()
  backport: add pci_device_is_present()
  backport: add of_property_read_u32()
  patches: disable tx status support in mwifiex
  patches: fix some v4l2 dma stuff
  patches: do not use DMA_ATTR_SKIP_CPU_SYNC
  patches: adapt api change of rchan_callbacks->create_buf_file in ath9k
  patches: refresh on next-20141201
  devel: update the test kernels

 backport/backport-include/linux/debugfs.h          |  23 +++
 backport/backport-include/linux/dma-buf.h          |   3 +
 backport/backport-include/linux/of.h               |  45 +++++-
 backport/backport-include/linux/pci.h              |   5 +
 backport/backport-include/linux/skbuff.h           |   6 +
 backport/backport-include/linux/workqueue.h        |   4 +
 backport/compat/backport-3.13.c                    |  52 +++++++
 backport/compat/backport-3.19.c                    |  56 ++++++++
 backport/compat/compat-3.1.c                       |  34 +++++
 devel/backports-update-manager                     |  14 +-
 patches/backport-adjustments/crypto-ccm.patch      |   7 +-
 patches/backport-adjustments/devcoredump.patch     |  35 ++---
 .../media/0001-dma_mmap_coherent-revert.patch      |   4 +-
 .../media/0002-no_dmabuf/v4l2.patch                | 158 ++++++++++++++++-----
 .../media/0005-dma-no-sync/v4l2.patch              |  64 +++++++++
 .../0002-disable-dump-adjust-on-old-kernels.patch  |   4 +-
 .../include_net_cfg80211.patch                     |   2 +-
 .../net_wireless_core.patch                        |   2 +-
 .../0011-mac80211-disable-tx-status/mwifiex.patch  |  28 ++++
 .../net_mac80211_tx.patch                          |   6 +-
 .../0014-netlink_seq/net_wireless_nl80211.patch    |   2 +-
 .../network/0021-umode_t-api-change/ath9k.patch    |  14 ++
 .../network/0024-led-blink-api/mac80211.patch      |   2 +-
 .../network/0027-genl-const/hwsim.patch            |   4 +-
 .../network/0027-genl-const/nl80211.patch          |   6 +-
 .../network/0028-select_queue/mwifiex.patch        |   2 +-
 .../0032-sriov_configure/igb_sriov_configure.patch |   8 +-
 .../0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch |   8 +-
 .../igb_ndo_set_vf_spoofchk.patch                  |   8 +-
 .../network/0035-skb_no_fcs/igb_skb_no_fcs.patch   |   2 +-
 .../network/0043-ndo_set_vf_rate/igb.patch         |  10 +-
 .../network/0046-mmc_rescan_entered/mwifiex.patch  |   2 +-
 .../network/0048-no_ndo_xmit_flush/igb.patch       |   2 +-
 .../network/0049-no-pfmemalloc/igb.patch           |   4 +-
 34 files changed, 518 insertions(+), 108 deletions(-)
 create mode 100644 backport/backport-include/linux/debugfs.h
 create mode 100644 patches/collateral-evolutions/media/0005-dma-no-sync/v4l2.patch
 create mode 100644 patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/mwifiex.patch
 create mode 100644 patches/collateral-evolutions/network/0021-umode_t-api-change/ath9k.patch

-- 
1.9.1


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 01/14] header: add for_each_compatible_node()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 02/14] header: add memcpy_from_msg() Hauke Mehrtens
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

for_each_compatible_node() is defined in a CONFIG_OF condition on older
kernel versions. Now some drivers are use it when CONFIG_OF is not set,
add it always when it is not already there.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/of.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/backport/backport-include/linux/of.h b/backport/backport-include/linux/of.h
index f2a8ab4..6d0be53 100644
--- a/backport/backport-include/linux/of.h
+++ b/backport/backport-include/linux/of.h
@@ -114,4 +114,10 @@ static inline void of_node_put(struct device_node *node) { }
 #endif /* CONFIG_OF */
 #endif /* of_match_ptr */
 
+#ifndef for_each_compatible_node
+#define for_each_compatible_node(dn, type, compatible) \
+	for (dn = of_find_compatible_node(NULL, type, compatible); dn; \
+	     dn = of_find_compatible_node(dn, type, compatible))
+#endif /* for_each_compatible_node */
+
 #endif	/* _COMPAT_LINUX_OF_H */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 02/14] header: add memcpy_from_msg()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 01/14] header: add for_each_compatible_node() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 03/14] header: add empty of_find_compatible_node() Hauke Mehrtens
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This was added in kernel 3.19.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/skbuff.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/backport/backport-include/linux/skbuff.h b/backport/backport-include/linux/skbuff.h
index 4cab6e1..53c1aa4 100644
--- a/backport/backport-include/linux/skbuff.h
+++ b/backport/backport-include/linux/skbuff.h
@@ -263,6 +263,12 @@ static inline int skb_copy_datagram_msg(const struct sk_buff *from, int offset,
 {
 	return skb_copy_datagram_iovec(from, offset, msg->msg_iov, size);
 }
+
+#define memcpy_from_msg LINUX_BACKPORT(memcpy_from_msg)
+static inline int memcpy_from_msg(void *data, struct msghdr *msg, int len)
+{
+	return memcpy_fromiovec(data, msg->msg_iov, len);
+}
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) */
 
 #endif /* __BACKPORT_SKBUFF_H */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 03/14] header: add empty of_find_compatible_node()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 01/14] header: add for_each_compatible_node() Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 02/14] header: add memcpy_from_msg() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 04/14] header: include some other dma headers in dma-buf.h Hauke Mehrtens
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

of_find_compatible_node() is not defined when CONFIG_OF is not set on
kernel < 3.3.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/of.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/backport/backport-include/linux/of.h b/backport/backport-include/linux/of.h
index 6d0be53..32ccf19 100644
--- a/backport/backport-include/linux/of.h
+++ b/backport/backport-include/linux/of.h
@@ -120,4 +120,16 @@ static inline void of_node_put(struct device_node *node) { }
 	     dn = of_find_compatible_node(dn, type, compatible))
 #endif /* for_each_compatible_node */
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)
+#ifndef CONFIG_OF
+static inline struct device_node *of_find_compatible_node(
+						struct device_node *from,
+						const char *type,
+						const char *compat)
+{
+	return NULL;
+}
+#endif
+#endif
+
 #endif	/* _COMPAT_LINUX_OF_H */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 04/14] header: include some other dma headers in dma-buf.h
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (2 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 03/14] header: add empty of_find_compatible_node() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 05/14] header: backport drain_workqueue() by calling flush_workqueue() Hauke Mehrtens
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

when we do not include the original version of dma-buf.h, some other
header files should be included because some media drivers are
expecting this now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/dma-buf.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/backport/backport-include/linux/dma-buf.h b/backport/backport-include/linux/dma-buf.h
index 13a225e..48c2ebf 100644
--- a/backport/backport-include/linux/dma-buf.h
+++ b/backport/backport-include/linux/dma-buf.h
@@ -4,6 +4,9 @@
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
 #include_next <linux/dma-buf.h>
 #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */
+#include <linux/dma-direction.h>
+#include <linux/dma-attrs.h>
+#include <linux/dma-mapping.h>
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
 #define dma_buf_export(priv, ops, size, flags, resv)	\
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 05/14] header: backport drain_workqueue() by calling flush_workqueue()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (3 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 04/14] header: include some other dma headers in dma-buf.h Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 06/14] backport: add debugfs_create_devm_seqfile() Hauke Mehrtens
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This backport is only needed for kernel < 3.1.
Backporting drain_workqueue() is too hard so we just flush the
workqueue which should work in most cases. This could still cause
problems in some situation.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/workqueue.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/backport/backport-include/linux/workqueue.h b/backport/backport-include/linux/workqueue.h
index ec5c230..078ed59 100644
--- a/backport/backport-include/linux/workqueue.h
+++ b/backport/backport-include/linux/workqueue.h
@@ -60,4 +60,8 @@ void backport_destroy_workqueue(struct workqueue_struct *wq);
 #define system_freezable_power_efficient_wq system_freezable_wq
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)
+#define drain_workqueue(wq) flush_workqueue(wq)
+#endif
+
 #endif /* __BACKPORT_LINUX_WORKQUEUE_H */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 06/14] backport: add debugfs_create_devm_seqfile()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (4 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 05/14] header: backport drain_workqueue() by calling flush_workqueue() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-21  8:28   ` Arend van Spriel
  2014-12-20 21:39 ` [PATCH 07/14] backport: add pci_device_is_present() Hauke Mehrtens
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This new functions is used by ath9k.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/debugfs.h | 23 +++++++++++++
 backport/compat/backport-3.19.c           | 56 +++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+)
 create mode 100644 backport/backport-include/linux/debugfs.h

diff --git a/backport/backport-include/linux/debugfs.h b/backport/backport-include/linux/debugfs.h
new file mode 100644
index 0000000..77b2e64
--- /dev/null
+++ b/backport/backport-include/linux/debugfs.h
@@ -0,0 +1,23 @@
+#ifndef __BACKPORT_DEBUGFS_H_
+#define __BACKPORT_DEBUGFS_H_
+#include_next <linux/debugfs.h>
+#include <linux/version.h>
+#include <generated/utsrelease.h>
+
+#if defined(CONFIG_DEBUG_FS)
+struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name,
+					   struct dentry *parent,
+					   int (*read_fn)(struct seq_file *s,
+							  void *data));
+#else
+static inline struct dentry *debugfs_create_devm_seqfile(struct device *dev,
+							 const char *name,
+							 struct dentry *parent,
+					   int (*read_fn)(struct seq_file *s,
+							  void *data))
+{
+	return ERR_PTR(-ENODEV);
+}
+#endif /* CONFIG_DEBUG_FS */
+
+#endif /* __BACKPORT_DEBUGFS_H_ */
diff --git a/backport/compat/backport-3.19.c b/backport/compat/backport-3.19.c
index fd13400..c633f38 100644
--- a/backport/compat/backport-3.19.c
+++ b/backport/compat/backport-3.19.c
@@ -13,6 +13,7 @@
 #include <linux/export.h>
 #include <linux/net.h>
 #include <linux/netdevice.h>
+#include <linux/debugfs.h>
 
 static inline bool is_kthread_should_stop(void)
 {
@@ -90,3 +91,58 @@ void netdev_rss_key_fill(void *buffer, size_t len)
 }
 EXPORT_SYMBOL_GPL(netdev_rss_key_fill);
 #endif /* __BACKPORT_NETDEV_RSS_KEY_FILL */
+
+#if defined(CONFIG_DEBUG_FS)
+struct debugfs_devm_entry {
+	int (*read)(struct seq_file *seq, void *data);
+	struct device *dev;
+};
+
+static int debugfs_devm_entry_open(struct inode *inode, struct file *f)
+{
+	struct debugfs_devm_entry *entry = inode->i_private;
+
+	return single_open(f, entry->read, entry->dev);
+}
+
+static const struct file_operations debugfs_devm_entry_ops = {
+	.owner = THIS_MODULE,
+	.open = debugfs_devm_entry_open,
+	.release = single_release,
+	.read = seq_read,
+	.llseek = seq_lseek
+};
+
+/**
+ * debugfs_create_devm_seqfile - create a debugfs file that is bound to device.
+ *
+ * @dev: device related to this debugfs file.
+ * @name: name of the debugfs file.
+ * @parent: a pointer to the parent dentry for this file.  This should be a
+ *	directory dentry if set.  If this parameter is %NULL, then the
+ *	file will be created in the root of the debugfs filesystem.
+ * @read_fn: function pointer called to print the seq_file content.
+ */
+struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name,
+					   struct dentry *parent,
+					   int (*read_fn)(struct seq_file *s,
+							  void *data))
+{
+	struct debugfs_devm_entry *entry;
+
+	if (IS_ERR(parent))
+		return ERR_PTR(-ENOENT);
+
+	entry = devm_kzalloc(dev, sizeof(*entry), GFP_KERNEL);
+	if (!entry)
+		return ERR_PTR(-ENOMEM);
+
+	entry->read = read_fn;
+	entry->dev = dev;
+
+	return debugfs_create_file(name, S_IRUGO, parent, entry,
+				   &debugfs_devm_entry_ops);
+}
+EXPORT_SYMBOL_GPL(debugfs_create_devm_seqfile);
+
+#endif /* CONFIG_DEBUG_FS */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 07/14] backport: add pci_device_is_present()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (5 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 06/14] backport: add debugfs_create_devm_seqfile() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 08/14] backport: add of_property_read_u32() Hauke Mehrtens
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This is needed by igb driver.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/pci.h |  5 ++++
 backport/compat/backport-3.13.c       | 52 +++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)

diff --git a/backport/backport-include/linux/pci.h b/backport/backport-include/linux/pci.h
index 3dd2c7e..f168bde 100644
--- a/backport/backport-include/linux/pci.h
+++ b/backport/backport-include/linux/pci.h
@@ -159,4 +159,9 @@ static inline int pci_enable_msix_range(struct pci_dev *dev,
 #endif
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)
+#define pci_device_is_present LINUX_BACKPORT(pci_device_is_present)
+bool pci_device_is_present(struct pci_dev *pdev);
+#endif
+
 #endif /* _BACKPORT_LINUX_PCI_H */
diff --git a/backport/compat/backport-3.13.c b/backport/compat/backport-3.13.c
index fd562bb..553ed8f 100644
--- a/backport/compat/backport-3.13.c
+++ b/backport/compat/backport-3.13.c
@@ -12,6 +12,8 @@
 #include <linux/version.h>
 #include <linux/kernel.h>
 #include <net/genetlink.h>
+#include <linux/delay.h>
+#include <linux/pci.h>
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
 #ifdef CONFIG_REGULATOR
@@ -200,3 +202,53 @@ bool __net_get_random_once(void *buf, int nbytes, bool *done,
 }
 EXPORT_SYMBOL_GPL(__net_get_random_once);
 #endif /* __BACKPORT_NET_GET_RANDOM_ONCE */
+
+#ifdef CONFIG_PCI
+#define pci_bus_read_dev_vendor_id LINUX_BACKPORT(pci_bus_read_dev_vendor_id)
+static bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *l,
+				int crs_timeout)
+{
+	int delay = 1;
+
+	if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, l))
+		return false;
+
+	/* some broken boards return 0 or ~0 if a slot is empty: */
+	if (*l == 0xffffffff || *l == 0x00000000 ||
+	    *l == 0x0000ffff || *l == 0xffff0000)
+		return false;
+
+	/*
+	 * Configuration Request Retry Status.  Some root ports return the
+	 * actual device ID instead of the synthetic ID (0xFFFF) required
+	 * by the PCIe spec.  Ignore the device ID and only check for
+	 * (vendor id == 1).
+	 */
+	while ((*l & 0xffff) == 0x0001) {
+		if (!crs_timeout)
+			return false;
+
+		msleep(delay);
+		delay *= 2;
+		if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, l))
+			return false;
+		/* Card hasn't responded in 60 seconds?  Must be stuck. */
+		if (delay > crs_timeout) {
+			printk(KERN_WARNING "pci %04x:%02x:%02x.%d: not responding\n",
+			       pci_domain_nr(bus), bus->number, PCI_SLOT(devfn),
+			       PCI_FUNC(devfn));
+			return false;
+		}
+	}
+
+	return true;
+}
+
+bool pci_device_is_present(struct pci_dev *pdev)
+{
+	u32 v;
+
+	return pci_bus_read_dev_vendor_id(pdev->bus, pdev->devfn, &v, 0);
+}
+EXPORT_SYMBOL_GPL(pci_device_is_present);
+#endif /* CONFIG_PCI */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 08/14] backport: add of_property_read_u32()
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (6 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 07/14] backport: add pci_device_is_present() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 09/14] patches: disable tx status support in mwifiex Hauke Mehrtens
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 backport/backport-include/linux/of.h | 27 ++++++++++++++++++++++++++-
 backport/compat/compat-3.1.c         | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/backport/backport-include/linux/of.h b/backport/backport-include/linux/of.h
index 32ccf19..b289bcb 100644
--- a/backport/backport-include/linux/of.h
+++ b/backport/backport-include/linux/of.h
@@ -29,6 +29,7 @@ static inline struct device_node *of_find_node_by_name(struct device_node *from,
 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
+#define of_property_read_u8_array LINUX_BACKPORT(of_property_read_u8_array)
 #ifdef CONFIG_OF
 extern int of_property_read_u8_array(const struct device_node *np,
 			const char *propname, u8 *out_values, size_t sz);
@@ -39,7 +40,31 @@ static inline int of_property_read_u8_array(const struct device_node *np,
 	return -ENOSYS;
 }
 #endif /* CONFIG_OF */
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)
+#define of_property_read_u32_array LINUX_BACKPORT(of_property_read_u32_array)
+#ifdef CONFIG_OF
+extern int of_property_read_u32_array(const struct device_node *np,
+				      const char *propname,
+				      u32 *out_values,
+				      size_t sz);
+#else
+static inline int of_property_read_u32_array(const struct device_node *np,
+					     const char *propname,
+					     u32 *out_values, size_t sz)
+{
+	return -ENOSYS;
+}
+#endif /* CONFIG_OF */
+#define of_property_read_u32 LINUX_BACKPORT(of_property_read_u32)
+static inline int of_property_read_u32(const struct device_node *np,
+				       const char *propname,
+				       u32 *out_value)
+{
+	return of_property_read_u32_array(np, propname, out_value, 1);
+}
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0) */
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
 #define of_property_read_u32_index LINUX_BACKPORT(of_property_read_u32_index)
diff --git a/backport/compat/compat-3.1.c b/backport/compat/compat-3.1.c
index 0d9c3a2..2618780 100644
--- a/backport/compat/compat-3.1.c
+++ b/backport/compat/compat-3.1.c
@@ -10,6 +10,7 @@
 
 #include <linux/idr.h>
 #include <linux/cpufreq.h>
+#include <linux/of.h>
 
 static DEFINE_SPINLOCK(compat_simple_ida_lock);
 
@@ -82,3 +83,36 @@ void ida_simple_remove(struct ida *ida, unsigned int id)
 EXPORT_SYMBOL_GPL(ida_simple_remove);
 /* source lib/idr.c */
 
+#ifdef CONFIG_OF
+/**
+ * of_property_read_u32_array - Find and read an array of 32 bit integers
+ * from a property.
+ *
+ * @np:		device node from which the property value is to be read.
+ * @propname:	name of the property to be searched.
+ * @out_values:	pointer to return value, modified only if return value is 0.
+ * @sz:		number of array elements to read
+ *
+ * Search for a property in a device node and read 32-bit value(s) from
+ * it. Returns 0 on success, -EINVAL if the property does not exist,
+ * -ENODATA if property does not have a value, and -EOVERFLOW if the
+ * property data isn't large enough.
+ *
+ * The out_values is modified only if a valid u32 value can be decoded.
+ */
+int of_property_read_u32_array(const struct device_node *np,
+			       const char *propname, u32 *out_values,
+			       size_t sz)
+{
+	const __be32 *val = of_find_property_value_of_size(np, propname,
+						(sz * sizeof(*out_values)));
+
+	if (IS_ERR(val))
+		return PTR_ERR(val);
+
+	while (sz--)
+		*out_values++ = be32_to_cpup(val++);
+	return 0;
+}
+EXPORT_SYMBOL_GPL(of_property_read_u32_array);
+#endif
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 09/14] patches: disable tx status support in mwifiex
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (7 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 08/14] backport: add of_property_read_u32() Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 10/14] patches: fix some v4l2 dma stuff Hauke Mehrtens
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

This feature is not support with older kernels, just deactivate it.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 .../0011-mac80211-disable-tx-status/mwifiex.patch  | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/mwifiex.patch

diff --git a/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/mwifiex.patch b/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/mwifiex.patch
new file mode 100644
index 0000000..551ae4e
--- /dev/null
+++ b/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/mwifiex.patch
@@ -0,0 +1,28 @@
+--- a/drivers/net/wireless/mwifiex/main.c
++++ b/drivers/net/wireless/mwifiex/main.c
+@@ -659,7 +659,9 @@ mwifiex_hard_start_xmit(struct sk_buff *
+ 	struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev);
+ 	struct sk_buff *new_skb;
+ 	struct mwifiex_txinfo *tx_info;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+ 	bool multicast;
++#endif
+ 
+ 	dev_dbg(priv->adapter->dev, "data: %lu BSS(%d-%d): Data <= kernel\n",
+ 		jiffies, priv->bss_type, priv->bss_num);
+@@ -700,6 +702,7 @@ mwifiex_hard_start_xmit(struct sk_buff *
+ 	tx_info->bss_type = priv->bss_type;
+ 	tx_info->pkt_len = skb->len;
+ 
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+ 	multicast = is_multicast_ether_addr(skb->data);
+ 
+ 	if (unlikely(!multicast && skb->sk &&
+@@ -708,6 +711,7 @@ mwifiex_hard_start_xmit(struct sk_buff *
+ 		skb = mwifiex_clone_skb_for_tx_status(priv,
+ 						      skb,
+ 					MWIFIEX_BUF_FLAG_EAPOL_TX_STATUS, NULL);
++#endif
+ 
+ 	/* Record the current time the packet was queued; used to
+ 	 * determine the amount of time the packet was queued in
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 10/14] patches: fix some v4l2 dma stuff
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (8 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 09/14] patches: disable tx status support in mwifiex Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 11/14] patches: do not use DMA_ATTR_SKIP_CPU_SYNC Hauke Mehrtens
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

* The vb2_vmalloc_get_dmabuf() function does not work on kernel < 3.5.
* v4l2_m2m_ioctl_expbuf() is disabled on kernel < 3.5, do not call it.
* deactivate dmabuf support in videobuf2-dma-sg.c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 .../media/0002-no_dmabuf/v4l2.patch                | 158 ++++++++++++++++-----
 1 file changed, 120 insertions(+), 38 deletions(-)

diff --git a/patches/collateral-evolutions/media/0002-no_dmabuf/v4l2.patch b/patches/collateral-evolutions/media/0002-no_dmabuf/v4l2.patch
index 7f88c3e..c7de4a0 100644
--- a/patches/collateral-evolutions/media/0002-no_dmabuf/v4l2.patch
+++ b/patches/collateral-evolutions/media/0002-no_dmabuf/v4l2.patch
@@ -61,7 +61,7 @@
  				enum v4l2_buf_type type)
 --- a/drivers/media/v4l2-core/videobuf2-core.c
 +++ b/drivers/media/v4l2-core/videobuf2-core.c
-@@ -250,6 +250,7 @@ static void __vb2_buf_userptr_put(struct
+@@ -252,6 +252,7 @@ static void __vb2_buf_userptr_put(struct
  	}
  }
  
@@ -69,7 +69,7 @@
  /**
   * __vb2_plane_dmabuf_put() - release memory associated with
   * a DMABUF shared plane
-@@ -278,6 +279,7 @@ static void __vb2_buf_dmabuf_put(struct
+@@ -280,6 +281,7 @@ static void __vb2_buf_dmabuf_put(struct
  	for (plane = 0; plane < vb->num_planes; ++plane)
  		__vb2_plane_dmabuf_put(vb, &vb->planes[plane]);
  }
@@ -77,7 +77,7 @@
  
  /**
   * __setup_lengths() - setup initial lengths for every plane in
-@@ -421,8 +423,10 @@ static void __vb2_free_mem(struct vb2_qu
+@@ -423,8 +425,10 @@ static void __vb2_free_mem(struct vb2_qu
  		/* Free MMAP buffers or release USERPTR buffers */
  		if (q->memory == V4L2_MEMORY_MMAP)
  			__vb2_buf_mem_free(vb);
@@ -88,7 +88,7 @@
  		else
  			__vb2_buf_userptr_put(vb);
  	}
-@@ -781,6 +785,7 @@ static int __verify_mmap_ops(struct vb2_
+@@ -783,6 +787,7 @@ static int __verify_mmap_ops(struct vb2_
  	return 0;
  }
  
@@ -96,7 +96,7 @@
  /**
   * __verify_dmabuf_ops() - verify that all memory operations required for
   * DMABUF queue type have been provided
-@@ -794,6 +799,7 @@ static int __verify_dmabuf_ops(struct vb
+@@ -796,6 +801,7 @@ static int __verify_dmabuf_ops(struct vb
  
  	return 0;
  }
@@ -104,7 +104,7 @@
  
  /**
   * __verify_memory_type() - Check whether the memory type and buffer type
-@@ -827,10 +833,12 @@ static int __verify_memory_type(struct v
+@@ -829,10 +835,12 @@ static int __verify_memory_type(struct v
  		return -EINVAL;
  	}
  
@@ -117,7 +117,7 @@
  
  	/*
  	 * Place the busy tests at the end: -EBUSY can be ignored when
-@@ -1451,6 +1459,7 @@ err:
+@@ -1454,6 +1462,7 @@ err:
  	return ret;
  }
  
@@ -125,7 +125,7 @@
  /**
   * __qbuf_dmabuf() - handle qbuf of a DMABUF buffer
   */
-@@ -1568,6 +1577,7 @@ err:
+@@ -1572,6 +1581,7 @@ err:
  
  	return ret;
  }
@@ -133,7 +133,7 @@
  
  /**
   * __enqueue_in_driver() - enqueue a vb2_buffer in driver for processing
-@@ -1630,9 +1640,11 @@ static int __buf_prepare(struct vb2_buff
+@@ -1634,9 +1644,11 @@ static int __buf_prepare(struct vb2_buff
  		ret = __qbuf_userptr(vb, b);
  		up_read(&current->mm->mmap_sem);
  		break;
@@ -145,7 +145,7 @@
  	default:
  		WARN(1, "Invalid queue type\n");
  		ret = -EINVAL;
-@@ -2018,8 +2030,10 @@ EXPORT_SYMBOL_GPL(vb2_wait_for_all_buffe
+@@ -2022,8 +2034,10 @@ EXPORT_SYMBOL_GPL(vb2_wait_for_all_buffe
   */
  static void __vb2_dqbuf(struct vb2_buffer *vb)
  {
@@ -156,7 +156,7 @@
  
  	/* nothing to do if the buffer is already dequeued */
  	if (vb->state == VB2_BUF_STATE_DEQUEUED)
-@@ -2027,6 +2041,7 @@ static void __vb2_dqbuf(struct vb2_buffe
+@@ -2031,6 +2045,7 @@ static void __vb2_dqbuf(struct vb2_buffe
  
  	vb->state = VB2_BUF_STATE_DEQUEUED;
  
@@ -164,7 +164,7 @@
  	/* unmap DMABUF buffer */
  	if (q->memory == V4L2_MEMORY_DMABUF)
  		for (i = 0; i < vb->num_planes; ++i) {
-@@ -2035,6 +2050,7 @@ static void __vb2_dqbuf(struct vb2_buffe
+@@ -2039,6 +2054,7 @@ static void __vb2_dqbuf(struct vb2_buffe
  			call_void_memop(vb, unmap_dmabuf, vb->planes[i].mem_priv);
  			vb->planes[i].dbuf_mapped = 0;
  		}
@@ -172,7 +172,7 @@
  }
  
  static int vb2_internal_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking)
-@@ -2341,6 +2357,7 @@ static int __find_plane_by_offset(struct
+@@ -2345,6 +2361,7 @@ static int __find_plane_by_offset(struct
  	return -EINVAL;
  }
  
@@ -180,7 +180,7 @@
  /**
   * vb2_expbuf() - Export a buffer as a file descriptor
   * @q:		videobuf2 queue
-@@ -2418,6 +2435,7 @@ int vb2_expbuf(struct vb2_queue *q, stru
+@@ -2422,6 +2439,7 @@ int vb2_expbuf(struct vb2_queue *q, stru
  	return 0;
  }
  EXPORT_SYMBOL_GPL(vb2_expbuf);
@@ -188,7 +188,7 @@
  
  /**
   * vb2_mmap() - map video buffers into application address space
-@@ -3361,6 +3379,7 @@ int vb2_ioctl_streamoff(struct file *fil
+@@ -3365,6 +3383,7 @@ int vb2_ioctl_streamoff(struct file *fil
  }
  EXPORT_SYMBOL_GPL(vb2_ioctl_streamoff);
  
@@ -196,7 +196,7 @@
  int vb2_ioctl_expbuf(struct file *file, void *priv, struct v4l2_exportbuffer *p)
  {
  	struct video_device *vdev = video_devdata(file);
-@@ -3370,6 +3389,7 @@ int vb2_ioctl_expbuf(struct file *file,
+@@ -3374,6 +3393,7 @@ int vb2_ioctl_expbuf(struct file *file,
  	return vb2_expbuf(vdev->queue, p);
  }
  EXPORT_SYMBOL_GPL(vb2_ioctl_expbuf);
@@ -217,7 +217,7 @@
  
  	return buf->vaddr;
  }
-@@ -270,6 +272,7 @@ static int vb2_dc_mmap(void *buf_priv, s
+@@ -272,6 +274,7 @@ static int vb2_dc_mmap(void *buf_priv, s
  }
  #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) */
  
@@ -225,7 +225,7 @@
  /*********************************************/
  /*         DMABUF ops for exporters          */
  /*********************************************/
-@@ -463,6 +466,7 @@ static struct dma_buf *vb2_dc_get_dmabuf
+@@ -465,6 +468,7 @@ static struct dma_buf *vb2_dc_get_dmabuf
  
  	return dbuf;
  }
@@ -233,7 +233,7 @@
  
  /*********************************************/
  /*       callbacks for USERPTR buffers       */
-@@ -747,6 +751,7 @@ fail_buf:
+@@ -767,6 +771,7 @@ fail_buf:
  	return ERR_PTR(ret);
  }
  
@@ -241,7 +241,7 @@
  /*********************************************/
  /*       callbacks for DMABUF buffers        */
  /*********************************************/
-@@ -857,6 +862,7 @@ static void *vb2_dc_attach_dmabuf(void *
+@@ -877,6 +882,7 @@ static void *vb2_dc_attach_dmabuf(void *
  
  	return buf;
  }
@@ -249,7 +249,7 @@
  
  /*********************************************/
  /*       DMA CONTIG exported functions       */
-@@ -865,7 +871,9 @@ static void *vb2_dc_attach_dmabuf(void *
+@@ -885,7 +891,9 @@ static void *vb2_dc_attach_dmabuf(void *
  const struct vb2_mem_ops vb2_dma_contig_memops = {
  	.alloc		= vb2_dc_alloc,
  	.put		= vb2_dc_put,
@@ -259,7 +259,7 @@
  	.cookie		= vb2_dc_cookie,
  	.vaddr		= vb2_dc_vaddr,
  	.mmap		= vb2_dc_mmap,
-@@ -873,10 +881,12 @@ const struct vb2_mem_ops vb2_dma_contig_
+@@ -893,10 +901,12 @@ const struct vb2_mem_ops vb2_dma_contig_
  	.put_userptr	= vb2_dc_put_userptr,
  	.prepare	= vb2_dc_prepare,
  	.finish		= vb2_dc_finish,
@@ -284,15 +284,15 @@
  };
  
  static void vb2_vmalloc_put(void *buf_priv);
-@@ -208,6 +210,7 @@ static int vb2_vmalloc_mmap(void *buf_pr
- 	return 0;
- }
+@@ -216,6 +218,7 @@ static int vb2_vmalloc_mmap(void *buf_pr
+ /*         DMABUF ops for exporters          */
+ /*********************************************/
  
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
- /*********************************************/
- /*       callbacks for DMABUF buffers        */
- /*********************************************/
-@@ -257,6 +260,7 @@ static void *vb2_vmalloc_attach_dmabuf(v
+ struct vb2_vmalloc_attachment {
+ 	struct sg_table sgt;
+ 	enum dma_data_direction dma_dir;
+@@ -431,6 +434,7 @@ static void *vb2_vmalloc_attach_dmabuf(v
  
  	return buf;
  }
@@ -300,11 +300,12 @@
  
  
  const struct vb2_mem_ops vb2_vmalloc_memops = {
-@@ -264,10 +268,12 @@ const struct vb2_mem_ops vb2_vmalloc_mem
+@@ -438,11 +442,13 @@ const struct vb2_mem_ops vb2_vmalloc_mem
  	.put		= vb2_vmalloc_put,
  	.get_userptr	= vb2_vmalloc_get_userptr,
  	.put_userptr	= vb2_vmalloc_put_userptr,
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 	.get_dmabuf	= vb2_vmalloc_get_dmabuf,
  	.map_dmabuf	= vb2_vmalloc_map_dmabuf,
  	.unmap_dmabuf	= vb2_vmalloc_unmap_dmabuf,
  	.attach_dmabuf	= vb2_vmalloc_attach_dmabuf,
@@ -339,23 +340,24 @@
  int v4l2_m2m_ioctl_dqbuf(struct file *file, void *fh,
 --- a/include/media/videobuf2-core.h
 +++ b/include/media/videobuf2-core.h
-@@ -84,7 +84,9 @@ struct vb2_threadio_data;
- struct vb2_mem_ops {
- 	void		*(*alloc)(void *alloc_ctx, unsigned long size, gfp_t gfp_flags);
+@@ -86,7 +86,9 @@ struct vb2_mem_ops {
+ 				  enum dma_data_direction dma_dir,
+ 				  gfp_t gfp_flags);
  	void		(*put)(void *buf_priv);
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
  	struct dma_buf *(*get_dmabuf)(void *buf_priv, unsigned long flags);
 +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) */
  
  	void		*(*get_userptr)(void *alloc_ctx, unsigned long vaddr,
- 					unsigned long size, int write);
-@@ -93,11 +95,13 @@ struct vb2_mem_ops {
+ 					unsigned long size,
+@@ -96,12 +98,14 @@ struct vb2_mem_ops {
  	void		(*prepare)(void *buf_priv);
  	void		(*finish)(void *buf_priv);
  
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
  	void		*(*attach_dmabuf)(void *alloc_ctx, struct dma_buf *dbuf,
- 				unsigned long size, int write);
+ 					  unsigned long size,
+ 					  enum dma_data_direction dma_dir);
  	void		(*detach_dmabuf)(void *buf_priv);
  	int		(*map_dmabuf)(void *buf_priv);
  	void		(*unmap_dmabuf)(void *buf_priv);
@@ -363,7 +365,7 @@
  
  	void		*(*vaddr)(void *buf_priv);
  	void		*(*cookie)(void *buf_priv);
-@@ -459,7 +463,9 @@ void vb2_queue_release(struct vb2_queue
+@@ -465,7 +469,9 @@ void vb2_queue_release(struct vb2_queue
  void vb2_queue_error(struct vb2_queue *q);
  
  int vb2_qbuf(struct vb2_queue *q, struct v4l2_buffer *b);
@@ -373,7 +375,7 @@
  int vb2_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool nonblocking);
  
  int vb2_streamon(struct vb2_queue *q, enum v4l2_buf_type type);
-@@ -624,8 +630,10 @@ int vb2_ioctl_qbuf(struct file *file, vo
+@@ -630,8 +636,10 @@ int vb2_ioctl_qbuf(struct file *file, vo
  int vb2_ioctl_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p);
  int vb2_ioctl_streamon(struct file *file, void *priv, enum v4l2_buf_type i);
  int vb2_ioctl_streamoff(struct file *file, void *priv, enum v4l2_buf_type i);
@@ -384,3 +386,83 @@
  
  /* struct v4l2_file_operations helpers */
  
+--- a/drivers/media/platform/coda/coda-common.c
++++ b/drivers/media/platform/coda/coda-common.c
+@@ -831,7 +831,9 @@ static const struct v4l2_ioctl_ops coda_
+ 	.vidioc_querybuf	= v4l2_m2m_ioctl_querybuf,
+ 
+ 	.vidioc_qbuf		= coda_qbuf,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 	.vidioc_expbuf		= v4l2_m2m_ioctl_expbuf,
++#endif
+ 	.vidioc_dqbuf		= coda_dqbuf,
+ 	.vidioc_create_bufs	= v4l2_m2m_ioctl_create_bufs,
+ 
+--- a/drivers/media/platform/exynos4-is/fimc-m2m.c
++++ b/drivers/media/platform/exynos4-is/fimc-m2m.c
+@@ -538,7 +538,9 @@ static const struct v4l2_ioctl_ops fimc_
+ 	.vidioc_querybuf		= v4l2_m2m_ioctl_querybuf,
+ 	.vidioc_qbuf			= v4l2_m2m_ioctl_qbuf,
+ 	.vidioc_dqbuf			= v4l2_m2m_ioctl_dqbuf,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 	.vidioc_expbuf			= v4l2_m2m_ioctl_expbuf,
++#endif
+ 	.vidioc_streamon		= v4l2_m2m_ioctl_streamon,
+ 	.vidioc_streamoff		= v4l2_m2m_ioctl_streamoff,
+ 	.vidioc_g_crop			= fimc_m2m_g_crop,
+--- a/drivers/media/platform/vim2m.c
++++ b/drivers/media/platform/vim2m.c
+@@ -697,7 +697,9 @@ static const struct v4l2_ioctl_ops vim2m
+ 	.vidioc_querybuf	= v4l2_m2m_ioctl_querybuf,
+ 	.vidioc_qbuf		= v4l2_m2m_ioctl_qbuf,
+ 	.vidioc_dqbuf		= v4l2_m2m_ioctl_dqbuf,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 	.vidioc_expbuf		= v4l2_m2m_ioctl_expbuf,
++#endif
+ 
+ 	.vidioc_streamon	= v4l2_m2m_ioctl_streamon,
+ 	.vidioc_streamoff	= v4l2_m2m_ioctl_streamoff,
+--- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
++++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
+@@ -373,9 +373,11 @@ static void *vb2_dma_sg_vaddr(void *buf_
+ 	BUG_ON(!buf);
+ 
+ 	if (!buf->vaddr) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 		if (buf->db_attach)
+ 			buf->vaddr = dma_buf_vmap(buf->db_attach->dmabuf);
+ 		else
++#endif
+ 			buf->vaddr = vm_map_ram(buf->pages,
+ 					buf->num_pages, -1, PAGE_KERNEL);
+ 	}
+@@ -428,6 +430,7 @@ static int vb2_dma_sg_mmap(void *buf_pri
+ 	return 0;
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ /*********************************************/
+ /*         DMABUF ops for exporters          */
+ /*********************************************/
+@@ -695,6 +698,7 @@ static void *vb2_dma_sg_attach_dmabuf(vo
+ 
+ 	return buf;
+ }
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) */
+ 
+ static void *vb2_dma_sg_cookie(void *buf_priv)
+ {
+@@ -713,11 +717,13 @@ const struct vb2_mem_ops vb2_dma_sg_memo
+ 	.vaddr		= vb2_dma_sg_vaddr,
+ 	.mmap		= vb2_dma_sg_mmap,
+ 	.num_users	= vb2_dma_sg_num_users,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+ 	.get_dmabuf	= vb2_dma_sg_get_dmabuf,
+ 	.map_dmabuf	= vb2_dma_sg_map_dmabuf,
+ 	.unmap_dmabuf	= vb2_dma_sg_unmap_dmabuf,
+ 	.attach_dmabuf	= vb2_dma_sg_attach_dmabuf,
+ 	.detach_dmabuf	= vb2_dma_sg_detach_dmabuf,
++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) */
+ 	.cookie		= vb2_dma_sg_cookie,
+ };
+ EXPORT_SYMBOL_GPL(vb2_dma_sg_memops);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 11/14] patches: do not use DMA_ATTR_SKIP_CPU_SYNC
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (9 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 10/14] patches: fix some v4l2 dma stuff Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 12/14] patches: adapt api change of rchan_callbacks->create_buf_file in ath9k Hauke Mehrtens
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

DMA_ATTR_SKIP_CPU_SYNC was added to the enum with kernel 3.6. This
patch removes all calls to dma_set_attr() with this value on
kernel < 3.6.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 .../media/0005-dma-no-sync/v4l2.patch              | 64 ++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 patches/collateral-evolutions/media/0005-dma-no-sync/v4l2.patch

diff --git a/patches/collateral-evolutions/media/0005-dma-no-sync/v4l2.patch b/patches/collateral-evolutions/media/0005-dma-no-sync/v4l2.patch
new file mode 100644
index 0000000..bdb2ff3
--- /dev/null
+++ b/patches/collateral-evolutions/media/0005-dma-no-sync/v4l2.patch
@@ -0,0 +1,64 @@
+--- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
++++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
+@@ -564,7 +564,9 @@ static void vb2_dc_put_userptr(void *buf
+ 	if (sgt) {
+ 		DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 		dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 		/*
+ 		 * No need to sync to CPU, it's already synced to the CPU
+ 		 * since the finish() memop will have been called before this.
+@@ -629,7 +631,9 @@ static void *vb2_dc_get_userptr(void *al
+ 	unsigned long dma_align = dma_get_cache_alignment();
+ 	DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 	dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 
+ 	/* Only cache aligned DMA transfers are reliable */
+ 	if (!IS_ALIGNED(vaddr | size, dma_align)) {
+--- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
++++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
+@@ -109,7 +109,9 @@ static void *vb2_dma_sg_alloc(void *allo
+ 	int num_pages;
+ 	DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 	dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 
+ 	if (WARN_ON(alloc_ctx == NULL))
+ 		return NULL;
+@@ -184,7 +186,9 @@ static void vb2_dma_sg_put(void *buf_pri
+ 	if (atomic_dec_and_test(&buf->refcount)) {
+ 		DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 		dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 		dprintk(1, "%s: Freeing buffer of %d pages\n", __func__,
+ 			buf->num_pages);
+ 		dma_unmap_sg_attrs(buf->dev, sgt->sgl, sgt->nents,
+@@ -241,7 +245,9 @@ static void *vb2_dma_sg_get_userptr(void
+ 	struct sg_table *sgt;
+ 	DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 	dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 
+ 	buf = kzalloc(sizeof *buf, GFP_KERNEL);
+ 	if (!buf)
+@@ -347,7 +353,9 @@ static void vb2_dma_sg_put_userptr(void
+ 	int i = buf->num_pages;
+ 	DEFINE_DMA_ATTRS(attrs);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
+ 	dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
++#endif
+ 
+ 	dprintk(1, "%s: Releasing userspace buffer of %d pages\n",
+ 	       __func__, buf->num_pages);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 12/14] patches: adapt api change of rchan_callbacks->create_buf_file in ath9k
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (10 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 11/14] patches: do not use DMA_ATTR_SKIP_CPU_SYNC Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 13/14] patches: refresh on next-20141201 Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 14/14] devel: update the test kernels Hauke Mehrtens
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 .../network/0021-umode_t-api-change/ath9k.patch            | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 patches/collateral-evolutions/network/0021-umode_t-api-change/ath9k.patch

diff --git a/patches/collateral-evolutions/network/0021-umode_t-api-change/ath9k.patch b/patches/collateral-evolutions/network/0021-umode_t-api-change/ath9k.patch
new file mode 100644
index 0000000..5275415
--- /dev/null
+++ b/patches/collateral-evolutions/network/0021-umode_t-api-change/ath9k.patch
@@ -0,0 +1,14 @@
+--- a/drivers/net/wireless/ath/ath9k/common-spectral.c
++++ b/drivers/net/wireless/ath/ath9k/common-spectral.c
+@@ -552,7 +552,11 @@ static const struct file_operations fops
+ 
+ static struct dentry *create_buf_file_handler(const char *filename,
+ 					      struct dentry *parent,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+ 					      umode_t mode,
++#else
++					      int mode,
++#endif
+ 					      struct rchan_buf *buf,
+ 					      int *is_global)
+ {
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 13/14] patches: refresh on next-20141201
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (11 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 12/14] patches: adapt api change of rchan_callbacks->create_buf_file in ath9k Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  2014-12-20 21:39 ` [PATCH 14/14] devel: update the test kernels Hauke Mehrtens
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

1   3.0.101             [  OK  ]
2   3.1.10              [  OK  ]
3   3.2.65              [  OK  ]
4   3.3.8               [  OK  ]
5   3.4.105             [  OK  ]
6   3.5.7               [  OK  ]
7   3.6.11              [  OK  ]
8   3.7.10              [  OK  ]
9   3.8.13              [  OK  ]
10  3.9.11              [  OK  ]
11  3.10.63             [  OK  ]
12  3.11.10             [  OK  ]
13  3.12.35             [  OK  ]
14  3.13.11             [  OK  ]
15  3.14.27             [  OK  ]
16  3.15.10             [  OK  ]
17  3.16.6              [  OK  ]
18  3.17.7              [  OK  ]
19  3.18.1              [  OK  ]

manual changed were needed for the following patches:
backport-adjustments/crypto-ccm.patch
backport-adjustments/devcoredump.patch

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 patches/backport-adjustments/crypto-ccm.patch      |  7 +++--
 patches/backport-adjustments/devcoredump.patch     | 35 ++++++++++------------
 .../media/0001-dma_mmap_coherent-revert.patch      |  4 +--
 .../0002-disable-dump-adjust-on-old-kernels.patch  |  4 +--
 .../include_net_cfg80211.patch                     |  2 +-
 .../net_wireless_core.patch                        |  2 +-
 .../net_mac80211_tx.patch                          |  6 ++--
 .../0014-netlink_seq/net_wireless_nl80211.patch    |  2 +-
 .../network/0024-led-blink-api/mac80211.patch      |  2 +-
 .../network/0027-genl-const/hwsim.patch            |  4 +--
 .../network/0027-genl-const/nl80211.patch          |  6 ++--
 .../network/0028-select_queue/mwifiex.patch        |  2 +-
 .../0032-sriov_configure/igb_sriov_configure.patch |  8 ++---
 .../0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch |  8 ++---
 .../igb_ndo_set_vf_spoofchk.patch                  |  8 ++---
 .../network/0035-skb_no_fcs/igb_skb_no_fcs.patch   |  2 +-
 .../network/0043-ndo_set_vf_rate/igb.patch         | 10 +++----
 .../network/0046-mmc_rescan_entered/mwifiex.patch  |  2 +-
 .../network/0048-no_ndo_xmit_flush/igb.patch       |  2 +-
 .../network/0049-no-pfmemalloc/igb.patch           |  4 +--
 20 files changed, 58 insertions(+), 62 deletions(-)

diff --git a/patches/backport-adjustments/crypto-ccm.patch b/patches/backport-adjustments/crypto-ccm.patch
index 51479ee..9b722fa 100644
--- a/patches/backport-adjustments/crypto-ccm.patch
+++ b/patches/backport-adjustments/crypto-ccm.patch
@@ -55,7 +55,7 @@
  {
  	int err;
  
-@@ -867,17 +898,9 @@ out_undo_base:
+@@ -867,18 +898,9 @@ out_undo_base:
  	goto out;
  }
  
@@ -72,5 +72,6 @@
 -
 -MODULE_LICENSE("GPL");
 -MODULE_DESCRIPTION("Counter with CBC MAC");
--MODULE_ALIAS("ccm_base");
--MODULE_ALIAS("rfc4309");
+-MODULE_ALIAS_CRYPTO("ccm_base");
+-MODULE_ALIAS_CRYPTO("rfc4309");
+-MODULE_ALIAS_CRYPTO("ccm");
diff --git a/patches/backport-adjustments/devcoredump.patch b/patches/backport-adjustments/devcoredump.patch
index 3bf35f9..b438f32 100644
--- a/patches/backport-adjustments/devcoredump.patch
+++ b/patches/backport-adjustments/devcoredump.patch
@@ -1,13 +1,14 @@
-diff --git a/compat/drivers-base-devcoredump.c b/compat/drivers-base-devcoredump.c
-index 96614b04544c..600af2623230 100644
 --- a/compat/drivers-base-devcoredump.c
 +++ b/compat/drivers-base-devcoredump.c
-@@ -30,10 +30,15 @@
+@@ -30,6 +30,7 @@
  #include <linux/slab.h>
  #include <linux/fs.h>
  #include <linux/workqueue.h>
 +#include "backports.h"
  
+ static struct class devcd_class;
+ 
+@@ -39,6 +40,10 @@ static bool devcd_disabled;
  /* if data isn't read by userspace after 5 minutes then delete it */
  #define DEVCD_TIMEOUT	(HZ * 60 * 5)
  
@@ -18,7 +19,7 @@ index 96614b04544c..600af2623230 100644
  struct devcd_entry {
  	struct device devcd_dev;
  	const void *data;
-@@ -63,8 +68,7 @@ static void devcd_dev_release(struct device *dev)
+@@ -68,8 +73,7 @@ static void devcd_dev_release(struct dev
  	 * a struct device to know when it goes away?
  	 */
  	if (devcd->failing_dev->kobj.sd)
@@ -28,7 +29,7 @@ index 96614b04544c..600af2623230 100644
  
  	put_device(devcd->failing_dev);
  	kfree(devcd);
-@@ -76,6 +80,9 @@ static void devcd_del(struct work_struct *wk)
+@@ -81,6 +85,9 @@ static void devcd_del(struct work_struct
  
  	devcd = container_of(wk, struct devcd_entry, del_wk.work);
  
@@ -38,7 +39,7 @@ index 96614b04544c..600af2623230 100644
  	device_del(&devcd->devcd_dev);
  	put_device(&devcd->devcd_dev);
  }
-@@ -109,6 +116,7 @@ static struct bin_attribute devcd_attr_data = {
+@@ -114,6 +121,7 @@ static struct bin_attribute devcd_attr_d
  	.write = devcd_data_write,
  };
  
@@ -46,23 +47,25 @@ index 96614b04544c..600af2623230 100644
  static struct bin_attribute *devcd_dev_bin_attrs[] = {
  	&devcd_attr_data, NULL,
  };
-@@ -120,12 +128,15 @@ static const struct attribute_group devcd_dev_group = {
+@@ -125,6 +133,7 @@ static const struct attribute_group devc
  static const struct attribute_group *devcd_dev_groups[] = {
  	&devcd_dev_group, NULL,
  };
 +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0) */
  
- static struct class devcd_class = {
+ static int devcd_free(struct device *dev, void *data)
+ {
+@@ -169,7 +178,9 @@ static struct class devcd_class = {
  	.name		= "devcoredump",
  	.owner		= THIS_MODULE,
  	.dev_release	= devcd_dev_release,
 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
  	.dev_groups	= devcd_dev_groups,
 +#endif
+ 	.class_attrs	= devcd_class_attrs,
  };
  
- static ssize_t devcd_readv(char *buffer, loff_t offset, size_t count,
-@@ -222,6 +233,11 @@ void dev_coredumpm(struct device *dev, struct module *owner,
+@@ -270,6 +281,11 @@ void dev_coredumpm(struct device *dev, s
  	if (device_add(&devcd->devcd_dev))
  		goto put_device;
  
@@ -74,7 +77,7 @@ index 96614b04544c..600af2623230 100644
  	if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
  			      "failing_device"))
  		/* nothing - symlink will be missing */;
-@@ -243,11 +259,10 @@ void dev_coredumpm(struct device *dev, struct module *owner,
+@@ -291,15 +307,13 @@ void dev_coredumpm(struct device *dev, s
  }
  EXPORT_SYMBOL_GPL(dev_coredumpm);
  
@@ -85,12 +88,6 @@ index 96614b04544c..600af2623230 100644
  }
 -__initcall(devcoredump_init);
  
- static int devcd_free(struct device *dev, void *data)
- {
-@@ -257,9 +272,8 @@ static int devcd_free(struct device *dev, void *data)
- 	return 0;
- }
- 
 -static void __exit devcoredump_exit(void)
 +void __exit devcoredump_exit(void)
  {
@@ -98,8 +95,6 @@ index 96614b04544c..600af2623230 100644
  	class_unregister(&devcd_class);
  }
 -__exitcall(devcoredump_exit);
-diff --git a/include/linux/backport-devcoredump.h b/include/linux/backport-devcoredump.h
-index c0a360e99f64..da20e61f6c06 100644
 --- a/include/linux/backport-devcoredump.h
 +++ b/include/linux/backport-devcoredump.h
 @@ -5,7 +5,7 @@
@@ -111,7 +106,7 @@ index c0a360e99f64..da20e61f6c06 100644
  void dev_coredumpv(struct device *dev, const void *data, size_t datalen,
  		   gfp_t gfp);
  
-@@ -30,6 +30,6 @@ dev_coredumpm(struct device *dev, struct module *owner,
+@@ -30,6 +30,6 @@ dev_coredumpm(struct device *dev, struct
  {
  	free(data);
  }
diff --git a/patches/collateral-evolutions/media/0001-dma_mmap_coherent-revert.patch b/patches/collateral-evolutions/media/0001-dma_mmap_coherent-revert.patch
index 6dcf6a1..f4620c3 100644
--- a/patches/collateral-evolutions/media/0001-dma_mmap_coherent-revert.patch
+++ b/patches/collateral-evolutions/media/0001-dma_mmap_coherent-revert.patch
@@ -25,7 +25,7 @@ Date:   Thu Jun 14 11:32:21 2012 -0300
 
 --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
 +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
-@@ -186,6 +186,52 @@ static void *vb2_dc_alloc(void *alloc_ct
+@@ -188,6 +188,52 @@ static void *vb2_dc_alloc(void *alloc_ct
  	return buf;
  }
  
@@ -78,7 +78,7 @@ Date:   Thu Jun 14 11:32:21 2012 -0300
  static int vb2_dc_mmap(void *buf_priv, struct vm_area_struct *vma)
  {
  	struct vb2_dc_buf *buf = buf_priv;
-@@ -222,6 +268,7 @@ static int vb2_dc_mmap(void *buf_priv, s
+@@ -224,6 +270,7 @@ static int vb2_dc_mmap(void *buf_priv, s
  
  	return 0;
  }
diff --git a/patches/collateral-evolutions/network/0002-disable-dump-adjust-on-old-kernels.patch b/patches/collateral-evolutions/network/0002-disable-dump-adjust-on-old-kernels.patch
index 4525fb2..febd49d 100644
--- a/patches/collateral-evolutions/network/0002-disable-dump-adjust-on-old-kernels.patch
+++ b/patches/collateral-evolutions/network/0002-disable-dump-adjust-on-old-kernels.patch
@@ -28,7 +28,7 @@ Date:   Fri Mar 1 14:03:49 2013 +0100
 
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -1782,6 +1782,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1786,6 +1786,7 @@ static int nl80211_dump_wiphy(struct sk_
  						 cb->nlh->nlmsg_seq,
  						 NLM_F_MULTI, state);
  			if (ret < 0) {
@@ -36,7 +36,7 @@ Date:   Fri Mar 1 14:03:49 2013 +0100
  				/*
  				 * If sending the wiphy data didn't fit (ENOBUFS
  				 * or EMSGSIZE returned), this SKB is still
-@@ -1803,6 +1804,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1807,6 +1808,7 @@ static int nl80211_dump_wiphy(struct sk_
  					rtnl_unlock();
  					return 1;
  				}
diff --git a/patches/collateral-evolutions/network/0003-cfg80211-wext-padding/include_net_cfg80211.patch b/patches/collateral-evolutions/network/0003-cfg80211-wext-padding/include_net_cfg80211.patch
index 97def06..9e042ca 100644
--- a/patches/collateral-evolutions/network/0003-cfg80211-wext-padding/include_net_cfg80211.patch
+++ b/patches/collateral-evolutions/network/0003-cfg80211-wext-padding/include_net_cfg80211.patch
@@ -1,6 +1,6 @@
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
-@@ -3020,6 +3020,9 @@ struct wiphy_vendor_command {
+@@ -3100,6 +3100,9 @@ struct wiphy_vendor_command {
  struct wiphy {
  	/* assign these fields before you register the wiphy */
  
diff --git a/patches/collateral-evolutions/network/0010-add-wext-handlers-to-netdev/net_wireless_core.patch b/patches/collateral-evolutions/network/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
index c3c8b53..e37b32a 100644
--- a/patches/collateral-evolutions/network/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
+++ b/patches/collateral-evolutions/network/0010-add-wext-handlers-to-netdev/net_wireless_core.patch
@@ -11,7 +11,7 @@
  	device_initialize(&rdev->wiphy.dev);
  	rdev->wiphy.dev.class = &ieee80211_class;
  	rdev->wiphy.dev.platform_data = rdev;
-@@ -972,6 +968,15 @@ static int cfg80211_netdev_notifier_call
+@@ -976,6 +972,15 @@ static int cfg80211_netdev_notifier_call
  		}
  		wdev->netdev = dev;
  #ifdef CONFIG_CFG80211_WEXT
diff --git a/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/net_mac80211_tx.patch b/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/net_mac80211_tx.patch
index a966e84..5f9228b 100644
--- a/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/net_mac80211_tx.patch
+++ b/patches/collateral-evolutions/network/0011-mac80211-disable-tx-status/net_mac80211_tx.patch
@@ -1,14 +1,14 @@
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -2085,6 +2085,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
- 		goto fail_rcu;
+@@ -2093,6 +2093,7 @@ static struct sk_buff *ieee80211_build_h
+ 		goto free;
  	}
  
 +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
  	if (unlikely(!multicast && skb->sk &&
  		     skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) {
  		struct sk_buff *ack_skb = skb_clone_sk(skb);
-@@ -2106,6 +2107,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -2114,6 +2115,7 @@ static struct sk_buff *ieee80211_build_h
  			}
  		}
  	}
diff --git a/patches/collateral-evolutions/network/0014-netlink_seq/net_wireless_nl80211.patch b/patches/collateral-evolutions/network/0014-netlink_seq/net_wireless_nl80211.patch
index ab3fed6..e506a88 100644
--- a/patches/collateral-evolutions/network/0014-netlink_seq/net_wireless_nl80211.patch
+++ b/patches/collateral-evolutions/network/0014-netlink_seq/net_wireless_nl80211.patch
@@ -1,6 +1,6 @@
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -6325,7 +6325,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -6459,7 +6459,9 @@ static int nl80211_dump_scan(struct sk_b
  	spin_lock_bh(&rdev->bss_lock);
  	cfg80211_bss_expire(rdev);
  
diff --git a/patches/collateral-evolutions/network/0024-led-blink-api/mac80211.patch b/patches/collateral-evolutions/network/0024-led-blink-api/mac80211.patch
index 78942e7..774ae97 100644
--- a/patches/collateral-evolutions/network/0024-led-blink-api/mac80211.patch
+++ b/patches/collateral-evolutions/network/0024-led-blink-api/mac80211.patch
@@ -1,6 +1,6 @@
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -1270,6 +1270,9 @@ struct ieee80211_local {
+@@ -1278,6 +1278,9 @@ struct ieee80211_local {
  	u32 dot11TransmittedFrameCount;
  
  #ifdef CONFIG_MAC80211_LEDS
diff --git a/patches/collateral-evolutions/network/0027-genl-const/hwsim.patch b/patches/collateral-evolutions/network/0027-genl-const/hwsim.patch
index 0ede9e5..8666419 100644
--- a/patches/collateral-evolutions/network/0027-genl-const/hwsim.patch
+++ b/patches/collateral-evolutions/network/0027-genl-const/hwsim.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/mac80211_hwsim.c
 +++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -490,7 +490,7 @@ enum hwsim_multicast_groups {
+@@ -493,7 +493,7 @@ enum hwsim_multicast_groups {
  	HWSIM_MCGRP_CONFIG,
  };
  
@@ -9,7 +9,7 @@
  	[HWSIM_MCGRP_CONFIG] = { .name = "config", },
  };
  
-@@ -2759,7 +2759,7 @@ static int hwsim_del_radio_nl(struct sk_
+@@ -2940,7 +2940,7 @@ done:
  }
  
  /* Generic Netlink operations array */
diff --git a/patches/collateral-evolutions/network/0027-genl-const/nl80211.patch b/patches/collateral-evolutions/network/0027-genl-const/nl80211.patch
index 83ac14a..2c75413 100644
--- a/patches/collateral-evolutions/network/0027-genl-const/nl80211.patch
+++ b/patches/collateral-evolutions/network/0027-genl-const/nl80211.patch
@@ -21,7 +21,7 @@
  	[NL80211_MCGRP_CONFIG] = { .name = "config", },
  	[NL80211_MCGRP_SCAN] = { .name = "scan", },
  	[NL80211_MCGRP_REGULATORY] = { .name = "regulatory", },
-@@ -9674,7 +9674,7 @@ static int nl80211_del_tx_ts(struct sk_b
+@@ -9941,7 +9941,7 @@ static int nl80211_tdls_cancel_channel_s
  					 NL80211_FLAG_CHECK_NETDEV_UP)
  #define NL80211_FLAG_CLEAR_SKB		0x20
  
@@ -30,7 +30,7 @@
  			    struct genl_info *info)
  {
  	struct cfg80211_registered_device *rdev;
-@@ -9743,7 +9743,7 @@ static int nl80211_pre_doit(const struct
+@@ -10010,7 +10010,7 @@ static int nl80211_pre_doit(const struct
  	return 0;
  }
  
@@ -39,7 +39,7 @@
  			      struct genl_info *info)
  {
  	if (info->user_ptr[1]) {
-@@ -9772,7 +9772,7 @@ static void nl80211_post_doit(const stru
+@@ -10039,7 +10039,7 @@ static void nl80211_post_doit(const stru
  	}
  }
  
diff --git a/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch b/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch
index c06c162..74f15c4 100644
--- a/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch
+++ b/patches/collateral-evolutions/network/0028-select_queue/mwifiex.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/mwifiex/main.c
 +++ b/drivers/net/wireless/mwifiex/main.c
-@@ -716,9 +716,19 @@ static struct net_device_stats *mwifiex_
+@@ -815,9 +815,19 @@ static struct net_device_stats *mwifiex_
  	return &priv->stats;
  }
  
diff --git a/patches/collateral-evolutions/network/0032-sriov_configure/igb_sriov_configure.patch b/patches/collateral-evolutions/network/0032-sriov_configure/igb_sriov_configure.patch
index 6ece3a2..d7c22ba 100644
--- a/patches/collateral-evolutions/network/0032-sriov_configure/igb_sriov_configure.patch
+++ b/patches/collateral-evolutions/network/0032-sriov_configure/igb_sriov_configure.patch
@@ -20,7 +20,7 @@
  	.err_handler = &igb_err_handler
  };
  
-@@ -7521,6 +7525,7 @@ static int igb_sriov_reinit(struct pci_d
+@@ -7530,6 +7534,7 @@ static int igb_sriov_reinit(struct pci_d
  	return 0;
  }
  
@@ -28,7 +28,7 @@
  static int igb_pci_disable_sriov(struct pci_dev *dev)
  {
  	int err = igb_disable_sriov(dev);
-@@ -7530,6 +7535,7 @@ static int igb_pci_disable_sriov(struct
+@@ -7539,6 +7544,7 @@ static int igb_pci_disable_sriov(struct
  
  	return err;
  }
@@ -36,7 +36,7 @@
  
  static int igb_pci_enable_sriov(struct pci_dev *dev, int num_vfs)
  {
-@@ -7547,6 +7553,7 @@ out:
+@@ -7556,6 +7562,7 @@ out:
  }
  
  #endif
@@ -44,7 +44,7 @@
  static int igb_pci_sriov_configure(struct pci_dev *dev, int num_vfs)
  {
  #ifdef CONFIG_PCI_IOV
-@@ -7557,6 +7564,7 @@ static int igb_pci_sriov_configure(struc
+@@ -7566,6 +7573,7 @@ static int igb_pci_sriov_configure(struc
  #endif
  	return 0;
  }
diff --git a/patches/collateral-evolutions/network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch b/patches/collateral-evolutions/network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch
index 3100a16..7f0c1b5 100644
--- a/patches/collateral-evolutions/network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch
+++ b/patches/collateral-evolutions/network/0033-ndo_vlan_rx_vid/igb_ndo_vlan_rx_vid.patch
@@ -17,7 +17,7 @@
  static void igb_restore_vlan(struct igb_adapter *);
  static void igb_rar_set_qsel(struct igb_adapter *, u8 *, u32 , u8);
  static void igb_ping_all_vfs(struct igb_adapter *);
-@@ -7189,8 +7197,14 @@ static void igb_vlan_mode(struct net_dev
+@@ -7196,8 +7204,14 @@ static void igb_vlan_mode(struct net_dev
  	igb_rlpml_set(adapter);
  }
  
@@ -32,7 +32,7 @@
  {
  	struct igb_adapter *adapter = netdev_priv(netdev);
  	struct e1000_hw *hw = &adapter->hw;
-@@ -7204,11 +7218,19 @@ static int igb_vlan_rx_add_vid(struct ne
+@@ -7211,11 +7225,19 @@ static int igb_vlan_rx_add_vid(struct ne
  
  	set_bit(vid, adapter->active_vlans);
  
@@ -52,7 +52,7 @@
  {
  	struct igb_adapter *adapter = netdev_priv(netdev);
  	struct e1000_hw *hw = &adapter->hw;
-@@ -7224,7 +7246,9 @@ static int igb_vlan_rx_kill_vid(struct n
+@@ -7231,7 +7253,9 @@ static int igb_vlan_rx_kill_vid(struct n
  
  	clear_bit(vid, adapter->active_vlans);
  
@@ -62,7 +62,7 @@
  }
  
  static void igb_restore_vlan(struct igb_adapter *adapter)
-@@ -7234,7 +7258,11 @@ static void igb_restore_vlan(struct igb_
+@@ -7241,7 +7265,11 @@ static void igb_restore_vlan(struct igb_
  	igb_vlan_mode(adapter->netdev, adapter->netdev->features);
  
  	for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
diff --git a/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch
index 04cbfe6..7b9a695 100644
--- a/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch
+++ b/patches/collateral-evolutions/network/0034-ndo_set_vf_spoofchk/igb_ndo_set_vf_spoofchk.patch
@@ -11,7 +11,7 @@
  static int igb_ndo_get_vf_config(struct net_device *netdev, int vf,
  				 struct ifla_vf_info *ivi);
  static void igb_check_vf_rate_limit(struct igb_adapter *);
-@@ -2099,7 +2101,9 @@ static const struct net_device_ops igb_n
+@@ -2102,7 +2104,9 @@ static const struct net_device_ops igb_n
  	.ndo_set_vf_mac		= igb_ndo_set_vf_mac,
  	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
  	.ndo_set_vf_rate	= igb_ndo_set_vf_bw,
@@ -21,7 +21,7 @@
  	.ndo_get_vf_config	= igb_ndo_get_vf_config,
  #ifdef CONFIG_NET_POLL_CONTROLLER
  	.ndo_poll_controller	= igb_netpoll,
-@@ -7872,6 +7876,7 @@ static int igb_ndo_set_vf_bw(struct net_
+@@ -7881,6 +7885,7 @@ static int igb_ndo_set_vf_bw(struct net_
  	return 0;
  }
  
@@ -29,7 +29,7 @@
  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
  				   bool setting)
  {
-@@ -7898,6 +7903,7 @@ static int igb_ndo_set_vf_spoofchk(struc
+@@ -7907,6 +7912,7 @@ static int igb_ndo_set_vf_spoofchk(struc
  	adapter->vf_data[vf].spoofchk_enabled = setting;
  	return 0;
  }
@@ -37,7 +37,7 @@
  
  static int igb_ndo_get_vf_config(struct net_device *netdev,
  				 int vf, struct ifla_vf_info *ivi)
-@@ -7911,7 +7917,9 @@ static int igb_ndo_get_vf_config(struct
+@@ -7920,7 +7926,9 @@ static int igb_ndo_get_vf_config(struct
  	ivi->min_tx_rate = 0;
  	ivi->vlan = adapter->vf_data[vf].pf_vlan;
  	ivi->qos = adapter->vf_data[vf].pf_qos;
diff --git a/patches/collateral-evolutions/network/0035-skb_no_fcs/igb_skb_no_fcs.patch b/patches/collateral-evolutions/network/0035-skb_no_fcs/igb_skb_no_fcs.patch
index 251dd80..0f43567 100644
--- a/patches/collateral-evolutions/network/0035-skb_no_fcs/igb_skb_no_fcs.patch
+++ b/patches/collateral-evolutions/network/0035-skb_no_fcs/igb_skb_no_fcs.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/intel/igb/igb_main.c
 +++ b/drivers/net/ethernet/intel/igb/igb_main.c
-@@ -4797,9 +4797,10 @@ static u32 igb_tx_cmd_type(struct sk_buf
+@@ -4804,9 +4804,10 @@ static u32 igb_tx_cmd_type(struct sk_buf
  	cmd_type |= IGB_SET_FLAG(tx_flags, IGB_TX_FLAGS_TSTAMP,
  				 (E1000_ADVTXD_MAC_TSTAMP));
  
diff --git a/patches/collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch b/patches/collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch
index f6ed98e..556abc9 100644
--- a/patches/collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch
+++ b/patches/collateral-evolutions/network/0043-ndo_set_vf_rate/igb.patch
@@ -12,7 +12,7 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
  static int igb_ndo_set_vf_spoofchk(struct net_device *netdev, int vf,
  				   bool setting);
-@@ -2104,7 +2108,11 @@ static const struct net_device_ops igb_n
+@@ -2107,7 +2111,11 @@ static const struct net_device_ops igb_n
  	.ndo_vlan_rx_kill_vid	= igb_vlan_rx_kill_vid,
  	.ndo_set_vf_mac		= igb_ndo_set_vf_mac,
  	.ndo_set_vf_vlan	= igb_ndo_set_vf_vlan,
@@ -24,7 +24,7 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
  	.ndo_set_vf_spoofchk	= igb_ndo_set_vf_spoofchk,
  #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) */
-@@ -7854,8 +7862,12 @@ static void igb_check_vf_rate_limit(stru
+@@ -7863,8 +7871,12 @@ static void igb_check_vf_rate_limit(stru
  	}
  }
  
@@ -37,7 +37,7 @@
  {
  	struct igb_adapter *adapter = netdev_priv(netdev);
  	struct e1000_hw *hw = &adapter->hw;
-@@ -7864,6 +7876,7 @@ static int igb_ndo_set_vf_bw(struct net_
+@@ -7873,6 +7885,7 @@ static int igb_ndo_set_vf_bw(struct net_
  	if (hw->mac.type != e1000_82576)
  		return -EOPNOTSUPP;
  
@@ -45,7 +45,7 @@
  	if (min_tx_rate)
  		return -EINVAL;
  
-@@ -7877,7 +7890,17 @@ static int igb_ndo_set_vf_bw(struct net_
+@@ -7886,7 +7899,17 @@ static int igb_ndo_set_vf_bw(struct net_
  	adapter->vf_rate_link_speed = actual_link_speed;
  	adapter->vf_data[vf].tx_rate = (u16)max_tx_rate;
  	igb_set_vf_rate_limit(hw, vf, max_tx_rate, actual_link_speed);
@@ -63,7 +63,7 @@
  	return 0;
  }
  
-@@ -7918,8 +7941,12 @@ static int igb_ndo_get_vf_config(struct
+@@ -7927,8 +7950,12 @@ static int igb_ndo_get_vf_config(struct
  		return -EINVAL;
  	ivi->vf = vf;
  	memcpy(&ivi->mac, adapter->vf_data[vf].vf_mac_addresses, ETH_ALEN);
diff --git a/patches/collateral-evolutions/network/0046-mmc_rescan_entered/mwifiex.patch b/patches/collateral-evolutions/network/0046-mmc_rescan_entered/mwifiex.patch
index bf21470..05e4f9d 100644
--- a/patches/collateral-evolutions/network/0046-mmc_rescan_entered/mwifiex.patch
+++ b/patches/collateral-evolutions/network/0046-mmc_rescan_entered/mwifiex.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/mwifiex/sdio.c
 +++ b/drivers/net/wireless/mwifiex/sdio.c
-@@ -1958,7 +1958,9 @@ static void mwifiex_sdio_card_reset_work
+@@ -1960,7 +1960,9 @@ static void mwifiex_sdio_card_reset_work
  	mmc_remove_host(target);
  	/* 20ms delay is based on experiment with sdhci controller */
  	mdelay(20);
diff --git a/patches/collateral-evolutions/network/0048-no_ndo_xmit_flush/igb.patch b/patches/collateral-evolutions/network/0048-no_ndo_xmit_flush/igb.patch
index 76b72ad..9207ccf 100644
--- a/patches/collateral-evolutions/network/0048-no_ndo_xmit_flush/igb.patch
+++ b/patches/collateral-evolutions/network/0048-no_ndo_xmit_flush/igb.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/intel/igb/igb_main.c
 +++ b/drivers/net/ethernet/intel/igb/igb_main.c
-@@ -4979,7 +4979,10 @@ static void igb_tx_map(struct igb_ring *
+@@ -4986,7 +4986,10 @@ static void igb_tx_map(struct igb_ring *
  	/* Make sure there is space in the ring for the next send. */
  	igb_maybe_stop_tx(tx_ring, DESC_NEEDED);
  
diff --git a/patches/collateral-evolutions/network/0049-no-pfmemalloc/igb.patch b/patches/collateral-evolutions/network/0049-no-pfmemalloc/igb.patch
index 49a0462..3e33b1c 100644
--- a/patches/collateral-evolutions/network/0049-no-pfmemalloc/igb.patch
+++ b/patches/collateral-evolutions/network/0049-no-pfmemalloc/igb.patch
@@ -2,7 +2,7 @@ diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/in
 index a2d72a8..85d7005 100644
 --- a/drivers/net/ethernet/intel/igb/igb_main.c
 +++ b/drivers/net/ethernet/intel/igb/igb_main.c
-@@ -6566,8 +6566,10 @@ static bool igb_can_reuse_rx_page(struct
+@@ -6573,8 +6573,10 @@ static bool igb_can_reuse_rx_page(struct
  	if (unlikely(page_to_nid(page) != numa_node_id()))
  		return false;
  
@@ -13,7 +13,7 @@ index a2d72a8..85d7005 100644
  
  #if (PAGE_SIZE < 8192)
  	/* if we are only owner of page we can reuse it */
-@@ -6635,8 +6637,12 @@ static bool igb_add_rx_frag(struct igb_r
+@@ -6642,8 +6644,12 @@ static bool igb_add_rx_frag(struct igb_r
  		memcpy(__skb_put(skb, size), va, ALIGN(size, sizeof(long)));
  
  		/* we can reuse buffer as-is, just make sure it is local */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 14/14] devel: update the test kernels
  2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
                   ` (12 preceding siblings ...)
  2014-12-20 21:39 ` [PATCH 13/14] patches: refresh on next-20141201 Hauke Mehrtens
@ 2014-12-20 21:39 ` Hauke Mehrtens
  13 siblings, 0 replies; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-20 21:39 UTC (permalink / raw)
  To: backports; +Cc: Hauke Mehrtens

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 devel/backports-update-manager | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/devel/backports-update-manager b/devel/backports-update-manager
index b6c7e07..90d8df2 100755
--- a/devel/backports-update-manager
+++ b/devel/backports-update-manager
@@ -25,23 +25,23 @@ SPACE_PER_KERNEL_DEB=13
 KERNEL_URLS = [
     KPATH + "v3.0.101-oneiric/linux-headers-3.0.101-0300101_3.0.101-0300101.201310220446_all.deb",
     KPATH + "v3.1.10-precise/linux-headers-3.1.10-030110_3.1.10-030110.201201181135_all.deb",
-    KPATH + "v3.2.62-precise/linux-headers-3.2.62-030262_3.2.62-030262.201408061435_all.deb",
+    KPATH + "v3.2.65-precise/linux-headers-3.2.65-030265_3.2.65-030265.201412141435_all.deb",
     KPATH + "v3.3.8-quantal/linux-headers-3.3.8-030308_3.3.8-030308.201206041356_all.deb",
-    KPATH + "v3.4.104-quantal/linux-headers-3.4.104-0304104_3.4.104-0304104.201409250437_all.deb",
+    KPATH + "v3.4.105-quantal/linux-headers-3.4.105-0304105_3.4.105-0304105.201412012335_all.deb",
     KPATH + "v3.5.7.12-quantal/linux-headers-3.5.7-03050712_3.5.7-03050712.201305111435_all.deb",
     KPATH + "v3.6.11-raring/linux-headers-3.6.11-030611_3.6.11-030611.201212171335_all.deb",
     KPATH + "v3.7.10-raring/linux-headers-3.7.10-030710_3.7.10-030710.201302271235_all.deb",
     KPATH + "v3.8.13-raring/linux-headers-3.8.13-030813_3.8.13-030813.201305111843_all.deb",
     KPATH + "v3.9.11-saucy/linux-headers-3.9.11-030911_3.9.11-030911.201307202035_all.deb",
-    KPATH + "v3.10.58-saucy/linux-headers-3.10.58-031058_3.10.58-031058.201410150335_all.deb",
+    KPATH + "v3.10.63-saucy/linux-headers-3.10.63-031063_3.10.63-031063.201412170822_all.deb",
     KPATH + "v3.11.10-saucy/linux-headers-3.11.10-031110_3.11.10-031110.201311291453_all.deb",
-    KPATH + "v3.12.31-trusty/linux-headers-3.12.31-031231_3.12.31-031231.201410240535_all.deb",
+    KPATH + "v3.12.35-trusty/linux-headers-3.12.35-031235_3.12.35-031235.201412101835_all.deb",
     KPATH + "v3.13.11-trusty/linux-headers-3.13.11-031311_3.13.11-031311.201404222035_all.deb",
-    KPATH + "v3.14.22-utopic/linux-headers-3.14.22-031422_3.14.22-031422.201410150835_all.deb",
+    KPATH + "v3.14.27-utopic/linux-headers-3.14.27-031427_3.14.27-031427.201412170558_all.deb",
     KPATH + "v3.15.10-utopic/linux-headers-3.15.10-031510_3.15.10-031510.201408132333_all.deb",
     KPATH + "v3.16.6-utopic/linux-headers-3.16.6-031606_3.16.6-031606.201410150635_all.deb",
-    KPATH + "v3.17.1-utopic/linux-headers-3.17.1-031701_3.17.1-031701.201410150735_all.deb",
-    KPATH + "v3.18-rc1-utopic/linux-headers-3.18.0-031800rc1_3.18.0-031800rc1.201410192135_all.deb"
+    KPATH + "v3.17.7-vivid/linux-headers-3.17.7-031707_3.17.7-031707.201412170731_all.deb",
+    KPATH + "v3.18.1-vivid/linux-headers-3.18.1-031801_3.18.1-031801.201412170637_all.deb"
 ]
 
 NUM_KERNELS=len(KERNEL_URLS)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 06/14] backport: add debugfs_create_devm_seqfile()
  2014-12-20 21:39 ` [PATCH 06/14] backport: add debugfs_create_devm_seqfile() Hauke Mehrtens
@ 2014-12-21  8:28   ` Arend van Spriel
  2014-12-21 12:29     ` Hauke Mehrtens
  0 siblings, 1 reply; 18+ messages in thread
From: Arend van Spriel @ 2014-12-21  8:28 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: backports

On 12/20/14 22:39, Hauke Mehrtens wrote:
> This new functions is used by ath9k.

Are you sure? In the driver-core repo the ath9k patch adding this was 
reverted as I made a stupid mistake with driver data. I have the revised 
patch ready, but it will be for 3.20.

Regards,
Arend

> Signed-off-by: Hauke Mehrtens<hauke@hauke-m.de>
> ---
>   backport/backport-include/linux/debugfs.h | 23 +++++++++++++
>   backport/compat/backport-3.19.c           | 56 +++++++++++++++++++++++++++++++
>   2 files changed, 79 insertions(+)
>   create mode 100644 backport/backport-include/linux/debugfs.h
>
> diff --git a/backport/backport-include/linux/debugfs.h b/backport/backport-include/linux/debugfs.h
> new file mode 100644
> index 0000000..77b2e64
> --- /dev/null
> +++ b/backport/backport-include/linux/debugfs.h
> @@ -0,0 +1,23 @@
> +#ifndef __BACKPORT_DEBUGFS_H_
> +#define __BACKPORT_DEBUGFS_H_
> +#include_next<linux/debugfs.h>
> +#include<linux/version.h>
> +#include<generated/utsrelease.h>
> +
> +#if defined(CONFIG_DEBUG_FS)
> +struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name,
> +					   struct dentry *parent,
> +					   int (*read_fn)(struct seq_file *s,
> +							  void *data));
> +#else
> +static inline struct dentry *debugfs_create_devm_seqfile(struct device *dev,
> +							 const char *name,
> +							 struct dentry *parent,
> +					   int (*read_fn)(struct seq_file *s,
> +							  void *data))
> +{
> +	return ERR_PTR(-ENODEV);
> +}
> +#endif /* CONFIG_DEBUG_FS */
> +
> +#endif /* __BACKPORT_DEBUGFS_H_ */
> diff --git a/backport/compat/backport-3.19.c b/backport/compat/backport-3.19.c
> index fd13400..c633f38 100644
> --- a/backport/compat/backport-3.19.c
> +++ b/backport/compat/backport-3.19.c
> @@ -13,6 +13,7 @@
>   #include<linux/export.h>
>   #include<linux/net.h>
>   #include<linux/netdevice.h>
> +#include<linux/debugfs.h>
>
>   static inline bool is_kthread_should_stop(void)
>   {
> @@ -90,3 +91,58 @@ void netdev_rss_key_fill(void *buffer, size_t len)
>   }
>   EXPORT_SYMBOL_GPL(netdev_rss_key_fill);
>   #endif /* __BACKPORT_NETDEV_RSS_KEY_FILL */
> +
> +#if defined(CONFIG_DEBUG_FS)
> +struct debugfs_devm_entry {
> +	int (*read)(struct seq_file *seq, void *data);
> +	struct device *dev;
> +};
> +
> +static int debugfs_devm_entry_open(struct inode *inode, struct file *f)
> +{
> +	struct debugfs_devm_entry *entry = inode->i_private;
> +
> +	return single_open(f, entry->read, entry->dev);
> +}
> +
> +static const struct file_operations debugfs_devm_entry_ops = {
> +	.owner = THIS_MODULE,
> +	.open = debugfs_devm_entry_open,
> +	.release = single_release,
> +	.read = seq_read,
> +	.llseek = seq_lseek
> +};
> +
> +/**
> + * debugfs_create_devm_seqfile - create a debugfs file that is bound to device.
> + *
> + * @dev: device related to this debugfs file.
> + * @name: name of the debugfs file.
> + * @parent: a pointer to the parent dentry for this file.  This should be a
> + *	directory dentry if set.  If this parameter is %NULL, then the
> + *	file will be created in the root of the debugfs filesystem.
> + * @read_fn: function pointer called to print the seq_file content.
> + */
> +struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name,
> +					   struct dentry *parent,
> +					   int (*read_fn)(struct seq_file *s,
> +							  void *data))
> +{
> +	struct debugfs_devm_entry *entry;
> +
> +	if (IS_ERR(parent))
> +		return ERR_PTR(-ENOENT);
> +
> +	entry = devm_kzalloc(dev, sizeof(*entry), GFP_KERNEL);
> +	if (!entry)
> +		return ERR_PTR(-ENOMEM);
> +
> +	entry->read = read_fn;
> +	entry->dev = dev;
> +
> +	return debugfs_create_file(name, S_IRUGO, parent, entry,
> +				&debugfs_devm_entry_ops);
> +}
> +EXPORT_SYMBOL_GPL(debugfs_create_devm_seqfile);
> +
> +#endif /* CONFIG_DEBUG_FS */


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 06/14] backport: add debugfs_create_devm_seqfile()
  2014-12-21  8:28   ` Arend van Spriel
@ 2014-12-21 12:29     ` Hauke Mehrtens
  2014-12-21 13:27       ` Arend van Spriel
  0 siblings, 1 reply; 18+ messages in thread
From: Hauke Mehrtens @ 2014-12-21 12:29 UTC (permalink / raw)
  To: Arend van Spriel; +Cc: backports

On 12/21/2014 09:28 AM, Arend van Spriel wrote:
> On 12/20/14 22:39, Hauke Mehrtens wrote:
>> This new functions is used by ath9k.
> 
> Are you sure? In the driver-core repo the ath9k patch adding this was
> reverted as I made a stupid mistake with driver data. I have the revised
> patch ready, but it will be for 3.20.

I was using the next-20141201 snapshot and there it was included.
Thanks for the heads up, I will cherry pick your revert commit.
This problem was in the ath9k driver and not in the code in
fs/debugfs/file.c is that right?

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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 06/14] backport: add debugfs_create_devm_seqfile()
  2014-12-21 12:29     ` Hauke Mehrtens
@ 2014-12-21 13:27       ` Arend van Spriel
  0 siblings, 0 replies; 18+ messages in thread
From: Arend van Spriel @ 2014-12-21 13:27 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: backports

On 12/21/14 13:29, Hauke Mehrtens wrote:
> On 12/21/2014 09:28 AM, Arend van Spriel wrote:
>> On 12/20/14 22:39, Hauke Mehrtens wrote:
>>> This new functions is used by ath9k.
>>
>> Are you sure? In the driver-core repo the ath9k patch adding this was
>> reverted as I made a stupid mistake with driver data. I have the revised
>> patch ready, but it will be for 3.20.
>
> I was using the next-20141201 snapshot and there it was included.
> Thanks for the heads up, I will cherry pick your revert commit.
> This problem was in the ath9k driver and not in the code in
> fs/debugfs/file.c is that right?

Yeah, that is what I get from tweaking in drivers that I know next to 
nothing about ;-) So indeed the debugfs change is fine and I will start 
using it in the brcm80211 drivers as well for next release so no harm in 
keeping it.

Regards,
Arend

>> Regards,
>> Arend
>>
>>> Signed-off-by: Hauke Mehrtens<hauke@hauke-m.de>
>
> --
> To unsubscribe from this list: send the line "unsubscribe backports" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-12-21 13:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-20 21:39 [PATCH 00/14] backports: updates for next-20141201 Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 01/14] header: add for_each_compatible_node() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 02/14] header: add memcpy_from_msg() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 03/14] header: add empty of_find_compatible_node() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 04/14] header: include some other dma headers in dma-buf.h Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 05/14] header: backport drain_workqueue() by calling flush_workqueue() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 06/14] backport: add debugfs_create_devm_seqfile() Hauke Mehrtens
2014-12-21  8:28   ` Arend van Spriel
2014-12-21 12:29     ` Hauke Mehrtens
2014-12-21 13:27       ` Arend van Spriel
2014-12-20 21:39 ` [PATCH 07/14] backport: add pci_device_is_present() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 08/14] backport: add of_property_read_u32() Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 09/14] patches: disable tx status support in mwifiex Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 10/14] patches: fix some v4l2 dma stuff Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 11/14] patches: do not use DMA_ATTR_SKIP_CPU_SYNC Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 12/14] patches: adapt api change of rchan_callbacks->create_buf_file in ath9k Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 13/14] patches: refresh on next-20141201 Hauke Mehrtens
2014-12-20 21:39 ` [PATCH 14/14] devel: update the test kernels Hauke Mehrtens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox