* [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* 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
* [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(¤t->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