All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.