From: Greg Kroah-Hartman Date: Sat, 23 May 2015 21:07:51 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.10.80~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=471766ee2f98c37623c7b5037cc759cf3b743259;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches 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 --- 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 index 00000000000..1edb35cee78 --- /dev/null +++ b/queue-3.10/drm-i915-fix-declaration-of-intel_gmbus_-is_forced_bit-is_port_falid.patch @@ -0,0 +1,57 @@ +From 8f375e10ee47b9d7b9b3aefcf67854c6e92708be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= +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?= + +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 . +This is respin of this patch. + +20130509: v2: (re-)add inline upon request. + +Signed-off-by: Jan-Simon Möller +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..629f2421f55 --- /dev/null +++ b/queue-3.10/kernel-use-the-gnu89-standard-explicitly.patch @@ -0,0 +1,67 @@ +From 51b97e354ba9fce1890cf38ecc754aa49677fc89 Mon Sep 17 00:00:00 2001 +From: "Kirill A. Shutemov" +Date: Mon, 20 Oct 2014 12:23:12 +0300 +Subject: kernel: use the gnu89 standard explicitly + +From: "Kirill A. Shutemov" + +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 +Singed-off-by: Kirill A. Shutemov +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + 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__ diff --git a/queue-3.10/series b/queue-3.10/series index e69de29bb2d..213385c85c1 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -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 index 00000000000..a6fbdf68490 --- /dev/null +++ b/queue-3.10/staging-rtl8192e-llvmlinux-change-extern-inline-to-static-inline.patch @@ -0,0 +1,53 @@ +From 6d91857d4826b382b3fd4fad95f52713be646f96 Mon Sep 17 00:00:00 2001 +From: Behan Webster +Date: Wed, 29 Oct 2014 15:42:20 -0700 +Subject: staging, rtl8192e, LLVMLinux: Change extern inline to static inline + +From: Behan Webster + +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 +Suggested-by: Arnd Bergmann +Cc: Arnd Bergmann +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..95f0d7c93ee --- /dev/null +++ b/queue-3.10/staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch @@ -0,0 +1,33 @@ +From 62ec95f86d2850b7ce6d73fb236a6fcf48411aea Mon Sep 17 00:00:00 2001 +From: Behan Webster +Date: Wed, 29 Oct 2014 15:42:21 -0700 +Subject: staging, rtl8192e, LLVMLinux: Remove unused inline prototype + +From: Behan Webster + +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 +Suggested-by: Arnd Bergmann +Cc: Arnd Bergmann +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..40d2fc66323 --- /dev/null +++ b/queue-3.10/staging-rtl8712-rtl8712-avoid-lots-of-build-warnings.patch @@ -0,0 +1,110 @@ +From 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Thu, 5 Jun 2014 22:48:15 +0200 +Subject: staging: rtl8712, rtl8712: avoid lots of build warnings + +From: Arnd Bergmann + +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 +Cc: Larry Finger +Cc: Florian Schilhabel +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..b50e3f519d8 --- /dev/null +++ b/queue-3.10/staging-wlags49_h2-fix-extern-inline-functions.patch @@ -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 +From: Greg Kroah-Hartman +Subject: staging: wlags49_h2: fix extern inline functions + +From: Greg Kroah-Hartman + +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 + +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