diff options
author | Zoltan Herpai <wigyori@uid0.hu> | 2016-07-21 08:35:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-21 08:35:15 +0200 |
commit | 3f40c83a32466603c4aea2625510aba6921b1a44 (patch) | |
tree | 4602b0b85b3791f9b424368d221e95b0cf0120d8 | |
parent | 5a7639c2f620aebe30df18af42d61eb5307f4d6d (diff) | |
parent | 0881b27ea0d2b4bdad03b1b3d564188702a6c019 (diff) | |
download | master-187ad058-3f40c83a32466603c4aea2625510aba6921b1a44.tar.gz master-187ad058-3f40c83a32466603c4aea2625510aba6921b1a44.tar.bz2 master-187ad058-3f40c83a32466603c4aea2625510aba6921b1a44.zip |
Merge pull request #37 from wigyori/master
Pull req for mwlwifi, archs38, bcm53xx and core package updates
51 files changed, 958 insertions, 638 deletions
diff --git a/package/devel/strace/Makefile b/package/devel/strace/Makefile index df560fd1b7..6d9a7be534 100644 --- a/package/devel/strace/Makefile +++ b/package/devel/strace/Makefile @@ -10,9 +10,9 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=strace -PKG_VERSION:=4.11 -PKG_RELEASE:=2 -PKG_MD5SUM:=a15d2555a7febb56d00c6e1a51c655dc +PKG_VERSION:=4.12 +PKG_RELEASE:=1 +PKG_MD5SUM:=efb8611fc332e71ec419c53f59faa93e PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@SF/$(PKG_NAME) diff --git a/package/devel/valgrind/Makefile b/package/devel/valgrind/Makefile index 6a576a24d0..04d06d91a6 100644 --- a/package/devel/valgrind/Makefile +++ b/package/devel/valgrind/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=valgrind -PKG_VERSION:=3.10.1 +PKG_VERSION:=3.11.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://valgrind.org/downloads/ -PKG_MD5SUM:=60ddae962bc79e7c95cfc4667245707f +PKG_MD5SUM:=6c396271a8c1ddd5a6fb9abe714ea1e8a86fce85b30ab26b4266aeb4c2413b42 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> PKG_LICENSE:=GPL-2.0+ @@ -22,6 +22,7 @@ PKG_FIXUP = autoreconf PKG_INSTALL := 1 PKG_BUILD_PARALLEL := 1 PKG_USE_MIPS16:=0 +PKG_SSP:=0 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/kernel.mk diff --git a/package/devel/valgrind/patches/100-fix_configure_check.patch b/package/devel/valgrind/patches/100-fix_configure_check.patch index 87ef3b39fc..48477a3863 100644 --- a/package/devel/valgrind/patches/100-fix_configure_check.patch +++ b/package/devel/valgrind/patches/100-fix_configure_check.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -300,7 +300,7 @@ case "${host_os}" in +@@ -328,7 +328,7 @@ case "${host_os}" in # Ok, this is linux. Check the kernel version AC_MSG_CHECKING([for the kernel version]) @@ -8,4 +8,4 @@ + kernel=${UNAME_R:-`uname -r`} case "${kernel}" in - 2.6.*|3.*) + 0.*|1.*|2.0.*|2.1.*|2.2.*|2.3.*|2.4.*|2.5.*) diff --git a/package/devel/valgrind/patches/120-Fix-configure-for-Linux-kernel-4.0-rc1.patch b/package/devel/valgrind/patches/120-Fix-configure-for-Linux-kernel-4.0-rc1.patch deleted file mode 100644 index b833f18946..0000000000 --- a/package/devel/valgrind/patches/120-Fix-configure-for-Linux-kernel-4.0-rc1.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bf803555d10b5b4c9223b24bf13845ee88d8f3b5 Mon Sep 17 00:00:00 2001 -From: cborntra <cborntra@a5019735-40e9-0310-863c-91ae7b9d1cf9> -Date: Mon, 23 Feb 2015 20:19:03 +0000 -Subject: [PATCH] Fix configure for Linux kernel >= 4.0-rc1 In addition raise - the minimal Linux version to 2.6 as there is almost no test coverage for 2.4 - and 2.6 was released in 2003. - -git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14955 a5019735-40e9-0310-863c-91ae7b9d1cf9 ---- - NEWS | 3 +++ - configure.ac | 18 ++++++------------ - 2 files changed, 9 insertions(+), 12 deletions(-) - ---- a/configure.ac -+++ b/configure.ac -@@ -303,20 +303,14 @@ case "${host_os}" in - kernel=${UNAME_R:-`uname -r`} - - case "${kernel}" in -- 2.6.*|3.*) -- AC_MSG_RESULT([2.6.x/3.x family (${kernel})]) -- AC_DEFINE([KERNEL_2_6], 1, [Define to 1 if you're using Linux 2.6.x or Linux 3.x]) -- ;; -- -- 2.4.*) -- AC_MSG_RESULT([2.4 family (${kernel})]) -- AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x]) -- ;; -- -- *) -+ 0.*|1.*|2.0.*|2.1.*|2.2.*|2.3.*|2.4.*|2.5.*) - AC_MSG_RESULT([unsupported (${kernel})]) -- AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6]) -+ AC_MSG_ERROR([Valgrind needs a Linux kernel >= 2.6]) - ;; -+ -+ *) -+ AC_MSG_RESULT([2.6 or later (${kernel})]) -+ ;; - esac - - ;; diff --git a/package/devel/valgrind/patches/130-mips_fix_soft_float.patch b/package/devel/valgrind/patches/120-mips_fix_soft_float.patch index e1d387c5a8..1cf5aeca02 100644 --- a/package/devel/valgrind/patches/130-mips_fix_soft_float.patch +++ b/package/devel/valgrind/patches/120-mips_fix_soft_float.patch @@ -1,6 +1,6 @@ --- a/VEX/priv/guest_mips_helpers.c +++ b/VEX/priv/guest_mips_helpers.c -@@ -1189,6 +1189,7 @@ extern UInt mips_dirtyhelper_calculate_F +@@ -1201,6 +1201,7 @@ extern UInt mips_dirtyhelper_calculate_F flt_op inst ) { UInt ret = 0; @@ -8,7 +8,7 @@ #if defined(__mips__) VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs; UInt loFsVal, hiFsVal, loFtVal, hiFtVal; -@@ -1308,6 +1309,7 @@ extern UInt mips_dirtyhelper_calculate_F +@@ -1320,6 +1321,7 @@ extern UInt mips_dirtyhelper_calculate_F break; } #endif @@ -16,7 +16,7 @@ return ret; } -@@ -1317,6 +1319,7 @@ extern UInt mips_dirtyhelper_calculate_F +@@ -1329,6 +1331,7 @@ extern UInt mips_dirtyhelper_calculate_F flt_op inst ) { UInt ret = 0; @@ -24,7 +24,7 @@ #if defined(__mips__) #if defined(VGA_mips32) VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs; -@@ -1427,6 +1430,7 @@ extern UInt mips_dirtyhelper_calculate_F +@@ -1439,6 +1442,7 @@ extern UInt mips_dirtyhelper_calculate_F break; } #endif diff --git a/package/devel/valgrind/patches/130-fix_arm_arch_detection.patch b/package/devel/valgrind/patches/130-fix_arm_arch_detection.patch new file mode 100644 index 0000000000..c8d203390c --- /dev/null +++ b/package/devel/valgrind/patches/130-fix_arm_arch_detection.patch @@ -0,0 +1,17 @@ +Description: Fix FTBFS on armhf by correctly detecting the architecture +Origin: vendor +Bug-Debian: http://bugs.debian.org/730844 +Author: Alessandro Ghedini <ghedo@debian.org> +Last-Update: 2013-11-30 + +--- a/configure.ac ++++ b/configure.ac +@@ -234,7 +234,7 @@ case "${host_cpu}" in + ARCH_MAX="s390x" + ;; + +- armv7*) ++ arm*) + AC_MSG_RESULT([ok (${host_cpu})]) + ARCH_MAX="arm" + ;; diff --git a/package/devel/valgrind/patches/200-musl_fix.patch b/package/devel/valgrind/patches/200-musl_fix.patch index e61e822b25..23d74e0caf 100644 --- a/package/devel/valgrind/patches/200-musl_fix.patch +++ b/package/devel/valgrind/patches/200-musl_fix.patch @@ -6,21 +6,21 @@ { -# if !defined(__UCLIBC__) \ +# if !defined(__UCLIBC__) && defined(__GLIBC__) \ - && !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android) \ - && !defined(VGPV_mips32_linux_android) - extern void __libc_freeres(void); + && !defined(VGPV_arm_linux_android) \ + && !defined(VGPV_x86_linux_android) \ + && !defined(VGPV_mips32_linux_android) \ --- a/include/pub_tool_redir.h +++ b/include/pub_tool_redir.h -@@ -241,7 +241,7 @@ +@@ -242,7 +242,7 @@ /* --- Soname of the standard C library. --- */ - #if defined(VGO_linux) + #if defined(VGO_linux) || defined(VGO_solaris) -# define VG_Z_LIBC_SONAME libcZdsoZa // libc.so* +# define VG_Z_LIBC_SONAME libcZdZa // libc.* #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6) # define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib -@@ -273,7 +273,11 @@ +@@ -274,7 +274,11 @@ /* --- Soname of the pthreads library. --- */ #if defined(VGO_linux) @@ -31,15 +31,15 @@ +# endif #elif defined(VGO_darwin) # define VG_Z_LIBPTHREAD_SONAME libSystemZdZaZddylib // libSystem.*.dylib - #else + #elif defined(VGO_solaris) --- a/configure.ac +++ b/configure.ac -@@ -1025,8 +1025,6 @@ case "${GLIBC_VERSION}" in - - *) +@@ -1066,8 +1066,6 @@ case "${GLIBC_VERSION}" in + ;; + 2.0|2.1|*) AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.19]) -- AC_MSG_ERROR([or Darwin or Bionic libc]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,]) +- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc]) ;; esac diff --git a/package/kernel/mwlwifi/Makefile b/package/kernel/mwlwifi/Makefile index 074104b913..880803e55e 100644 --- a/package/kernel/mwlwifi/Makefile +++ b/package/kernel/mwlwifi/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mwlwifi -PKG_VERSION:=10.3.0.17-20160324 +PKG_VERSION:=10.3.0.17-20160617 PKG_RELEASE=1 PKG_LICENSE:=ISC @@ -17,7 +17,7 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/kaloz/mwlwifi PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=6988b67d9af987a7ba47f82cdaa6c9107e55ec3f +PKG_SOURCE_VERSION:=b7aff3c2839b048407d716d1cb9326122ee401f8 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> diff --git a/package/kernel/mwlwifi/patches/100-drop_old_api.patch b/package/kernel/mwlwifi/patches/100-drop_old_api.patch deleted file mode 100644 index d2e149e9a2..0000000000 --- a/package/kernel/mwlwifi/patches/100-drop_old_api.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- a/main.c -+++ b/main.c -@@ -418,11 +418,7 @@ static void mwl_set_ht_caps(struct mwl_p - band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_20; - band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_40; - --#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) -- hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION; --#else - ieee80211_hw_set(hw, AMPDU_AGGREGATION); --#endif - band->ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K; - band->ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_4; - -@@ -524,29 +520,16 @@ static int mwl_wl_init(struct mwl_priv * - hw->queues = SYSADPT_TX_WMM_QUEUES; - - /* Set rssi values to dBm */ --#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) -- hw->flags |= IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_HAS_RATE_CONTROL; --#else - ieee80211_hw_set(hw, SIGNAL_DBM); - ieee80211_hw_set(hw, HAS_RATE_CONTROL); --#endif - - /* Ask mac80211 not to trigger PS mode - * based on PM bit of incoming frames. - */ --#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) -- hw->flags |= IEEE80211_HW_AP_LINK_PS; --#else - ieee80211_hw_set(hw, AP_LINK_PS); --#endif - --#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) -- hw->flags |= IEEE80211_HW_SUPPORTS_PER_STA_GTK | -- IEEE80211_HW_MFP_CAPABLE; --#else - ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK); - ieee80211_hw_set(hw, MFP_CAPABLE); --#endif - - hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; - ---- a/dev.h -+++ b/dev.h -@@ -484,10 +484,6 @@ static inline struct mwl_sta *mwl_dev_ge - return (struct mwl_sta *)&sta->drv_priv; - } - --#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) --#define ether_addr_copy(dst, src) memcpy(dst, src, ETH_ALEN) --#endif -- - /* Defined in mac80211.c. */ - extern const struct ieee80211_ops mwl_mac80211_ops; - ---- a/mac80211.c -+++ b/mac80211.c -@@ -572,19 +572,11 @@ static int mwl_mac80211_get_survey(struc - return 0; - } - --#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) --static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw, -- struct ieee80211_vif *vif, -- enum ieee80211_ampdu_mlme_action action, -- struct ieee80211_sta *sta, -- u16 tid, u16 *ssn, u8 buf_size) --#else - static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw, - struct ieee80211_vif *vif, - enum ieee80211_ampdu_mlme_action action, - struct ieee80211_sta *sta, - u16 tid, u16 *ssn, u8 buf_size, bool amsdu) --#endif - { - int rc = 0; - struct mwl_priv *priv = hw->priv; ---- a/rx.c -+++ b/rx.c -@@ -232,10 +232,8 @@ static inline void mwl_rx_prepare_status - status->flag |= RX_FLAG_VHT; - if (bw == RX_RATE_INFO_HT40) - status->flag |= RX_FLAG_40MHZ; --#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 18, 0) - if (bw == RX_RATE_INFO_HT80) - status->vht_flag |= RX_VHT_FLAG_80MHZ; --#endif - if (gi == RX_RATE_INFO_SHORT_INTERVAL) - status->flag |= RX_FLAG_SHORT_GI; - status->vht_nss = (nss + 1); diff --git a/package/kernel/mwlwifi/patches/110-api_sync.patch b/package/kernel/mwlwifi/patches/110-api_sync.patch deleted file mode 100644 index 920cb8cd66..0000000000 --- a/package/kernel/mwlwifi/patches/110-api_sync.patch +++ /dev/null @@ -1,267 +0,0 @@ ---- a/mac80211.c -+++ b/mac80211.c -@@ -260,12 +260,12 @@ static int mwl_mac80211_config(struct ie - if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { - int rate = 0; - -- if (conf->chandef.chan->band == IEEE80211_BAND_2GHZ) { -+ if (conf->chandef.chan->band == NL80211_BAND_2GHZ) { - mwl_fwcmd_set_apmode(hw, AP_MODE_2_4GHZ_11AC_MIXED); - mwl_fwcmd_set_linkadapt_cs_mode(hw, - LINK_CS_STATE_CONSERV); - rate = mwl_rates_24[0].hw_value; -- } else if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ) { -+ } else if (conf->chandef.chan->band == NL80211_BAND_5GHZ) { - mwl_fwcmd_set_apmode(hw, AP_MODE_11AC); - mwl_fwcmd_set_linkadapt_cs_mode(hw, - LINK_CS_STATE_AUTO); -@@ -333,7 +333,7 @@ static void mwl_mac80211_bss_info_change - if (idx) - idx--; - -- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) -+ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) - rate = mwl_rates_24[idx].hw_value; - else - rate = mwl_rates_50[idx].hw_value; -@@ -600,10 +600,13 @@ static int mwl_mac80211_get_survey(struc - - static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw, - struct ieee80211_vif *vif, -- enum ieee80211_ampdu_mlme_action action, -- struct ieee80211_sta *sta, -- u16 tid, u16 *ssn, u8 buf_size, bool amsdu) -+ struct ieee80211_ampdu_params *params) - { -+ enum ieee80211_ampdu_mlme_action action = params->action; -+ struct ieee80211_sta *sta = params->sta; -+ u16 tid = params->tid; -+ u16 *ssn = ¶ms->ssn; -+ u8 buf_size = params->buf_size; - int rc = 0; - struct mwl_priv *priv = hw->priv; - struct mwl_ampdu_stream *stream; ---- a/fwcmd.c -+++ b/fwcmd.c -@@ -730,9 +730,9 @@ static int mwl_fwcmd_set_country_code(st - bool enable = false; - - if (b_inf->ie_country_ptr) { -- if (bss_conf->chandef.chan->band == IEEE80211_BAND_2GHZ) -+ if (bss_conf->chandef.chan->band == NL80211_BAND_2GHZ) - a_band = false; -- else if (bss_conf->chandef.chan->band == IEEE80211_BAND_5GHZ) -+ else if (bss_conf->chandef.chan->band == NL80211_BAND_5GHZ) - a_band = true; - else - return -EINVAL; -@@ -1075,9 +1075,9 @@ int mwl_fwcmd_max_tx_power(struct ieee80 - break; - } - -- if (channel->band == IEEE80211_BAND_2GHZ) -+ if (channel->band == NL80211_BAND_2GHZ) - band = FREQ_BAND_2DOT4GHZ; -- else if (channel->band == IEEE80211_BAND_5GHZ) -+ else if (channel->band == NL80211_BAND_5GHZ) - band = FREQ_BAND_5GHZ; - - switch (conf->chandef.width) { -@@ -1161,9 +1161,9 @@ int mwl_fwcmd_tx_power(struct ieee80211_ - break; - } - -- if (channel->band == IEEE80211_BAND_2GHZ) -+ if (channel->band == NL80211_BAND_2GHZ) - band = FREQ_BAND_2DOT4GHZ; -- else if (channel->band == IEEE80211_BAND_5GHZ) -+ else if (channel->band == NL80211_BAND_5GHZ) - band = FREQ_BAND_5GHZ; - - switch (conf->chandef.width) { -@@ -1354,9 +1354,9 @@ int mwl_fwcmd_set_rf_channel(struct ieee - pcmd->action = cpu_to_le16(WL_SET); - pcmd->curr_chnl = channel->hw_value; - -- if (channel->band == IEEE80211_BAND_2GHZ) { -+ if (channel->band == NL80211_BAND_2GHZ) { - freq_band = FREQ_BAND_2DOT4GHZ; -- } else if (channel->band == IEEE80211_BAND_5GHZ) { -+ } else if (channel->band == NL80211_BAND_5GHZ) { - freq_band = FREQ_BAND_5GHZ; - } else { - mutex_unlock(&priv->fwcmd_mutex); -@@ -1923,10 +1923,10 @@ int mwl_fwcmd_set_new_stn_add(struct iee - } - ether_addr_copy(pcmd->mac_addr, sta->addr); - -- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ) -- rates = sta->supp_rates[IEEE80211_BAND_2GHZ]; -+ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ) -+ rates = sta->supp_rates[NL80211_BAND_2GHZ]; - else -- rates = sta->supp_rates[IEEE80211_BAND_5GHZ] << 5; -+ rates = sta->supp_rates[NL80211_BAND_5GHZ] << 5; - pcmd->peer_info.legacy_rate_bitmap = cpu_to_le32(rates); - - if (sta->ht_cap.ht_supported) { -@@ -2097,9 +2097,9 @@ int mwl_fwcmd_set_switch_channel(struct - if (priv->csa_active) - return 0; - -- if (channel->band == IEEE80211_BAND_2GHZ) -+ if (channel->band == NL80211_BAND_2GHZ) - freq_band = FREQ_BAND_2DOT4GHZ; -- else if (channel->band == IEEE80211_BAND_5GHZ) -+ else if (channel->band == NL80211_BAND_5GHZ) - freq_band = FREQ_BAND_5GHZ; - else - return -EINVAL; ---- a/main.c -+++ b/main.c -@@ -63,20 +63,20 @@ static struct mwl_chip_info mwl_chip_tbl - }; - - static const struct ieee80211_channel mwl_channels_24[] = { -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, }, -- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, }, -+ { .band = NL80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, }, - }; - - static const struct ieee80211_rate mwl_rates_24[] = { -@@ -96,30 +96,30 @@ static const struct ieee80211_rate mwl_r - }; - - static const struct ieee80211_channel mwl_channels_50[] = { -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, }, -- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, }, -+ { .band = NL80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, }, - }; - - static const struct ieee80211_rate mwl_rates_50[] = { -@@ -478,7 +478,7 @@ static void mwl_set_caps(struct mwl_priv - BUILD_BUG_ON(sizeof(priv->rates_24) != sizeof(mwl_rates_24)); - memcpy(priv->rates_24, mwl_rates_24, sizeof(mwl_rates_24)); - -- priv->band_24.band = IEEE80211_BAND_2GHZ; -+ priv->band_24.band = NL80211_BAND_2GHZ; - priv->band_24.channels = priv->channels_24; - priv->band_24.n_channels = ARRAY_SIZE(mwl_channels_24); - priv->band_24.bitrates = priv->rates_24; -@@ -487,7 +487,7 @@ static void mwl_set_caps(struct mwl_priv - mwl_set_ht_caps(priv, &priv->band_24); - mwl_set_vht_caps(priv, &priv->band_24); - -- hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band_24; -+ hw->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band_24; - } - - /* set up band information for 5G */ -@@ -500,7 +500,7 @@ static void mwl_set_caps(struct mwl_priv - BUILD_BUG_ON(sizeof(priv->rates_50) != sizeof(mwl_rates_50)); - memcpy(priv->rates_50, mwl_rates_50, sizeof(mwl_rates_50)); - -- priv->band_50.band = IEEE80211_BAND_5GHZ; -+ priv->band_50.band = NL80211_BAND_5GHZ; - priv->band_50.channels = priv->channels_50; - priv->band_50.n_channels = ARRAY_SIZE(mwl_channels_50); - priv->band_50.bitrates = priv->rates_50; -@@ -509,7 +509,7 @@ static void mwl_set_caps(struct mwl_priv - mwl_set_ht_caps(priv, &priv->band_50); - mwl_set_vht_caps(priv, &priv->band_50); - -- hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &priv->band_50; -+ hw->wiphy->bands[NL80211_BAND_5GHZ] = &priv->band_50; - } - } - ---- a/rx.c -+++ b/rx.c -@@ -243,7 +243,7 @@ static inline void mwl_rx_prepare_status - status->rate_idx = rt; - - if (pdesc->channel > BAND_24_CHANNEL_NUM) { -- status->band = IEEE80211_BAND_5GHZ; -+ status->band = NL80211_BAND_5GHZ; - if ((!(status->flag & RX_FLAG_HT)) && - (!(status->flag & RX_FLAG_VHT))) { - status->rate_idx -= 5; -@@ -251,7 +251,7 @@ static inline void mwl_rx_prepare_status - status->rate_idx = BAND_50_RATE_NUM - 1; - } - } else { -- status->band = IEEE80211_BAND_2GHZ; -+ status->band = NL80211_BAND_2GHZ; - if ((!(status->flag & RX_FLAG_HT)) && - (!(status->flag & RX_FLAG_VHT))) { - if (status->rate_idx >= BAND_24_RATE_NUM) diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index 13299cf273..816f47004a 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mbedtls -PKG_VERSION:=2.2.1 -PKG_RELEASE:=1 +PKG_VERSION:=2.3.0 +PKG_RELEASE:=2 PKG_USE_MIPS16:=0 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz PKG_SOURCE_URL:=https://tls.mbed.org/download/ -PKG_MD5SUM:=bb1bffa3ac5ab143be2aae3d45a7a92b36112888ef465024d83724865fe62974 +PKG_MD5SUM:=21237014f779bde70b2d71399cc1ea53365eb7f10cdd74a13ee6329a1910cb49 PKG_BUILD_PARALLEL:=1 PKG_LICENSE:=GPL-2.0+ diff --git a/package/libs/mbedtls/patches/001-Fixes_missing_dependency_in_ssl.patch b/package/libs/mbedtls/patches/001-Fixes_missing_dependency_in_ssl.patch new file mode 100644 index 0000000000..0090885c0d --- /dev/null +++ b/package/libs/mbedtls/patches/001-Fixes_missing_dependency_in_ssl.patch @@ -0,0 +1,21 @@ +From 7247f99b3e068a2b90b7776a2cdd438fddb7a38b Mon Sep 17 00:00:00 2001 +From: James Cowgill <james410@cowgill.org.uk> +Date: Mon, 11 Jul 2016 13:57:05 +0100 +Subject: [PATCH] Fixes missing dependency in ss.h on platform.h + +Fixes #522 - 'mbedtls_time_t does not name a type in ssl.h' +--- + include/mbedtls/ssl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/include/mbedtls/ssl.h ++++ b/include/mbedtls/ssl.h +@@ -54,7 +54,7 @@ + #endif + + #if defined(MBEDTLS_HAVE_TIME) +-#include <time.h> ++#include "platform.h" + #endif + + /* diff --git a/package/libs/mbedtls/patches/200-config.patch b/package/libs/mbedtls/patches/200-config.patch index a3e393e402..e4118ff3ef 100644 --- a/package/libs/mbedtls/patches/200-config.patch +++ b/package/libs/mbedtls/patches/200-config.patch @@ -1,6 +1,6 @@ --- a/include/mbedtls/config.h +++ b/include/mbedtls/config.h -@@ -183,7 +183,7 @@ +@@ -185,7 +185,7 @@ * * Uncomment to get errors on using deprecated functions. */ @@ -9,7 +9,7 @@ /* \} name SECTION: System support */ -@@ -322,7 +322,7 @@ +@@ -341,7 +341,7 @@ * * Enable Cipher Feedback mode (CFB) for symmetric ciphers. */ @@ -18,7 +18,7 @@ /** * \def MBEDTLS_CIPHER_MODE_CTR -@@ -416,13 +416,13 @@ +@@ -435,13 +435,13 @@ * * Comment macros to disable the curve and functions for it */ @@ -36,7 +36,7 @@ #define MBEDTLS_ECP_DP_SECP256K1_ENABLED #define MBEDTLS_ECP_DP_BP256R1_ENABLED #define MBEDTLS_ECP_DP_BP384R1_ENABLED -@@ -438,7 +438,7 @@ +@@ -457,7 +457,7 @@ * * Comment this macro to disable NIST curves optimisation. */ @@ -45,7 +45,7 @@ /** * \def MBEDTLS_ECDSA_DETERMINISTIC -@@ -498,7 +498,7 @@ +@@ -517,7 +517,7 @@ * MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA */ @@ -54,7 +54,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED -@@ -543,7 +543,7 @@ +@@ -562,7 +562,7 @@ * MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA */ @@ -63,7 +63,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED -@@ -597,7 +597,7 @@ +@@ -616,7 +616,7 @@ * MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA * MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA */ @@ -72,7 +72,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED -@@ -670,7 +670,7 @@ +@@ -689,7 +689,7 @@ * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 */ @@ -81,7 +81,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED -@@ -694,7 +694,7 @@ +@@ -713,7 +713,7 @@ * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 */ @@ -90,7 +90,7 @@ /** * \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED -@@ -832,7 +832,7 @@ +@@ -879,7 +879,7 @@ * * Comment this macro to disable support for external private RSA keys. */ @@ -99,7 +99,7 @@ /** * \def MBEDTLS_PKCS1_V15 -@@ -864,14 +864,14 @@ +@@ -911,14 +911,14 @@ * Uncomment this macro to disable the use of CRT in RSA. * */ @@ -116,7 +116,7 @@ /** * \def MBEDTLS_SHA256_SMALLER -@@ -887,7 +887,7 @@ +@@ -934,7 +934,7 @@ * * Uncomment to enable the smaller implementation of SHA256. */ @@ -125,16 +125,7 @@ /** * \def MBEDTLS_SSL_AEAD_RANDOM_IV -@@ -1060,7 +1060,7 @@ - * - * Comment this macro to disable support for SSL 3.0 - */ --#define MBEDTLS_SSL_PROTO_SSL3 -+//#define MBEDTLS_SSL_PROTO_SSL3 - - /** - * \def MBEDTLS_SSL_PROTO_TLS1 -@@ -1224,7 +1224,7 @@ +@@ -1271,7 +1271,7 @@ * * Comment this macro to disable support for truncated HMAC in SSL */ @@ -143,7 +134,7 @@ /** * \def MBEDTLS_THREADING_ALT -@@ -1460,7 +1460,7 @@ +@@ -1507,7 +1507,7 @@ * MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA * MBEDTLS_TLS_PSK_WITH_RC4_128_SHA */ @@ -152,7 +143,7 @@ /** * \def MBEDTLS_ASN1_PARSE_C -@@ -1525,7 +1525,7 @@ +@@ -1572,7 +1572,7 @@ * * Module: library/blowfish.c */ @@ -161,7 +152,7 @@ /** * \def MBEDTLS_CAMELLIA_C -@@ -1580,7 +1580,7 @@ +@@ -1627,7 +1627,7 @@ * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 */ @@ -170,7 +161,7 @@ /** * \def MBEDTLS_CCM_C -@@ -1594,7 +1594,7 @@ +@@ -1641,7 +1641,7 @@ * This module enables the AES-CCM ciphersuites, if other requisites are * enabled as well. */ @@ -179,7 +170,7 @@ /** * \def MBEDTLS_CERTS_C -@@ -1606,7 +1606,7 @@ +@@ -1653,7 +1653,7 @@ * * This module is used for testing (ssl_client/server). */ @@ -188,7 +179,7 @@ /** * \def MBEDTLS_CIPHER_C -@@ -1646,7 +1646,7 @@ +@@ -1693,7 +1693,7 @@ * * This module provides debugging functions. */ @@ -197,7 +188,7 @@ /** * \def MBEDTLS_DES_C -@@ -1686,7 +1686,7 @@ +@@ -1733,7 +1733,7 @@ * This module is used by the following key exchanges: * DHE-RSA, DHE-PSK */ @@ -206,7 +197,7 @@ /** * \def MBEDTLS_ECDH_C -@@ -2096,7 +2096,7 @@ +@@ -2151,7 +2151,7 @@ * Caller: library/mbedtls_md.c * */ @@ -215,7 +206,7 @@ /** * \def MBEDTLS_RSA_C -@@ -2394,7 +2394,7 @@ +@@ -2461,7 +2461,7 @@ * Module: library/xtea.c * Caller: */ diff --git a/package/libs/polarssl/Makefile b/package/libs/polarssl/Makefile index 573966e33b..2f2029f9d8 100644 --- a/package/libs/polarssl/Makefile +++ b/package/libs/polarssl/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=polarssl SRC_PKG_NAME:=mbedtls -PKG_VERSION:=1.3.16 -PKG_RELEASE:=2 +PKG_VERSION:=1.3.17 +PKG_RELEASE:=1 PKG_USE_MIPS16:=0 PKG_SOURCE:=$(SRC_PKG_NAME)-$(PKG_VERSION)-gpl.tgz -PKG_SOURCE_URL:=https://polarssl.org/download/ -PKG_MD5SUM:=f413146c177c52d4ad8f48015e2fb21dd3a029ca30a2ea000cbc4f9bd092c933 +PKG_SOURCE_URL:=https://tls.mbed.org/download/ +PKG_MD5SUM:=f5beb43e850283915e3e0f8d37495eade3bfb5beedfb61e7b8da70d4c68edb82 PKG_BUILD_DIR:=$(BUILD_DIR)/$(SRC_PKG_NAME)-$(PKG_VERSION) diff --git a/package/libs/polarssl/patches/100-disable_sslv3.patch b/package/libs/polarssl/patches/100-disable_sslv3.patch deleted file mode 100644 index 56c6c4d235..0000000000 --- a/package/libs/polarssl/patches/100-disable_sslv3.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/include/polarssl/config.h -+++ b/include/polarssl/config.h -@@ -1011,8 +1011,8 @@ - * POLARSSL_SHA1_C - * - * Comment this macro to disable support for SSL 3.0 -- */ - #define POLARSSL_SSL_PROTO_SSL3 -+ */ - - /** - * \def POLARSSL_SSL_PROTO_TLS1 diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 514eedd885..82fcb3e48e 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=netifd -PKG_VERSION:=2016-03-31 +PKG_VERSION:=2016-06-06 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(OPENWRT_GIT)/project/netifd.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=39d9ceeb96162a83a3f5fa63e6aaa1ccb38caa62 +PKG_SOURCE_VERSION:=99e6dc68bbac5a57a0ebca810a9dc36e38667821 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name> # PKG_MIRROR_MD5SUM:= diff --git a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh index 7f4af25329..abfdaaffdd 100755 --- a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh +++ b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh @@ -54,10 +54,10 @@ proto_dhcp_setup() { proto_run_command "$config" udhcpc \ -p /var/run/udhcpc-$iface.pid \ -s /lib/netifd/dhcp.script \ - -f -R -t 0 -i "$iface" \ + -f -t 0 -i "$iface" \ ${ipaddr:+-r $ipaddr} \ - ${hostname:+-H $hostname} \ - ${vendorid:+-V $vendorid} \ + ${hostname:+-H "$hostname"} \ + ${vendorid:+-V "$vendorid"} \ $clientid $broadcast $release $dhcpopts } diff --git a/package/network/services/igmpproxy/Makefile b/package/network/services/igmpproxy/Makefile index 0ad85561c1..8d4da5ca9e 100644 --- a/package/network/services/igmpproxy/Makefile +++ b/package/network/services/igmpproxy/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=igmpproxy PKG_VERSION:=0.1 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/igmpproxy diff --git a/package/network/services/igmpproxy/files/igmpproxy.config b/package/network/services/igmpproxy/files/igmpproxy.config index d2906329d6..d89013ca98 100644 --- a/package/network/services/igmpproxy/files/igmpproxy.config +++ b/package/network/services/igmpproxy/files/igmpproxy.config @@ -1,5 +1,6 @@ config igmpproxy option quickleave 1 +# option verbose [0-2] config phyint wan option network wan diff --git a/package/network/services/igmpproxy/files/igmpproxy.init b/package/network/services/igmpproxy/files/igmpproxy.init index d03f90f0c8..9e337221f1 100644 --- a/package/network/services/igmpproxy/files/igmpproxy.init +++ b/package/network/services/igmpproxy/files/igmpproxy.init @@ -6,24 +6,13 @@ USE_PROCD=1 PROG=/usr/sbin/igmpproxy CONFIGFILE=/var/etc/igmpproxy.conf -# igmpproxy supports both a debug mode and verbosity, which are very useful -# when something isn't working. -# -# Debug mode will print everything to stdout instead of syslog. Generally -# verbosity should NOT be set as it will quickly fill your syslog. -# -# Put any debug or verbosity options into IGMP_OPTS -# -# Examples: -# OPTIONS="-d -v -v" - debug mode and very verbose, this will land in -# stdout and not in syslog -# OPTIONS="-v" - be verbose, this will write aditional information to syslog - -OPTIONS="" - igmp_header() { - local quickleave + local quickleave verbose config_get_bool quickleave "$1" quickleave 0 + config_get verbose "$1" verbose 0 + + [ $verbose = "1" ] && logopts="-v" + [ $verbose = "2" ] && logopts="-v -v" mkdir -p /var/etc rm -f /var/etc/igmpproxy.conf @@ -113,6 +102,7 @@ service_triggers() { start_service() { has_upstream= netdevs= + logopts= config_load igmpproxy config_foreach igmp_header igmpproxy @@ -121,7 +111,7 @@ start_service() { procd_open_instance procd_set_param command $PROG - [ -n "$OPTIONS" ] && procd_append_param $OPTIONS + [ -n "$logopts" ] && procd_append_param command $logopts procd_append_param command $CONFIGFILE procd_set_param file $CONFIGFILE procd_set_param netdev $netdevs diff --git a/package/network/utils/iftop/Makefile b/package/network/utils/iftop/Makefile index bd82f2df94..ef9657560e 100644 --- a/package/network/utils/iftop/Makefile +++ b/package/network/utils/iftop/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iftop PKG_VERSION:=1.0pre4 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.ex-parrot.com/~pdw/iftop/download diff --git a/package/network/utils/iftop/patches/110-fix-mac-display.patch b/package/network/utils/iftop/patches/110-fix-mac-display.patch new file mode 100644 index 0000000000..5db53aaa52 --- /dev/null +++ b/package/network/utils/iftop/patches/110-fix-mac-display.patch @@ -0,0 +1,67 @@ +iftop: fix mac address display + +iftop would display portions of mac address with large ffffff prefixes. +Make if_hw_addr type consistent. + +Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> +--- + addrs_dlpi.c | 2 +- + addrs_ioctl.c | 2 +- + addrs_ioctl.h | 2 +- + iftop.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/addrs_dlpi.c b/addrs_dlpi.c +index 188fef8..6c04ea1 100644 +--- a/addrs_dlpi.c ++++ b/addrs_dlpi.c +@@ -50,7 +50,7 @@ extern char *strncat2(char *dest, char *src, int n); + */ + + int +-get_addrs_dlpi(char *interface, char if_hw_addr[], struct in_addr *if_ip_addr) ++get_addrs_dlpi(char *interface, u_int8_t if_hw_addr[], struct in_addr *if_ip_addr) + { + int got_hw_addr = 0; + int got_ip_addr = 0; +diff --git a/addrs_ioctl.c b/addrs_ioctl.c +index 870c83b..7d01fb2 100644 +--- a/addrs_ioctl.c ++++ b/addrs_ioctl.c +@@ -45,7 +45,7 @@ + */ + + int +-get_addrs_ioctl(char *interface, char if_hw_addr[], struct in_addr *if_ip_addr, struct in6_addr *if_ip6_addr) ++get_addrs_ioctl(char *interface, u_int8_t if_hw_addr[], struct in_addr *if_ip_addr, struct in6_addr *if_ip6_addr) + { + int s; + struct ifreq ifr = {}; +diff --git a/addrs_ioctl.h b/addrs_ioctl.h +index f93a0b4..739de61 100644 +--- a/addrs_ioctl.h ++++ b/addrs_ioctl.h +@@ -7,6 +7,6 @@ + #define __ADDRS_IOCTL_H_ + + int +-get_addrs_ioctl(char *interface, char if_hw_addr[], struct in_addr *if_ip_addr, struct in6_addr *if_ip6_addr); ++get_addrs_ioctl(char *interface, u_int8_t if_hw_addr[], struct in_addr *if_ip_addr, struct in6_addr *if_ip6_addr); + + #endif /* __ADDRS_IOCTL_H_ */ +diff --git a/iftop.c b/iftop.c +index a090dcf..f1b371a 100644 +--- a/iftop.c ++++ b/iftop.c +@@ -55,7 +55,7 @@ + + /* ethernet address of interface. */ + int have_hw_addr = 0; +-char if_hw_addr[6]; ++u_int8_t if_hw_addr[6]; + + /* IP address of interface */ + int have_ip_addr = 0; +-- +1.9.1 + diff --git a/package/system/ubox/Makefile b/package/system/ubox/Makefile index f9f1ac17f1..2f46f2975b 100644 --- a/package/system/ubox/Makefile +++ b/package/system/ubox/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ubox -PKG_VERSION:=2016-03-07 +PKG_VERSION:=2016-07-19 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(OPENWRT_GIT)/project/ubox.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=fd4bb41ee7ab136d25609c2a917beea5d52b723b +PKG_SOURCE_VERSION:=aead2c0cbffdda9b46d74a998a4c6aeef423b21a PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz CMAKE_INSTALL:=1 @@ -37,8 +37,10 @@ endef define Package/ubox/install $(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ + $(INSTALL_DIR) $(1)/sbin $(1)/usr/sbin $(1)/lib/ $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{kmodloader,validate_data} $(1)/sbin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/getrandom $(1)/usr/bin/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libvalidate.so $(1)/lib $(LN) ../../sbin/kmodloader $(1)/usr/sbin/rmmod diff --git a/package/system/ubox/files/log.init b/package/system/ubox/files/log.init index 53c936e246..722dc20e90 100644 --- a/package/system/ubox/files/log.init +++ b/package/system/ubox/files/log.init @@ -35,7 +35,7 @@ start_service_daemon() local log_buffer_size log_size validate_log_daemon "${1}" [ $log_buffer_size -eq 0 -a $log_size -gt 0 ] && log_buffer_size=$log_size - [ $log_buffer_size -eq 0 ] && log_buffer_size=16 + [ $log_buffer_size -eq 0 ] && log_buffer_size=64 procd_open_instance procd_set_param command "/sbin/logd" procd_append_param command -S "${log_buffer_size}" diff --git a/target/linux/archs38/generic/profiles/00-default.mk b/target/linux/archs38/generic/profiles/00-default.mk index 10edb88ff9..b0971080da 100644 --- a/target/linux/archs38/generic/profiles/00-default.mk +++ b/target/linux/archs38/generic/profiles/00-default.mk @@ -7,7 +7,7 @@ define Profile/Default NAME:=Default Profile (all drivers) - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci kmod-ath9k-htc wpad-mini endef define Profile/Default/Description diff --git a/target/linux/archs38/generic/profiles/02-axs103.mk b/target/linux/archs38/generic/profiles/02-axs103.mk index 4a8ea3a1db..156bef7d0a 100644 --- a/target/linux/archs38/generic/profiles/02-axs103.mk +++ b/target/linux/archs38/generic/profiles/02-axs103.mk @@ -7,7 +7,7 @@ define Profile/axs103 NAME:=Synopsys DesignWare AXS103 - PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-mmc kmod-sdhci + PACKAGES:= kmod-usb-core kmod-usb-ohci kmod-mmc kmod-sdhci kmod-ath9k-htc wpad-mini endef define Profile/axs103/Description diff --git a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc index 7056017107..16793ffa6b 100644 --- a/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc +++ b/target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc @@ -3,5 +3,5 @@ kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd) mtd ${kernel_size:+-c 0x$kernel_size} fixtrx firmware && exit 0 -mtd fixseama firmware && exit 0 +mtd ${kernel_size:+-c 0x$kernel_size} fixseama firmware && exit 0 exit 1 diff --git a/target/linux/bcm53xx/config-4.4 b/target/linux/bcm53xx/config-4.4 index 5611cfe0d4..b1580319e3 100644 --- a/target/linux/bcm53xx/config-4.4 +++ b/target/linux/bcm53xx/config-4.4 @@ -54,10 +54,6 @@ CONFIG_ARM_THUMB=y CONFIG_ARM_VIRT_EXT=y CONFIG_ATAGS=y CONFIG_AUTO_ZRELADDR=y -CONFIG_SWCONFIG_B53=y -# CONFIG_SWCONFIG_B53_MMAP_DRIVER is not set -# CONFIG_SWCONFIG_B53_PHY_DRIVER is not set -CONFIG_SWCONFIG_B53_SRAB_DRIVER=y CONFIG_BCM47XX_NVRAM=y CONFIG_BCM47XX_SPROM=y CONFIG_BCM47XX_WDT=y @@ -200,8 +196,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_WORK=y -CONFIG_KERNEL_CAT=y -# CONFIG_KERNEL_XZ is not set CONFIG_LIBFDT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y @@ -259,6 +253,7 @@ CONFIG_PCI_DOMAINS_GENERIC=y CONFIG_PERF_USE_VMALLOC=y CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y +# CONFIG_PHY_BCM_NS_USB2 is not set CONFIG_PINCTRL=y # CONFIG_PL310_ERRATA_588369 is not set # CONFIG_PL310_ERRATA_727915 is not set @@ -287,6 +282,10 @@ CONFIG_SPI_GPIO=y CONFIG_SPI_MASTER=y CONFIG_SRCU=y CONFIG_SWCONFIG=y +CONFIG_SWCONFIG_B53=y +# CONFIG_SWCONFIG_B53_MMAP_DRIVER is not set +# CONFIG_SWCONFIG_B53_PHY_DRIVER is not set +CONFIG_SWCONFIG_B53_SRAB_DRIVER=y CONFIG_SWIOTLB=y CONFIG_SWP_EMULATE=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index 04e418d1e9..e067d4da5c 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -27,19 +27,16 @@ endef define Build/lzma-d16 $(STAGING_DIR_HOST)/bin/lzma e $@ -d16 $(1) $@.new - @mv $@.new $@ -endef - -define Build/mkfs/squashfs - ( cd $(KDIR); $(STAGING_DIR_HOST)/bin/ubinize -p 128KiB -m 2048 -o $(KDIR)/root-block-0x20000-min-0x800.ubi ubinize.cfg ) + mv $@.new $@ endef define Build/trx-serial $(STAGING_DIR_HOST)/bin/trx \ - -o $@ \ + -o $@.new \ -m 33554432 \ -f $(word 1,$^) -a 1024 \ - -f $(KDIR)/root.squashfs -a 0x10000 -A $(KDIR)/fs_mark + -f $@ -a 0x10000 -A $(KDIR)/fs_mark + mv $@.new $@ endef define Build/trx-nand @@ -48,11 +45,12 @@ define Build/trx-nand # root: UBI with one extra block containing UBI mark to trigger erasing # rest of partition $(STAGING_DIR_HOST)/bin/trx \ - -o $@ \ + -o $@.new \ -m 33554432 \ -f $(word 1,$^) -a 0x20000 -b 0x400000 \ - -f $(KDIR)/root-block-0x20000-min-0x800.ubi \ + -f $@ \ -A $(KDIR)/ubi_mark -a 0x20000 + mv $@.new $@ endef define Build/asus-trx @@ -69,7 +67,7 @@ define Build/seama-nand -m "type=firmware" \ -f $(word 1,$^) \ -b 0x400000 \ - -f $(KDIR)/root-block-0x20000-min-0x800.ubi \ + -f $@ \ -f $(KDIR)/ubi_mark # Seama container $(STAGING_DIR_HOST)/bin/seama \ @@ -90,12 +88,15 @@ define Device/Default KERNEL_NAME := zImage IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2) IMAGES := trx - IMAGE/trx := trx-nand + BLOCKSIZE := 128KiB + PAGESIZE := 2048 + UBINIZE_OPTS := + IMAGE/trx := append-ubi | trx-nand endef define Device/asus IMAGES := trx - IMAGE/trx := trx-nand | asus-trx + IMAGE/trx := append-ubi | trx-nand | asus-trx endef define AsusDevice @@ -106,21 +107,13 @@ define AsusDevice TARGET_DEVICES += asus-$(1) endef -define Device/linksys - IMAGES := trx - IMAGE/trx := trx-nand -endef - define LinksysDevice - define Device/linksys-$(1) - $$(Device/linksys) - endef TARGET_DEVICES += linksys-$(1) endef define Device/dlink IMAGES := bin - IMAGE/bin := seama-nand + IMAGE/bin := append-ubi | seama-nand endef define DLinkDevice @@ -133,7 +126,7 @@ endef define Device/netgear IMAGES := chk - IMAGE/chk := trx-nand | netgear-chk + IMAGE/chk := append-ubi | trx-nand | netgear-chk NETGEAR_REGION := 1 endef @@ -162,7 +155,7 @@ endef define Device/smartrg-sr400ac IMAGES := trx - IMAGE/trx := trx-serial + IMAGE/trx := append-rootfs | trx-serial endef TARGET_DEVICES += \ diff --git a/target/linux/bcm53xx/image/ubinize.cfg b/target/linux/bcm53xx/image/ubinize.cfg deleted file mode 100644 index a4f2f09d9e..0000000000 --- a/target/linux/bcm53xx/image/ubinize.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[rootfs] -# Volume mode (other option is static) -mode=ubi -# Source image -image=root.squashfs -# Volume ID in UBI image -vol_id=0 -# Allow for dynamic resize -vol_type=dynamic -# Volume name -vol_name=rootfs - -[rootfs_data] -# Volume mode (other option is static) -mode=ubi -# Volume ID in UBI image -vol_id=1 -# Allow for dynamic resize -vol_type=dynamic -# Volume name -vol_name=rootfs_data -# Autoresize volume at first mount -vol_flags=autoresize -vol_size=1MiB diff --git a/target/linux/bcm53xx/patches-4.4/039-ARM-dts-BCM5301x-Add-RNG-Device-Tree-node.patch b/target/linux/bcm53xx/patches-4.4/039-ARM-dts-BCM5301x-Add-RNG-Device-Tree-node.patch new file mode 100644 index 0000000000..9b18ac6886 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/039-ARM-dts-BCM5301x-Add-RNG-Device-Tree-node.patch @@ -0,0 +1,27 @@ +From 36e55669ebdef9eaf3f4ab4e82a07bb4b95a4813 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli <f.fainelli@gmail.com> +Date: Wed, 22 Jun 2016 17:27:03 -0700 +Subject: [PATCH] ARM: dts: BCM5301x: Add RNG Device Tree node + +Add the DT node for the random number generator peripheral. + +Acked-by: Scott Branden <scott.branden@broadcom.com> +Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm/boot/dts/bcm5301x.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/arch/arm/boot/dts/bcm5301x.dtsi ++++ b/arch/arm/boot/dts/bcm5301x.dtsi +@@ -302,6 +302,11 @@ + /* ports are defined in board DTS */ + }; + ++ rng: rng@18004000 { ++ compatible = "brcm,bcm5301x-rng"; ++ reg = <0x18004000 0x14>; ++ }; ++ + nand: nand@18028000 { + compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand"; + reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>; diff --git a/target/linux/bcm53xx/patches-4.4/040-ARM-dts-BCM5301x-Add-BCM953012ER-board.patch b/target/linux/bcm53xx/patches-4.4/040-ARM-dts-BCM5301x-Add-BCM953012ER-board.patch new file mode 100644 index 0000000000..dd24e2624d --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/040-ARM-dts-BCM5301x-Add-BCM953012ER-board.patch @@ -0,0 +1,139 @@ +From f8c331bda6a90b239f600020eec1b0defe7249b5 Mon Sep 17 00:00:00 2001 +From: Florian Fainelli <f.fainelli@gmail.com> +Date: Wed, 22 Jun 2016 17:00:35 -0700 +Subject: [PATCH] ARM: dts: BCM5301x: Add BCM953012ER board + +Add support for the Broadcom BCM953012 Enterprise Router reference +board, enable the following peripherals: + +- UART0 (UART1 is not populated) +- WPS and restart GPIO buttons +- Ethernet switch w/ only two facing ports +- NAND flash +- SPI-NOR flash + +Acked-by: Jon Mason <jon.mason@broadcom.com> +Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/bcm953012er.dts | 104 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 105 insertions(+) + create mode 100644 arch/arm/boot/dts/bcm953012er.dts + +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ + bcm47094-dlink-dir-885l.dtb \ + bcm94708.dtb \ + bcm94709.dtb \ ++ bcm953012er.dtb \ + bcm953012k.dtb + dtb-$(CONFIG_ARCH_BCM_63XX) += \ + bcm963138dvt.dtb +--- /dev/null ++++ b/arch/arm/boot/dts/bcm953012er.dts +@@ -0,0 +1,104 @@ ++/* ++ * BSD LICENSE ++ * ++ * Copyright(c) 2016 Broadcom. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * * Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * * Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * * Neither the name of Broadcom Corporation nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++/dts-v1/; ++ ++#include "bcm4708.dtsi" ++#include "bcm5301x-nand-cs0-bch8.dtsi" ++ ++/ { ++ model = "NorthStar Enterprise Router (BCM953012ER)"; ++ compatible = "brcm,bcm953012er", "brcm,brcm53012", "brcm,bcm4708"; ++ ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ memory { ++ reg = <0x00000000 0x8000000>; ++ }; ++ ++ gpio-keys { ++ compatible = "gpio-keys"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ wps { ++ label = "WPS"; ++ linux,code = <KEY_WPS_BUTTON>; ++ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; ++ }; ++ ++ restart { ++ label = "Reset"; ++ linux,code = <KEY_RESTART>; ++ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++}; ++ ++&uart0 { ++ status = "okay"; ++}; ++ ++&spi_nor { ++ status = "okay"; ++}; ++ ++&srab { ++ status = "okay"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ label = "port0"; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ label = "port1"; ++ }; ++ ++ port@5 { ++ reg = <5>; ++ label = "cpu"; ++ ethernet = <&gmac0>; ++ }; ++ }; ++}; diff --git a/target/linux/bcm53xx/patches-4.4/041-0001-ARM-BCM5301X-Specify-NAND-chip-select-and-ECC-in-sep.patch b/target/linux/bcm53xx/patches-4.4/041-0001-ARM-BCM5301X-Specify-NAND-chip-select-and-ECC-in-sep.patch new file mode 100644 index 0000000000..36e96fc700 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/041-0001-ARM-BCM5301X-Specify-NAND-chip-select-and-ECC-in-sep.patch @@ -0,0 +1,65 @@ +From 8ab5f1fbd39c29125403678a0caf0a71046da361 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Date: Mon, 6 Jun 2016 09:43:49 +0200 +Subject: [PATCH 1/2] ARM: BCM5301X: Specify NAND chip select and ECC in + separated files +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Using separated file with common chip select parameters will allow us +adding other ECC setups without code duplication. + +Signed-off-by: RafaÅ MiÅecki <zajec5@gmail.com> +Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm/boot/dts/bcm5301x-nand-cs0-bch8.dtsi | 16 +++++----------- + arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi | 18 ++++++++++++++++++ + 2 files changed, 23 insertions(+), 11 deletions(-) + create mode 100644 arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi + +--- a/arch/arm/boot/dts/bcm5301x-nand-cs0-bch8.dtsi ++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0-bch8.dtsi +@@ -9,16 +9,10 @@ + * Licensed under the GNU/GPL. See COPYING for details. + */ + +-/ { +- nand@18028000 { +- nandcs@0 { +- compatible = "brcm,nandcs"; +- reg = <0>; +- #address-cells = <1>; +- #size-cells = <1>; ++#include "bcm5301x-nand-cs0.dtsi" + +- nand-ecc-strength = <8>; +- nand-ecc-step-size = <512>; +- }; +- }; ++&nandcs { ++ nand-ecc-algo = "bch"; ++ nand-ecc-strength = <8>; ++ nand-ecc-step-size = <512>; + }; +--- /dev/null ++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi +@@ -0,0 +1,18 @@ ++/* ++ * Broadcom Northstar NAND. ++ * ++ * Copyright (C) 2015 Hauke Mehrtens <hauke@hauke-m.de> ++ * ++ * Licensed under the GNU/GPL. See COPYING for details. ++ */ ++ ++/ { ++ nand@18028000 { ++ nandcs: nandcs@0 { ++ compatible = "brcm,nandcs"; ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ }; ++ }; ++}; diff --git a/target/linux/bcm53xx/patches-4.4/041-0002-ARM-BCM5301X-Fix-NAND-ECC-parameters-for-D-Link-DIR-.patch b/target/linux/bcm53xx/patches-4.4/041-0002-ARM-BCM5301X-Fix-NAND-ECC-parameters-for-D-Link-DIR-.patch new file mode 100644 index 0000000000..07f0d4450f --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/041-0002-ARM-BCM5301X-Fix-NAND-ECC-parameters-for-D-Link-DIR-.patch @@ -0,0 +1,49 @@ +From 70a0ae1c33572f012b734d4b574f38136c57f1a0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Date: Mon, 6 Jun 2016 09:43:50 +0200 +Subject: [PATCH 2/2] ARM: BCM5301X: Fix NAND ECC parameters for D-Link + DIR-885L +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This device uses BCH-1 instead of BCH-8. This fixes ECC errors and makes +NAND usable with brcmnand. + +Signed-off-by: RafaÅ MiÅecki <zajec5@gmail.com> +Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 2 +- + arch/arm/boot/dts/bcm5301x-nand-cs0-bch1.dtsi | 15 +++++++++++++++ + 2 files changed, 16 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/boot/dts/bcm5301x-nand-cs0-bch1.dtsi + +--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts ++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts +@@ -10,7 +10,7 @@ + /dts-v1/; + + #include "bcm4708.dtsi" +-#include "bcm5301x-nand-cs0-bch8.dtsi" ++#include "bcm5301x-nand-cs0-bch1.dtsi" + + / { + compatible = "dlink,dir-885l", "brcm,bcm47094", "brcm,bcm4708"; +--- /dev/null ++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0-bch1.dtsi +@@ -0,0 +1,15 @@ ++/* ++ * Broadcom Northstar NAND. ++ * ++ * Copyright (C) 2016 RafaÅ MiÅecki <rafal.milecki@gmail.com> ++ * ++ * Licensed under the ISC license. ++ */ ++ ++#include "bcm5301x-nand-cs0.dtsi" ++ ++&nandcs { ++ nand-ecc-algo = "bch"; ++ nand-ecc-strength = <1>; ++ nand-ecc-step-size = <512>; ++}; diff --git a/target/linux/bcm53xx/patches-4.4/081-0003-USB-bcma-use-simpler-devm-helper-for-getting-vcc-GPI.patch b/target/linux/bcm53xx/patches-4.4/081-0003-USB-bcma-use-simpler-devm-helper-for-getting-vcc-GPI.patch new file mode 100644 index 0000000000..c5074101cf --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/081-0003-USB-bcma-use-simpler-devm-helper-for-getting-vcc-GPI.patch @@ -0,0 +1,34 @@ +From 1507372b97a098fd51b92c4dbdbbcd65cba26939 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Date: Wed, 23 Mar 2016 12:37:11 +0100 +Subject: [PATCH] USB: bcma: use simpler devm helper for getting vcc GPIO +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Thanks to switching to devm_gpiod_get: +1) We don't have to pass fwnode pointer +2) We can request initial GPIO value at getting call +This was successfully tested on Netgear R6250 (BCM4708). + +Signed-off-by: RafaÅ MiÅecki <zajec5@gmail.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/usb/host/bcma-hcd.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +--- a/drivers/usb/host/bcma-hcd.c ++++ b/drivers/usb/host/bcma-hcd.c +@@ -352,10 +352,8 @@ static int bcma_hcd_probe(struct bcma_de + usb_dev->core = core; + + if (core->dev.of_node) +- usb_dev->gpio_desc = devm_get_gpiod_from_child(&core->dev, "vcc", +- &core->dev.of_node->fwnode); +- if (!IS_ERR_OR_NULL(usb_dev->gpio_desc)) +- gpiod_direction_output(usb_dev->gpio_desc, 1); ++ usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc", ++ GPIOD_OUT_HIGH); + + switch (core->id.id) { + case BCMA_CORE_USB20_HOST: diff --git a/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch b/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch new file mode 100644 index 0000000000..36044c5a59 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/089-0001-phy-bcm-ns-usb2-new-driver-for-USB-2.0-PHY-on-Norths.patch @@ -0,0 +1,270 @@ +From d3feb406733544dbf0e239ef945a09decdceac88 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Date: Thu, 14 Apr 2016 11:37:43 +0200 +Subject: [PATCH] phy: bcm-ns-usb2: new driver for USB 2.0 PHY on Northstar +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Northstar is a family of SoCs used in home routers. They have USB 2.0 +and 3.0 controllers with PHYs that need to be properly initialized. +This driver provides PHY init support in a generic way and can be bound +with an EHCI controller driver. +There are (just a few) registers being defined in bcma header. It's +because DMU/CRU registers will be also needed in other drivers. We will +need them e.g. in PCIe controller/PHY driver and at some point probably +in clock driver for BCM53573 chipset. By using include/linux/bcma/ we +avoid code duplication. + +Signed-off-by: RafaÅ MiÅecki <zajec5@gmail.com> +Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> +--- + .../devicetree/bindings/phy/bcm-ns-usb2-phy.txt | 21 ++++ + drivers/phy/Kconfig | 9 ++ + drivers/phy/Makefile | 1 + + drivers/phy/phy-bcm-ns-usb2.c | 137 +++++++++++++++++++++ + include/linux/bcma/bcma.h | 1 + + include/linux/bcma/bcma_driver_arm_c9.h | 15 +++ + 6 files changed, 184 insertions(+) + create mode 100644 Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt + create mode 100644 drivers/phy/phy-bcm-ns-usb2.c + create mode 100644 include/linux/bcma/bcma_driver_arm_c9.h + +diff --git a/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt +new file mode 100644 +index 0000000..a7aee9e +--- /dev/null ++++ b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.txt +@@ -0,0 +1,21 @@ ++Driver for Broadcom Northstar USB 2.0 PHY ++ ++Required properties: ++- compatible: brcm,ns-usb2-phy ++- reg: iomem address range of DMU (Device Management Unit) ++- reg-names: "dmu", the only needed & supported reg right now ++- clocks: USB PHY reference clock ++- clock-names: "phy-ref-clk", the only needed & supported clock right now ++ ++To initialize USB 2.0 PHY driver needs to setup PLL correctly. To do this it ++requires passing phandle to the USB PHY reference clock. ++ ++Example: ++ usb2-phy { ++ compatible = "brcm,ns-usb2-phy"; ++ reg = <0x1800c000 0x1000>; ++ reg-names = "dmu"; ++ #phy-cells = <0>; ++ clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>; ++ clock-names = "phy-ref-clk"; ++ }; +diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig +index f6ff76e..f2b458f 100644 +--- a/drivers/phy/Kconfig ++++ b/drivers/phy/Kconfig +@@ -15,6 +15,15 @@ config GENERIC_PHY + phy users can obtain reference to the PHY. All the users of this + framework should select this config. + ++config PHY_BCM_NS_USB2 ++ tristate "Broadcom Northstar USB 2.0 PHY Driver" ++ depends on ARCH_BCM_IPROC || COMPILE_TEST ++ depends on HAS_IOMEM && OF ++ select GENERIC_PHY ++ help ++ Enable this to support Broadcom USB 2.0 PHY connected to the USB ++ controller on Northstar family. ++ + config PHY_BERLIN_USB + tristate "Marvell Berlin USB PHY Driver" + depends on ARCH_BERLIN && RESET_CONTROLLER && HAS_IOMEM && OF +diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile +index f03fa1f..0de09e1 100644 +--- a/drivers/phy/Makefile ++++ b/drivers/phy/Makefile +@@ -3,6 +3,7 @@ + # + + obj-$(CONFIG_GENERIC_PHY) += phy-core.o ++obj-$(CONFIG_PHY_BCM_NS_USB2) += phy-bcm-ns-usb2.o + obj-$(CONFIG_PHY_BERLIN_USB) += phy-berlin-usb.o + obj-$(CONFIG_PHY_BERLIN_SATA) += phy-berlin-sata.o + obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o +diff --git a/drivers/phy/phy-bcm-ns-usb2.c b/drivers/phy/phy-bcm-ns-usb2.c +new file mode 100644 +index 0000000..95ab6b2 +--- /dev/null ++++ b/drivers/phy/phy-bcm-ns-usb2.c +@@ -0,0 +1,137 @@ ++/* ++ * Broadcom Northstar USB 2.0 PHY Driver ++ * ++ * Copyright (C) 2016 RafaÅ MiÅecki <zajec5@gmail.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#include <linux/bcma/bcma.h> ++#include <linux/clk.h> ++#include <linux/delay.h> ++#include <linux/err.h> ++#include <linux/module.h> ++#include <linux/of_address.h> ++#include <linux/of_platform.h> ++#include <linux/phy/phy.h> ++#include <linux/platform_device.h> ++#include <linux/slab.h> ++ ++struct bcm_ns_usb2 { ++ struct device *dev; ++ struct clk *ref_clk; ++ struct phy *phy; ++ void __iomem *dmu; ++}; ++ ++static int bcm_ns_usb2_phy_init(struct phy *phy) ++{ ++ struct bcm_ns_usb2 *usb2 = phy_get_drvdata(phy); ++ struct device *dev = usb2->dev; ++ void __iomem *dmu = usb2->dmu; ++ u32 ref_clk_rate, usb2ctl, usb_pll_ndiv, usb_pll_pdiv; ++ int err = 0; ++ ++ err = clk_prepare_enable(usb2->ref_clk); ++ if (err < 0) { ++ dev_err(dev, "Failed to prepare ref clock: %d\n", err); ++ goto err_out; ++ } ++ ++ ref_clk_rate = clk_get_rate(usb2->ref_clk); ++ if (!ref_clk_rate) { ++ dev_err(dev, "Failed to get ref clock rate\n"); ++ err = -EINVAL; ++ goto err_clk_off; ++ } ++ ++ usb2ctl = readl(dmu + BCMA_DMU_CRU_USB2_CONTROL); ++ ++ if (usb2ctl & BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_PDIV_MASK) { ++ usb_pll_pdiv = usb2ctl; ++ usb_pll_pdiv &= BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_PDIV_MASK; ++ usb_pll_pdiv >>= BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_PDIV_SHIFT; ++ } else { ++ usb_pll_pdiv = 1 << 3; ++ } ++ ++ /* Calculate ndiv based on a solid 1920 MHz that is for USB2 PHY */ ++ usb_pll_ndiv = (1920000000 * usb_pll_pdiv) / ref_clk_rate; ++ ++ /* Unlock DMU PLL settings with some magic value */ ++ writel(0x0000ea68, dmu + BCMA_DMU_CRU_CLKSET_KEY); ++ ++ /* Write USB 2.0 PLL control setting */ ++ usb2ctl &= ~BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_NDIV_MASK; ++ usb2ctl |= usb_pll_ndiv << BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_NDIV_SHIFT; ++ writel(usb2ctl, dmu + BCMA_DMU_CRU_USB2_CONTROL); ++ ++ /* Lock DMU PLL settings */ ++ writel(0x00000000, dmu + BCMA_DMU_CRU_CLKSET_KEY); ++ ++err_clk_off: ++ clk_disable_unprepare(usb2->ref_clk); ++err_out: ++ return err; ++} ++ ++static const struct phy_ops ops = { ++ .init = bcm_ns_usb2_phy_init, ++ .owner = THIS_MODULE, ++}; ++ ++static int bcm_ns_usb2_probe(struct platform_device *pdev) ++{ ++ struct device *dev = &pdev->dev; ++ struct bcm_ns_usb2 *usb2; ++ struct resource *res; ++ struct phy_provider *phy_provider; ++ ++ usb2 = devm_kzalloc(&pdev->dev, sizeof(*usb2), GFP_KERNEL); ++ if (!usb2) ++ return -ENOMEM; ++ usb2->dev = dev; ++ ++ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dmu"); ++ usb2->dmu = devm_ioremap_resource(dev, res); ++ if (IS_ERR(usb2->dmu)) { ++ dev_err(dev, "Failed to map DMU regs\n"); ++ return PTR_ERR(usb2->dmu); ++ } ++ ++ usb2->ref_clk = devm_clk_get(dev, "phy-ref-clk"); ++ if (IS_ERR(usb2->ref_clk)) { ++ dev_err(dev, "Clock not defined\n"); ++ return PTR_ERR(usb2->ref_clk); ++ } ++ ++ usb2->phy = devm_phy_create(dev, NULL, &ops); ++ if (IS_ERR(dev)) ++ return PTR_ERR(dev); ++ ++ phy_set_drvdata(usb2->phy, usb2); ++ platform_set_drvdata(pdev, usb2); ++ ++ phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); ++ return PTR_ERR_OR_ZERO(phy_provider); ++} ++ ++static const struct of_device_id bcm_ns_usb2_id_table[] = { ++ { .compatible = "brcm,ns-usb2-phy", }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, bcm_ns_usb2_id_table); ++ ++static struct platform_driver bcm_ns_usb2_driver = { ++ .probe = bcm_ns_usb2_probe, ++ .driver = { ++ .name = "bcm_ns_usb2", ++ .of_match_table = bcm_ns_usb2_id_table, ++ }, ++}; ++module_platform_driver(bcm_ns_usb2_driver); ++ ++MODULE_LICENSE("GPL v2"); +diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h +index 0367c63..e6b41f4 100644 +--- a/include/linux/bcma/bcma.h ++++ b/include/linux/bcma/bcma.h +@@ -4,6 +4,7 @@ + #include <linux/pci.h> + #include <linux/mod_devicetable.h> + ++#include <linux/bcma/bcma_driver_arm_c9.h> + #include <linux/bcma/bcma_driver_chipcommon.h> + #include <linux/bcma/bcma_driver_pci.h> + #include <linux/bcma/bcma_driver_pcie2.h> +diff --git a/include/linux/bcma/bcma_driver_arm_c9.h b/include/linux/bcma/bcma_driver_arm_c9.h +new file mode 100644 +index 0000000..93bd73d +--- /dev/null ++++ b/include/linux/bcma/bcma_driver_arm_c9.h +@@ -0,0 +1,15 @@ ++#ifndef LINUX_BCMA_DRIVER_ARM_C9_H_ ++#define LINUX_BCMA_DRIVER_ARM_C9_H_ ++ ++/* DMU (Device Management Unit) */ ++#define BCMA_DMU_CRU_USB2_CONTROL 0x0164 ++#define BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_NDIV_MASK 0x00000FFC ++#define BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_NDIV_SHIFT 2 ++#define BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_PDIV_MASK 0x00007000 ++#define BCMA_DMU_CRU_USB2_CONTROL_USB_PLL_PDIV_SHIFT 12 ++#define BCMA_DMU_CRU_CLKSET_KEY 0x0180 ++#define BCMA_DMU_CRU_STRAPS_CTRL 0x02A0 ++#define BCMA_DMU_CRU_STRAPS_CTRL_USB3 0x00000010 ++#define BCMA_DMU_CRU_STRAPS_CTRL_4BYTE 0x00008000 ++ ++#endif /* LINUX_BCMA_DRIVER_ARM_C9_H_ */ +-- +1.8.4.5 + diff --git a/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch b/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch new file mode 100644 index 0000000000..81144dc2b3 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/089-0002-phy-bcm-ns-usb2-checking-the-wrong-variable.patch @@ -0,0 +1,32 @@ +From 6c081ff6fd5abd621797570be43d5e3c6acfcd58 Mon Sep 17 00:00:00 2001 +From: Dan Carpenter <dan.carpenter@oracle.com> +Date: Tue, 10 May 2016 11:01:33 +0300 +Subject: [PATCH] phy: bcm-ns-usb2: checking the wrong variable + +We intended to test "usb2->phy" here instead of "dev". + +Fixes: d3feb4067335 ('phy: bcm-ns-usb2: new driver for USB 2.0 PHY on Northstar') +Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> +Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> +--- + drivers/phy/phy-bcm-ns-usb2.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/phy/phy-bcm-ns-usb2.c b/drivers/phy/phy-bcm-ns-usb2.c +index 95ab6b2..58dff80 100644 +--- a/drivers/phy/phy-bcm-ns-usb2.c ++++ b/drivers/phy/phy-bcm-ns-usb2.c +@@ -109,8 +109,8 @@ static int bcm_ns_usb2_probe(struct platform_device *pdev) + } + + usb2->phy = devm_phy_create(dev, NULL, &ops); +- if (IS_ERR(dev)) +- return PTR_ERR(dev); ++ if (IS_ERR(usb2->phy)) ++ return PTR_ERR(usb2->phy); + + phy_set_drvdata(usb2->phy, usb2); + platform_set_drvdata(pdev, usb2); +-- +1.8.4.5 + diff --git a/target/linux/bcm53xx/patches-4.4/101-use-part-parser.patch b/target/linux/bcm53xx/patches-4.4/101-use-part-parser.patch index 8d48673c6d..4ecb8dc693 100644 --- a/target/linux/bcm53xx/patches-4.4/101-use-part-parser.patch +++ b/target/linux/bcm53xx/patches-4.4/101-use-part-parser.patch @@ -1,9 +1,9 @@ ---- a/arch/arm/boot/dts/bcm5301x-nand-cs0-bch8.dtsi -+++ b/arch/arm/boot/dts/bcm5301x-nand-cs0-bch8.dtsi -@@ -19,6 +19,8 @@ - - nand-ecc-strength = <8>; - nand-ecc-step-size = <512>; +--- a/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi ++++ b/arch/arm/boot/dts/bcm5301x-nand-cs0.dtsi +@@ -13,6 +13,8 @@ + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + linux,part-probe = "ofpart", "bcm47xxpart"; }; diff --git a/target/linux/bcm53xx/patches-4.4/197-USB-bcma-add-USB-3.0-support.patch b/target/linux/bcm53xx/patches-4.4/197-USB-bcma-add-USB-3.0-support.patch index a906892a5c..946b8e5efc 100644 --- a/target/linux/bcm53xx/patches-4.4/197-USB-bcma-add-USB-3.0-support.patch +++ b/target/linux/bcm53xx/patches-4.4/197-USB-bcma-add-USB-3.0-support.patch @@ -209,7 +209,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> static int bcma_hcd_probe(struct bcma_device *core) { int err; -@@ -364,6 +531,11 @@ static int bcma_hcd_probe(struct bcma_de +@@ -362,6 +529,11 @@ static int bcma_hcd_probe(struct bcma_de if (err) return err; break; @@ -221,7 +221,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> default: return -ENODEV; } -@@ -377,11 +549,14 @@ static void bcma_hcd_remove(struct bcma_ +@@ -375,11 +547,14 @@ static void bcma_hcd_remove(struct bcma_ struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev); struct platform_device *ohci_dev = usb_dev->ohci_dev; struct platform_device *ehci_dev = usb_dev->ehci_dev; @@ -236,7 +236,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> bcma_core_disable(dev, 0); } -@@ -418,6 +593,7 @@ static int bcma_hcd_resume(struct bcma_d +@@ -416,6 +591,7 @@ static int bcma_hcd_resume(struct bcma_d static const struct bcma_device_id bcma_hcd_table[] = { BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_USB20_HOST, BCMA_ANY_REV, BCMA_ANY_CLASS), BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_NS_USB20, BCMA_ANY_REV, BCMA_ANY_CLASS), diff --git a/target/linux/bcm53xx/patches-4.4/306-ARM-BCM5301X-Add-DT-for-Netgear-R8500.patch b/target/linux/bcm53xx/patches-4.4/306-ARM-BCM5301X-Add-DT-for-Netgear-R8500.patch index 98a670c463..8db50e0116 100644 --- a/target/linux/bcm53xx/patches-4.4/306-ARM-BCM5301X-Add-DT-for-Netgear-R8500.patch +++ b/target/linux/bcm53xx/patches-4.4/306-ARM-BCM5301X-Add-DT-for-Netgear-R8500.patch @@ -20,7 +20,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> + bcm47094-netgear-r8500.dtb \ bcm94708.dtb \ bcm94709.dtb \ - bcm953012k.dtb + bcm953012er.dtb \ --- /dev/null +++ b/arch/arm/boot/dts/bcm47094-netgear-r8500.dts @@ -0,0 +1,107 @@ diff --git a/target/linux/bcm53xx/patches-4.4/360-ARM-BCM5301X-Fix-NAND-flash-parameters-for-D-Link-DI.patch b/target/linux/bcm53xx/patches-4.4/360-ARM-BCM5301X-Fix-NAND-flash-parameters-for-D-Link-DI.patch deleted file mode 100644 index e114df68d6..0000000000 --- a/target/linux/bcm53xx/patches-4.4/360-ARM-BCM5301X-Fix-NAND-flash-parameters-for-D-Link-DI.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 842f2d4df49fccc31424f9bc6bcc45d1e1d2fda7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> -Date: Mon, 1 Feb 2016 12:37:00 +0100 -Subject: [PATCH] ARM: BCM5301X: Fix NAND flash parameters for D-Link DIR-885L -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It doesn't use 8-bit ECC strength. - -Signed-off-by: Rafał Miłecki <zajec5@gmail.com> ---- - arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts -+++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts -@@ -10,7 +10,6 @@ - /dts-v1/; - - #include "bcm4708.dtsi" --#include "bcm5301x-nand-cs0-bch8.dtsi" - - / { - compatible = "dlink,dir-885l", "brcm,bcm47094", "brcm,bcm4708"; -@@ -27,6 +26,13 @@ - - nand: nand@18028000 { - nandcs@0 { -+ compatible = "brcm,nandcs"; -+ reg = <0>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ -+ linux,part-probe = "ofpart", "bcm47xxpart"; -+ - partition@0 { - label = "firmware"; - reg = <0x00000000 0x08000000>; diff --git a/target/linux/bcm53xx/patches-4.4/810-USB-bcma-use-simpler-devm_gpiod_get.patch b/target/linux/bcm53xx/patches-4.4/810-USB-bcma-use-simpler-devm_gpiod_get.patch deleted file mode 100644 index 3779fabea2..0000000000 --- a/target/linux/bcm53xx/patches-4.4/810-USB-bcma-use-simpler-devm_gpiod_get.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> -Date: Sat, 2 Jan 2016 11:26:28 +0100 -Subject: [PATCH] USB: bcma: use simpler devm_gpiod_get -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Rafał Miłecki <zajec5@gmail.com> ---- - drivers/usb/host/bcma-hcd.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/usb/host/bcma-hcd.c -+++ b/drivers/usb/host/bcma-hcd.c -@@ -519,8 +519,7 @@ static int bcma_hcd_probe(struct bcma_de - usb_dev->core = core; - - if (core->dev.of_node) -- usb_dev->gpio_desc = devm_get_gpiod_from_child(&core->dev, "vcc", -- &core->dev.of_node->fwnode); -+ usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc", 0); - if (!IS_ERR_OR_NULL(usb_dev->gpio_desc)) - gpiod_direction_output(usb_dev->gpio_desc, 1); - diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 2960c947d2..f43cea5999 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -17,6 +17,11 @@ choice bool "Binutils 2.25.1" select BINUTILS_VERSION_2_25_1 + config BINUTILS_USE_VERSION_2_26_1 + depends on !arc + bool "Binutils 2.26.1" + select BINUTILS_VERSION_2_26_1 + config BINUTILS_USE_VERSION_2_26_ARC depends on arc bool "ARC binutils 2.26" diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version index fc7a1f37c0..6812d03b72 100644 --- a/toolchain/binutils/Config.version +++ b/toolchain/binutils/Config.version @@ -5,6 +5,9 @@ config BINUTILS_VERSION_2_25_1 default y if (!TOOLCHAINOPTS && !arc) bool +config BINUTILS_VERSION_2_26_1 + bool + config BINUTILS_VERSION_2_26_ARC default y if (!TOOLCHAINOPTS && arc) bool @@ -13,5 +16,6 @@ config BINUTILS_VERSION string default "2.24-linaro" if BINUTILS_VERSION_2_24_LINARO default "2.25.1" if BINUTILS_VERSION_2_25_1 + default "2.26.1" if BINUTILS_VERSION_2_26_1 default "arc-2016.03" if BINUTILS_VERSION_2_26_ARC diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 03fc76abdd..a30a167169 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -17,6 +17,10 @@ ifeq ($(PKG_VERSION),2.25.1) PKG_MD5SUM:=ac493a78de4fee895961d025b7905be4 endif +ifeq ($(PKG_VERSION),2.26.1) + PKG_MD5SUM:=d2b24e5b5301b7ff0207414c34c3e0fb +endif + ifeq ($(findstring linaro, $(CONFIG_BINUTILS_VERSION)),linaro) PKG_SOURCE_URL:=https://releases.linaro.org/14.09/components/toolchain/binutils-linaro/ PKG_REV:=2.24.0-2014.09 diff --git a/toolchain/binutils/patches/2.26.1/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.26.1/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..c51fc003fd --- /dev/null +++ b/toolchain/binutils/patches/2.26.1/300-001_ld_makefile_patch.patch @@ -0,0 +1,22 @@ +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -54,7 +54,7 @@ endif + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -388,7 +388,7 @@ AM_CFLAGS = $(WARN_CFLAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.26.1/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.26.1/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..2e24b38cad --- /dev/null +++ b/toolchain/binutils/patches/2.26.1/300-012_check_ldrunpath_length.patch @@ -0,0 +1,20 @@ +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1198,6 +1198,8 @@ fragment <<EOF + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1461,6 +1463,8 @@ gld${EMULATION_NAME}_before_allocation ( + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/toolchain/binutils/patches/2.26.1/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.26.1/400-mips_no_dynamic_linking_sym.patch new file mode 100644 index 0000000000..a63203d1cc --- /dev/null +++ b/toolchain/binutils/patches/2.26.1/400-mips_no_dynamic_linking_sym.patch @@ -0,0 +1,18 @@ +--- a/bfd/elfxx-mips.c ++++ b/bfd/elfxx-mips.c +@@ -7689,6 +7689,7 @@ _bfd_mips_elf_create_dynamic_sections (b + + name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; + bh = NULL; ++ if (0) { + if (!(_bfd_generic_link_add_one_symbol + (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, + NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) +@@ -7701,6 +7702,7 @@ _bfd_mips_elf_create_dynamic_sections (b + + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + return FALSE; ++ } + + if (! mips_elf_hash_table (info)->use_rld_obj_head) + { diff --git a/toolchain/binutils/patches/2.26.1/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.26.1/500-Change-default-emulation-for-mips64-linux.patch new file mode 100644 index 0000000000..3343a85661 --- /dev/null +++ b/toolchain/binutils/patches/2.26.1/500-Change-default-emulation-for-mips64-linux.patch @@ -0,0 +1,37 @@ +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -1062,12 +1062,12 @@ case "${targ}" in + targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" + ;; + mips64*el-*-linux*) +- targ_defvec=mips_elf32_ntrad_le_vec +- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" ++ targ_defvec=mips_elf64_trad_le_vec ++ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" + ;; + mips64*-*-linux*) +- targ_defvec=mips_elf32_ntrad_be_vec +- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" ++ targ_defvec=mips_elf64_trad_be_vec ++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-linux*) + targ_defvec=mips_elf32_trad_le_vec +--- a/ld/configure.tgt ++++ b/ld/configure.tgt +@@ -476,11 +476,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmip + mips*-*-vxworks*) targ_emul=elf32ebmipvxworks + targ_extra_emuls="elf32elmipvxworks" ;; + mips*-*-windiss) targ_emul=elf32mipswindiss ;; +-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 +- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" ++mips64*el-*-linux-*) targ_emul=elf64ltsmip ++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" + targ_extra_libpath=$targ_extra_emuls ;; +-mips64*-*-linux-*) targ_emul=elf32btsmipn32 +- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" ++mips64*-*-linux-*) targ_emul=elf64btsmip ++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls ;; + mips*el-*-linux-*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" diff --git a/tools/isl/Makefile b/tools/isl/Makefile index 8fe2da1a06..24c06268c7 100644 --- a/tools/isl/Makefile +++ b/tools/isl/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=isl -PKG_VERSION:=0.14.1 +PKG_VERSION:=0.17.1 PKG_SOURCE_URL:=http://isl.gforge.inria.fr PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_MD5SUM:=94fcd11e0b1c79250ae341affb1845ea +PKG_MD5SUM:=20b83900e234f982a566a3a6b3503bf1 HOST_BUILD_PARALLEL:=1 diff --git a/tools/padjffs2/src/padjffs2.c b/tools/padjffs2/src/padjffs2.c index 59c7625dc4..6308292431 100644 --- a/tools/padjffs2/src/padjffs2.c +++ b/tools/padjffs2/src/padjffs2.c @@ -15,6 +15,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <stdbool.h> #include <sys/types.h> #include <sys/stat.h> @@ -25,6 +26,7 @@ static unsigned char jffs2_pad_be[] = "\x19\x85\x20\x04\x04\x00\x00\x00\xc4\x94\ static unsigned char jffs2_pad_le[] = "\x85\x19\x04\x20\x00\x00\x00\x04\xa8\xfb\xa0\xb4"; static unsigned char *pad = eof_mark; static int pad_len = sizeof(eof_mark); +static bool pad_to_stdout = false; #define ERR(fmt, ...) do { \ fflush(0); \ @@ -46,6 +48,7 @@ static int pad_image(char *name, uint32_t pad_mask) { char *buf; int fd; + int outfd; ssize_t in_len; ssize_t out_len; int ret = -1; @@ -66,6 +69,11 @@ static int pad_image(char *name, uint32_t pad_mask) if (in_len < 0) goto close; + if (!pad_to_stdout) + outfd = fd; + else + outfd = STDOUT_FILENO; + memset(buf, '\xff', BUF_SIZE); in_len += xtra_offset; @@ -90,7 +98,7 @@ static int pad_image(char *name, uint32_t pad_mask) pad_mask &= ~mask; } - printf("padding image to %08x\n", (unsigned int) in_len - xtra_offset); + fprintf(stderr, "padding image to %08x\n", (unsigned int) in_len - xtra_offset); while (out_len < in_len) { ssize_t len; @@ -99,7 +107,7 @@ static int pad_image(char *name, uint32_t pad_mask) if (len > BUF_SIZE) len = BUF_SIZE; - t = write(fd, buf, len); + t = write(outfd, buf, len); if (t != len) { ERRS("Unable to write to %s", name); goto close; @@ -109,7 +117,7 @@ static int pad_image(char *name, uint32_t pad_mask) } /* write out the JFFS end-of-filesystem marker */ - t = write(fd, pad, pad_len); + t = write(outfd, pad, pad_len); if (t != pad_len) { ERRS("Unable to write to %s", name); goto close; @@ -137,6 +145,7 @@ static int usage(void) " This is used to work around broken boot loaders that\n" " try to parse the entire firmware area as one big jffs2\n" " -j: (like -J, but little-endian instead of big-endian)\n" + " -c: write padding to stdout\n" "\n", progname); return EXIT_FAILURE; @@ -160,7 +169,7 @@ int main(int argc, char* argv[]) argc--; pad_mask = 0; - while ((ch = getopt(argc, argv, "x:Jj")) != -1) { + while ((ch = getopt(argc, argv, "x:Jjc")) != -1) { switch (ch) { case 'x': xtra_offset = strtoul(optarg, NULL, 0); @@ -175,6 +184,9 @@ int main(int argc, char* argv[]) pad = jffs2_pad_le; pad_len = sizeof(jffs2_pad_le) - 1; break; + case 'c': + pad_to_stdout = true; + break; default: return usage(); } |