]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 May 2015 21:07:51 +0000 (14:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 May 2015 21:07:51 +0000 (14:07 -0700)
added patches:
drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch
kernel-use-the-gnu89-standard-explicitly.patch
staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch
staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch
staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch
staging-wlags49_h2-fix-extern-inline-functions.patch

queue-3.10/drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch [new file with mode: 0644]
queue-3.10/kernel-use-the-gnu89-standard-explicitly.patch [new file with mode: 0644]
queue-3.10/series
queue-3.10/staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch [new file with mode: 0644]
queue-3.10/staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch [new file with mode: 0644]
queue-3.10/staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch [new file with mode: 0644]
queue-3.10/staging-wlags49_h2-fix-extern-inline-functions.patch [new file with mode: 0644]

diff --git a/queue-3.10/drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch b/queue-3.10/drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch
new file mode 100644 (file)
index 0000000..1edb35c
--- /dev/null
@@ -0,0 +1,57 @@
+From 8f375e10ee47b9d7b9b3aefcf67854c6e92708be Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <dl9pf@gmx.de>
+Date: Mon, 6 May 2013 14:52:08 +0200
+Subject: drm/i915: Fix declaration of intel_gmbus_{is_forced_bit/is_port_falid}
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <dl9pf@gmx.de>
+
+commit 8f375e10ee47b9d7b9b3aefcf67854c6e92708be upstream.
+
+Description:
+intel_gmbus_is_forced_bit is no extern as its body is right below.
+Likewise for intel_gmbus_is_port_valid.
+
+This fixes a compilation issue with clang. An initial version of this patch
+was developed by PaX Team <pageexec at freemail.hu>.
+This is respin of this patch.
+
+20130509: v2: (re-)add inline upon request.
+
+Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
+CC: pageexec@freemail.hu
+CC: daniel.vetter@ffwll.ch
+CC: airlied@linux.ie
+CC: intel-gfx@lists.freedesktop.org
+CC: dri-devel@lists.freedesktop.org
+CC: linux-kernel@vger.kernel.org
+[danvet: Bikeshed commit message.]
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_drv.h |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -1804,7 +1804,7 @@ void i915_teardown_sysfs(struct drm_devi
+ /* intel_i2c.c */
+ extern int intel_setup_gmbus(struct drm_device *dev);
+ extern void intel_teardown_gmbus(struct drm_device *dev);
+-extern inline bool intel_gmbus_is_port_valid(unsigned port)
++static inline bool intel_gmbus_is_port_valid(unsigned port)
+ {
+       return (port >= GMBUS_PORT_SSC && port <= GMBUS_PORT_DPD);
+ }
+@@ -1813,7 +1813,7 @@ extern struct i2c_adapter *intel_gmbus_g
+               struct drm_i915_private *dev_priv, unsigned port);
+ extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
+ extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
+-extern inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
++static inline bool intel_gmbus_is_forced_bit(struct i2c_adapter *adapter)
+ {
+       return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
+ }
diff --git a/queue-3.10/kernel-use-the-gnu89-standard-explicitly.patch b/queue-3.10/kernel-use-the-gnu89-standard-explicitly.patch
new file mode 100644 (file)
index 0000000..629f242
--- /dev/null
@@ -0,0 +1,67 @@
+From 51b97e354ba9fce1890cf38ecc754aa49677fc89 Mon Sep 17 00:00:00 2001
+From: "Kirill A. Shutemov" <kirill@shutemov.name>
+Date: Mon, 20 Oct 2014 12:23:12 +0300
+Subject: kernel: use the gnu89 standard explicitly
+
+From: "Kirill A. Shutemov" <kirill@shutemov.name>
+
+commit 51b97e354ba9fce1890cf38ecc754aa49677fc89 upstream.
+
+Sasha Levin reports:
+ "gcc5 changes the default standard to c11, which makes kernel build
+  unhappy
+
+  Explicitly define the kernel standard to be gnu89 which should keep
+  everything working exactly like it was before gcc5"
+
+There are multiple small issues with the new default, but the biggest
+issue seems to be that the old - and very useful - GNU extension to
+allow a cast in front of an initializer has gone away.
+
+Patch updated by Kirill:
+ "I'm pretty sure all gcc versions you can build kernel with supports
+  -std=gnu89.  cc-option is redunrant.
+
+  We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"
+
+Note by Andrew Pinski:
+ "Yes it was reported and both problems relating to this extension has
+  been added to gnu99 and gnu11.  Though there are other issues with the
+  kernel dealing with extern inline have different semantics between
+  gnu89 and gnu99/11"
+
+End result: we may be able to move up to a newer stdc model eventually,
+but right now the newer models have some annoying deficiencies, so the
+traditional "gnu89" model ends up being the preferred one.
+
+Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
+Singed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Makefile |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -241,7 +241,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
+ HOSTCC       = gcc
+ HOSTCXX      = g++
+-HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
++HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
+ HOSTCXXFLAGS = -O2
+ # Decide whether to build built-in, modular, or both.
+@@ -373,7 +373,9 @@ KBUILD_CFLAGS   := -Wall -Wundef -Wstric
+                  -fno-strict-aliasing -fno-common \
+                  -Werror-implicit-function-declaration \
+                  -Wno-format-security \
+-                 -fno-delete-null-pointer-checks
++                 -fno-delete-null-pointer-checks \
++                 -std=gnu89
++
+ KBUILD_AFLAGS_KERNEL :=
+ KBUILD_CFLAGS_KERNEL :=
+ KBUILD_AFLAGS   := -D__ASSEMBLY__
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..213385c85c1abde8f891ad80442ec197bb0d41d1 100644 (file)
@@ -0,0 +1,6 @@
+staging-wlags49_h2-fix-extern-inline-functions.patch
+drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch
+staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch
+staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch
+staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch
+kernel-use-the-gnu89-standard-explicitly.patch
diff --git a/queue-3.10/staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch b/queue-3.10/staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch
new file mode 100644 (file)
index 0000000..a6fbdf6
--- /dev/null
@@ -0,0 +1,53 @@
+From 6d91857d4826b382b3fd4fad95f52713be646f96 Mon Sep 17 00:00:00 2001
+From: Behan Webster <behanw@converseincode.com>
+Date: Wed, 29 Oct 2014 15:42:20 -0700
+Subject: staging, rtl8192e, LLVMLinux: Change extern inline to static inline
+
+From: Behan Webster <behanw@converseincode.com>
+
+commit 6d91857d4826b382b3fd4fad95f52713be646f96 upstream.
+
+With compilers which follow the C99 standard (like modern versions of gcc and
+clang), "extern inline" does the opposite thing from older versions of gcc
+(emits code for an externally linkable version of the inline function).
+
+"static inline" does the intended behavior in all cases instead.
+
+Signed-off-by: Behan Webster <behanw@converseincode.com>
+Suggested-by: Arnd Bergmann <arnd@arndb.de>
+Cc: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/rtl8192e/rtllib.h         |    4 ++--
+ drivers/staging/rtl8192e/rtllib_softmac.c |    2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/staging/rtl8192e/rtllib.h
++++ b/drivers/staging/rtl8192e/rtllib.h
+@@ -2943,12 +2943,12 @@ void rtllib_softmac_scan_syncro(struct r
+ extern const long rtllib_wlan_frequencies[];
+-extern inline void rtllib_increment_scans(struct rtllib_device *ieee)
++static inline void rtllib_increment_scans(struct rtllib_device *ieee)
+ {
+       ieee->scans++;
+ }
+-extern inline int rtllib_get_scans(struct rtllib_device *ieee)
++static inline int rtllib_get_scans(struct rtllib_device *ieee)
+ {
+       return ieee->scans;
+ }
+--- a/drivers/staging/rtl8192e/rtllib_softmac.c
++++ b/drivers/staging/rtl8192e/rtllib_softmac.c
+@@ -341,7 +341,7 @@ inline void softmac_ps_mgmt_xmit(struct
+       }
+ }
+-inline struct sk_buff *rtllib_probe_req(struct rtllib_device *ieee)
++static inline struct sk_buff *rtllib_probe_req(struct rtllib_device *ieee)
+ {
+       unsigned int len, rate_len;
+       u8 *tag;
diff --git a/queue-3.10/staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch b/queue-3.10/staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch
new file mode 100644 (file)
index 0000000..95f0d7c
--- /dev/null
@@ -0,0 +1,33 @@
+From 62ec95f86d2850b7ce6d73fb236a6fcf48411aea Mon Sep 17 00:00:00 2001
+From: Behan Webster <behanw@converseincode.com>
+Date: Wed, 29 Oct 2014 15:42:21 -0700
+Subject: staging, rtl8192e, LLVMLinux: Remove unused inline prototype
+
+From: Behan Webster <behanw@converseincode.com>
+
+commit 62ec95f86d2850b7ce6d73fb236a6fcf48411aea upstream.
+
+rtllib_probe_req is defined as "static inline" in rtllib_softmac.c however it
+is declared differently as "extern inline" in rtllib_softmac.h. Since it isn't
+used outside of the scope of rtllib_softmac, it makes sense to remove the
+incorrect declaration.
+
+Signed-off-by: Behan Webster <behanw@converseincode.com>
+Suggested-by: Arnd Bergmann <arnd@arndb.de>
+Cc: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/rtl8192e/rtllib.h |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/staging/rtl8192e/rtllib.h
++++ b/drivers/staging/rtl8192e/rtllib.h
+@@ -2761,7 +2761,6 @@ extern void rtllib_stop_scan(struct rtll
+ extern bool rtllib_act_scanning(struct rtllib_device *ieee, bool sync_scan);
+ extern void rtllib_stop_scan_syncro(struct rtllib_device *ieee);
+ extern void rtllib_start_scan_syncro(struct rtllib_device *ieee, u8 is_mesh);
+-extern inline struct sk_buff *rtllib_probe_req(struct rtllib_device *ieee);
+ extern u8 MgntQuery_MgntFrameTxRate(struct rtllib_device *ieee);
+ extern void rtllib_sta_ps_send_null_frame(struct rtllib_device *ieee,
+                                         short pwr);
diff --git a/queue-3.10/staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch b/queue-3.10/staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch
new file mode 100644 (file)
index 0000000..40d2fc6
--- /dev/null
@@ -0,0 +1,110 @@
+From 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Thu, 5 Jun 2014 22:48:15 +0200
+Subject: staging: rtl8712, rtl8712: avoid lots of build warnings
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 upstream.
+
+The rtl8712 driver has an 'extern inline' function that contains an
+'if', which causes lots of warnings with CONFIG_PROFILE_ALL_BRANCHES
+overriding the definition of 'if':
+
+drivers/staging/rtl8712/ieee80211.h:759:229: warning: '______f' is static but declared in inline function 'ieee80211_get_hdrlen' which is not static [enabled by default]
+
+This changes the driver to use 'static inline' instead, which happens
+to be the correct annotation anyway.
+
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Cc: Larry Finger <Larry.Finger@lwfinger.net>
+Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/rtl8187se/ieee80211/ieee80211.h |    4 ++--
+ drivers/staging/rtl8192u/ieee80211/ieee80211.h  |   10 +++++-----
+ drivers/staging/rtl8712/ieee80211.h             |    4 ++--
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/drivers/staging/rtl8187se/ieee80211/ieee80211.h
++++ b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
+@@ -1447,12 +1447,12 @@ extern void ieee80211_sta_ps_send_null_f
+ extern const long ieee80211_wlan_frequencies[];
+-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
++static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
+ {
+       ieee->scans++;
+ }
+-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
++static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
+ {
+       return ieee->scans;
+ }
+--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
++++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
+@@ -2250,7 +2250,7 @@ static inline void *ieee80211_priv(struc
+       return ((struct ieee80211_device *)netdev_priv(dev))->priv;
+ }
+-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
++static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+ {
+       /* Single white space is for Linksys APs */
+       if (essid_len == 1 && essid[0] == ' ')
+@@ -2266,7 +2266,7 @@ extern inline int ieee80211_is_empty_ess
+       return 1;
+ }
+-extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
++static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
+ {
+       /*
+        * It is possible for both access points and our device to support
+@@ -2292,7 +2292,7 @@ extern inline int ieee80211_is_valid_mod
+       return 0;
+ }
+-extern inline int ieee80211_get_hdrlen(u16 fc)
++static inline int ieee80211_get_hdrlen(u16 fc)
+ {
+       int hdrlen = IEEE80211_3ADDR_LEN;
+@@ -2578,12 +2578,12 @@ void ieee80211_softmac_scan_syncro(struc
+ extern const long ieee80211_wlan_frequencies[];
+-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
++static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
+ {
+       ieee->scans++;
+ }
+-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
++static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
+ {
+       return ieee->scans;
+ }
+--- a/drivers/staging/rtl8712/ieee80211.h
++++ b/drivers/staging/rtl8712/ieee80211.h
+@@ -734,7 +734,7 @@ enum ieee80211_state {
+ #define IEEE_G            (1<<2)
+ #define IEEE_MODE_MASK    (IEEE_A|IEEE_B|IEEE_G)
+-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
++static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+ {
+       /* Single white space is for Linksys APs */
+       if (essid_len == 1 && essid[0] == ' ')
+@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_ess
+       return 1;
+ }
+-extern inline int ieee80211_get_hdrlen(u16 fc)
++static inline int ieee80211_get_hdrlen(u16 fc)
+ {
+       int hdrlen = 24;
diff --git a/queue-3.10/staging-wlags49_h2-fix-extern-inline-functions.patch b/queue-3.10/staging-wlags49_h2-fix-extern-inline-functions.patch
new file mode 100644 (file)
index 0000000..b50e3f5
--- /dev/null
@@ -0,0 +1,37 @@
+From foo@baz Sat May 23 13:26:23 PDT 2015
+Date: Sat, 23 May 2015 13:26:23 -0700
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: staging: wlags49_h2: fix extern inline functions
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Patch not upstream as this driver is deleted there.
+
+Fix up some "extern inline" functions as they break the build when using
+a "modern" complier (i.e. gcc5).
+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+diff --git a/drivers/staging/wlags49_h2/wl_internal.h b/drivers/staging/wlags49_h2/wl_internal.h
+index b23078164149..11b00c39a98c 100644
+--- a/drivers/staging/wlags49_h2/wl_internal.h
++++ b/drivers/staging/wlags49_h2/wl_internal.h
+@@ -1014,7 +1014,7 @@ static inline void wl_unlock(struct wl_private *lp,
+ /* Interrupt enable disable functions                               */
+ /********************************************************************/
+-extern inline void wl_act_int_on(struct wl_private *lp)
++static inline void wl_act_int_on(struct wl_private *lp)
+ {
+       /*
+        * Only do something when the driver is handling
+@@ -1026,7 +1026,7 @@ extern inline void wl_act_int_on(struct wl_private *lp)
+       }
+ }
+-extern inline void wl_act_int_off(struct wl_private *lp)
++static inline void wl_act_int_off(struct wl_private *lp)
+ {
+       /*
+        * Only do something when the driver is handling