提交 67afa057 编写于 作者: C coolsnowwolf

Final git push. Add DNS Cache in Turbo ACC. Improve R7800/AC58U/ACRH17 wifi...

Final git push. Add DNS Cache in Turbo ACC. Improve R7800/AC58U/ACRH17 wifi support. Some kernel updates
上级 933f77cc
......@@ -3,12 +3,12 @@
LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .123
LINUX_VERSION-4.9 = .130
LINUX_VERSION-4.14 = .73
LINUX_VERSION-4.9 = .131
LINUX_VERSION-4.14 = .74
LINUX_KERNEL_HASH-3.18.123 = c10de32c9b31fb619b016a00d77afc394db5a4542e258e927f06a5ead86f8c64
LINUX_KERNEL_HASH-4.9.130 = 60db3e6a8b00230d5a7c0c8907ef6876702e99c89980bb624f7b649b638b0a7f
LINUX_KERNEL_HASH-4.14.73 = 999e38141ccc447df7bf7ce10b8803c12b32274b76d3d5400bf3fd88eee0e31e
LINUX_KERNEL_HASH-4.9.131 = 57db3295469d3990af93703a97b07f1e8a14920bf3f5b68ce0330a02e7aa5d60
LINUX_KERNEL_HASH-4.14.74 = 70e69189fd7b2f96fa33833735c7bcf3281dc0172c3734e2c5819e9d57015c72
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
......
......@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=uboot-envtools
PKG_DISTNAME:=u-boot
PKG_VERSION:=2018.03
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.xz
......
......@@ -34,6 +34,9 @@ case "$board" in
linksys,ea8500)
ubootenv_add_uci_config "/dev/mtd10" "0x0" "0x20000" "0x20000"
;;
netgear,r7800)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x040000" "0x20000"
;;
qcom,ipq8064-ap148 |\
qcom,ipq8064-db149)
ubootenv_add_uci_config $(ubootenv_mtdinfo)
......
......@@ -8,9 +8,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ath10k-firmware
PKG_SOURCE_DATE:=2018-05-12
PKG_SOURCE_VERSION:=952afa4949cb34193040cd4e7441e1aee50ac731
PKG_MIRROR_HASH:=dd300f3f28b8f8c07c93065fd9dc1c9785ebda8f15398b4d2d33f9418adcaf46
PKG_SOURCE_DATE:=2018-09-06
PKG_SOURCE_VERSION:=327ee47ed67e58deb2c76c822221440c36ed952f
PKG_MIRROR_HASH:=e52e1e8ceaf6dc2679a7bd974df22113687fd18059efb0417e95f1583310bbc8
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
......@@ -473,7 +473,7 @@ define Package/ath10k-firmware-qca9984/install
$(PKG_BUILD_DIR)/QCA9984/hw1.0/board-2.bin \
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/board-2.bin
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/QCA9984/hw1.0/3.5.3/firmware-5.bin_10.4-3.5.3-00053 \
$(PKG_BUILD_DIR)/QCA9984/hw1.0/3.6.0.1/firmware-5.bin_10.4-3.6.0.1-00003 \
$(1)/lib/firmware/ath10k/QCA9984/hw1.0/firmware-5.bin
endef
......
......@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=default-settings
PKG_VERSION:=1.0
PKG_RELEASE:=57
PKG_RELEASE:=58
PKG_LICENSE:=GPLv3
PKG_LICENSE_FILES:=LICENSE
......
......@@ -57,7 +57,7 @@ sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh
wifi up
sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release
echo "DISTRIB_REVISION='R8.1.5 By Lean'" >> /etc/openwrt_release
echo "DISTRIB_REVISION='R8.1.6 By Lean'" >> /etc/openwrt_release
sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release
echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release
......
......@@ -25,6 +25,8 @@ msgstr "闪存大小"
msgid "Free Memory"
msgstr "释放内存"
msgid "RUNNING"
msgstr "运行中"
msgid "NOT RUNNING"
msgstr "未运行"
......@@ -5,11 +5,11 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for SFE
LUCI_DEPENDS:=+kmod-fast-classifier @LINUX_4_9
LUCI_TITLE:=LuCI support for Turbo ACC (SFE)
LUCI_DEPENDS:=+kmod-fast-classifier +pdnsd-alt @LINUX_4_9
LUCI_PKGARCH:=all
PKG_VERSION:=1.0
PKG_RELEASE:=6
PKG_RELEASE:=9
include $(TOPDIR)/feeds/luci/luci.mk
......
......@@ -24,11 +24,16 @@ local function is_fullcone()
return luci.sys.call("iptables -t nat -L -n --line-numbers | grep FULLCONENAT >/dev/null") == 0
end
local function is_dns()
return luci.sys.call("pgrep dnscache >/dev/null") == 0
end
function action_status()
luci.http.prepare_content("application/json")
luci.http.write_json({
run_state = is_running(),
down_state = is_bbr(),
up_state = is_fullcone()
up_state = is_fullcone(),
dns_state = is_dns()
})
end
\ No newline at end of file
......@@ -10,7 +10,7 @@ s.addremove = false
s.anonymous = true
enable = s:option(Flag, "enabled", translate("Enable"))
enable = s:option(Flag, "enabled", translate("Enable SFE Fast Path"))
enable.default = 0
enable.rmempty = false
enable.description = translate("Enable Fast Path offloading for connections. (decrease cpu load / increase routing throughput)")
......@@ -27,4 +27,14 @@ ipv6.rmempty = false
ipv6.description = translate("Enable IPv6 Acceleration")
ipv6:depends("enabled", 1)
dns = s:option(Flag, "dns", translate("DNS Acceleration"))
dns.default = 0
dns.rmempty = false
dns.description = translate("Enable DNS Cache Acceleration and anti ISP DNS pollution")
o = s:option(Value, "dns_server", translate("Upsteam DNS Server"))
o.default = "114.114.114.114 ,114.114.115.115"
o.description = translate("Muitiple DNS server can saperate with ','")
o:depends("dns", 1)
return m
......@@ -4,6 +4,7 @@
<tr><td width="33%">SFE 加速状态</td><td id="_run_state"><em><%:Collecting data...%></em></td></tr>
<tr><td width="33%">BBR 加速</td><td id="_down_state"><em><%:Collecting data...%></em></td></tr>
<tr><td width="33%">FULLCONE NAT加速</td><td id="_up_state"><em><%:Collecting data...%></em></td></tr>
<tr><td width="33%">DNS 加速</td><td id="_dns_state"><em><%:Collecting data...%></em></td></tr>
</table>
</fieldset>
......@@ -11,11 +12,13 @@
var run_state = document.getElementById('_run_state');
var down_state = document.getElementById('_down_state');
var up_state = document.getElementById('_up_state');
var dns_state = document.getElementById('_dns_state');
XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "sfe", "status")%>', null, function(x, status) {
if ( x && x.status == 200 ) {
run_state.innerHTML = status.run_state ? '<em><b><font color=green><%:RUNNING%></font></b></em>' : '<em><b><font color=red><%:NOT RUNNING%></font></b></em>';
down_state.innerHTML = status.down_state ? '<em><b><font color=green><%:RUNNING%></font></b></em>' : '<em><b><font color=red><%:NOT RUNNING%></font></b></em>';
up_state.innerHTML = status.up_state ? '<em><b><font color=green><%:RUNNING%></font></b></em>' : '<em><b><font color=red><%:NOT RUNNING%></font></b></em>';
dns_state.innerHTML = status.dns_state ? '<em><b><font color=green><%:RUNNING%></font></b></em>' : '<em><b><font color=red><%:NOT RUNNING%></font></b></em>';
}
});
//]]></script>
......@@ -16,6 +16,9 @@ msgstr "来自高通开源的 Shortcut FE 转发加速引擎 (Fast Path)"
msgid "Enable"
msgstr "启用"
msgid "Enable SFE Fast Path"
msgstr "启用 SFE Fast Path 加速"
msgid "Enable Fast Path offloading for connections. (decrease cpu load / increase routing throughput)"
msgstr "开启 Fast Path 转发加速. (降低CPU占用 / 增强路由转发性能,和多WAN或者QOS功能可能会冲突)"
......@@ -30,3 +33,15 @@ msgstr "IPv6 加速"
msgid "Enable IPv6 Acceleration"
msgstr "开启IPv6加速"
msgid "DNS Acceleration"
msgstr "DNS 加速"
msgid "Enable DNS Cache Acceleration and anti ISP DNS pollution"
msgstr "启用DNS多线程查询、缓存,并防止ISP的DNS广告和域名劫持"
msgid "Upsteam DNS Server"
msgstr "上游 DNS 服务器(国内)"
msgid "Muitiple DNS server can saperate with ','"
msgstr "支持多个上游DNS服务器,用','分隔(注意用英文逗号).请填写您最快的DNS服务器"
......@@ -3,4 +3,6 @@ config sfe 'config'
option enabled '1'
option ipv6 '0'
option wifi '0'
option dns '0'
option dns_server '114.114.114.114 ,114.114.115.115'
......@@ -3,43 +3,216 @@
START=30
DNSMASQ_RESTART=N
DNS_SERVER="114.114.114.114,114.114.115.115"
start_pdnsd() {
DNS_SERVER=$(uci get sfe.config.dns_server 2>/dev/null)
[ -d /var/etc ] || mkdir -p /var/etc
if [ ! -f /var/dnscache/pdnsd.cache ]; then
mkdir -p /var/dnscache
echo -ne "pd13\000\000\000\000" > /var/dnscache/pdnsd.cache
chown -R nobody.nogroup /var/dnscache
fi
cat > /var/etc/dnscache.conf <<EOF
global {
perm_cache=1024; # dns缓存大小,单位KB,建议不要写的太大
cache_dir="/var/dnscache"; # 缓存文件的位置
pid_file = /var/run/dnscache.pid;
server_ip = 0.0.0.0; # pdnsd监听的网卡,0.0.0.0是全部网卡
server_port=5333; # pdnsd监听的端口,不要和别的服务冲突即可
status_ctl = on;
paranoid=on; # 二次请求模式,如果请求主DNS服务器返回的是垃圾地址,就向备用服务器请求
query_method=udp_only;
neg_domain_pol = off;
par_queries = 400; # 最多同时请求数
min_ttl = 1h; # DNS结果最短缓存时间
max_ttl = 1w; # DNS结果最长缓存时间
timeout = 10; # DNS请求超时时间,单位秒
}
server {
label = "routine";
ip = $DNS_SERVER; # 这里为主要上级 dns 的 ip 地址,建议填写一个当地最快的DNS地址
timeout = 5; # DNS请求超时时间
reject = 74.125.127.102, # 以下是脏IP,也就是DNS污染一般会返回的结果,如果收到如下DNS结果会触发二次请求(TCP协议一般不会碰到脏IP)
74.125.155.102,
74.125.39.102,
74.125.39.113,
209.85.229.138,
128.121.126.139,
159.106.121.75,
169.132.13.103,
192.67.198.6,
202.106.1.2,
202.181.7.85,
203.161.230.171,
203.98.7.65,
207.12.88.98,
208.56.31.43,
209.145.54.50,
209.220.30.174,
209.36.73.33,
211.94.66.147,
213.169.251.35,
216.221.188.182,
216.234.179.13,
243.185.187.39,
37.61.54.158,
4.36.66.178,
46.82.174.68,
59.24.3.173,
64.33.88.161,
64.33.99.47,
64.66.163.251,
65.104.202.252,
65.160.219.113,
66.45.252.237,
69.55.52.253,
72.14.205.104,
72.14.205.99,
78.16.49.15,
8.7.198.45,
93.46.8.89,
37.61.54.158,
243.185.187.39,
190.93.247.4,
190.93.246.4,
190.93.245.4,
190.93.244.4,
65.49.2.178,
189.163.17.5,
23.89.5.60,
49.2.123.56,
54.76.135.1,
77.4.7.92,
118.5.49.6,
159.24.3.173,
188.5.4.96,
197.4.4.12,
220.250.64.24,
243.185.187.30,
249.129.46.48,
253.157.14.165;
reject_policy = fail;
exclude = ".google.com",
".gstatic.com",
".googleusercontent.com",
".googlepages.com",
".googlevideo.com",
".googlecode.com",
".googleapis.com",
".googlesource.com",
".googledrive.com",
".ggpht.com",
".youtube.com",
".youtu.be",
".ytimg.com",
".twitter.com",
".facebook.com",
".fastly.net",
".akamai.net",
".akamaiedge.net",
".akamaihd.net",
".edgesuite.net",
".edgekey.net";
}
server {
label = "special"; # 这个随便写
ip = 208.67.222.222,208.67.220.220; # 这里为备用DNS服务器的 ip 地址
port = 5353; # 推荐使用53以外的端口(DNS服务器必须支持)
proxy_only = on;
timeout = 5;
}
source {
owner=localhost;
// serve_aliases=on;
file="/etc/hosts";
}
rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
}
EOF
/usr/sbin/dnscache -c /var/etc/dnscache.conf -d && echo "Start DNS Cache"
}
stop_pdnsd() {
kill $(pidof dnscache) >/dev/null 2>&1 || killall -9 dnscache >/dev/null 2>&1
echo "Stop DNS Cache"
}
change_dns() {
uci delete dhcp.@dnsmasq[0].server >/dev/null 2>&1
uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#5333
uci delete dhcp.@dnsmasq[0].resolvfile >/dev/null 2>&1
uci set dhcp.@dnsmasq[0].noresolv=1
uci commit dhcp
}
revert_dns() {
uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#5333 >/dev/null 2>&1
uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto
uci delete dhcp.@dnsmasq[0].noresolv >/dev/null 2>&1
uci commit dhcp
}
start(){
enable=$(uci get sfe.config.enabled 2>/dev/null)
wifi=$(uci get sfe.config.wifi)
ipv6=$(uci get sfe.config.ipv6)
dns=$(uci get sfe.config.dns 2>/dev/null)
if [ $enable -eq 1 ]; then
echo "enable"
! (lsmod | grep fast_classifier >/dev/null) && (modprobe fast_classifier)
if [ $wifi -eq 1 ] ; then
echo "wifi"
echo 1 > /sys/fast_classifier/skip_to_bridge_ingress
else
echo "no wifi"
echo 0 > /sys/fast_classifier/skip_to_bridge_ingress
fi
if [ $ipv6 -eq 1 ]; then
echo "ipv6"
sfe_ipv6=$(cat /sys/sfe_ipv6/debug_dev)
[ ! -f /dev/sfe_ipv6 ] && mknod /dev/sfe_ipv6 c $sfe_ipv6 0
else
echo "no ipv6"
rm -f /dev/sfe_ipv6
fi
else
rmmod fast_classifier
echo "stop"
rmmod fast_classifier >/dev/null 2>&1
fi
if [ $dns -eq 1 ]; then
start_pdnsd
change_dns
fi
if [ "$DNSMASQ_RESTART" = N ]; then
/etc/init.d/dnsmasq restart && echo "DNSMASQ change"
fi
}
stop(){
enable=$(uci get sfe.config.enabled 2>/dev/null)
[ $enable -ne 1 ] && rmmod fast_classifier
echo "stop"
[ $enable -ne 1 ] && rmmod fast_classifier >/dev/null 2>&1
stop_pdnsd
revert_dns
if [ "$DNSMASQ_RESTART" = N ]; then
/etc/init.d/dnsmasq restart && echo "DNSMASQ revert"
fi
}
restart(){
DNSMASQ_RESTART=Y
stop
start
/etc/init.d/dnsmasq restart && echo "DNSMASQ restart"
}
......@@ -7,6 +7,7 @@ uci -q batch <<-EOF >/dev/null
commit ucitrack
EOF
[ ! -f /usr/sbin/dnscache ] && ln /usr/sbin/pdnsd /usr/sbin/dnscache
/etc/init.d/sfe enable
rm -f /tmp/luci-indexcache
......
......@@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for SSR Plus
LUCI_DEPENDS:=+shadowsocksr-libev +ipset +ip-full +iptables-mod-tproxy +dnsmasq-full +coreutils +coreutils-base64 +bash +pdnsd-alt +wget
LUCI_PKGARCH:=all
PKG_VERSION:=1
PKG_RELEASE:=5
PKG_RELEASE:=9
include $(TOPDIR)/feeds/luci/luci.mk
......
......@@ -65,9 +65,16 @@ o.datatype = "port"
o.default = 5300
end
o = s:option(Value, "tunnel_forward", translate("Anti-pollution DNS Server"))
o.default = "8.8.4.4:53"
o.rmempty = false
o.description = translate("DNS Server IP:Port")
o = s:option(ListValue, "tunnel_forward", translate("Anti-pollution DNS Server"))
o:value("8.8.4.4:53", translate("Google Public DNS (8.8.4.4)"))
o:value("8.8.8.8:53", translate("Google Public DNS (8.8.8.8)"))
o:value("208.67.222.222:53", translate("OpenDNS (208.67.222.222)"))
o:value("208.67.220.220:53", translate("OpenDNS (208.67.220.220)"))
o:value("209.244.0.3:53", translate("Level 3 Public DNS (209.244.0.3)"))
o:value("209.244.0.4:53", translate("Level 3 Public DNS (209.244.0.4)"))
o:value("4.2.2.1:53", translate("Level 3 Public DNS (4.2.2.1)"))
o:value("4.2.2.2:53", translate("Level 3 Public DNS (4.2.2.2)"))
o:value("4.2.2.3:53", translate("Level 3 Public DNS (4.2.2.3)"))
o:value("4.2.2.4:53", translate("Level 3 Public DNS (4.2.2.4)"))
return m
......@@ -1943,7 +1943,9 @@
101.132.0.0/14
101.144.0.0/12
101.192.0.0/14
101.196.0.0/14
101.196.0.0/16
101.197.0.0/16
101.198.0.0/15
101.200.0.0/15
101.203.128.0/19
101.203.160.0/21
......@@ -5124,7 +5126,9 @@
115.166.64.0/19
115.168.0.0/14
115.172.0.0/14
115.180.0.0/14
115.180.0.0/15
115.182.0.0/16
115.183.0.0/16
115.187.0.0/22
115.187.4.0/22
115.187.8.0/22
......@@ -5502,7 +5506,16 @@
122.102.0.0/20
122.102.64.0/20
122.102.80.0/20
122.112.0.0/14
122.112.0.0/18
122.112.64.0/18
122.112.128.0/17
122.113.0.0/16
122.114.0.0/16
122.115.0.0/17
122.115.128.0/19
122.115.160.0/19
122.115.192.0/19
122.115.224.0/19
122.119.0.0/16
122.128.100.0/22
122.128.120.0/21
......
......@@ -33,4 +33,23 @@ whatsapp.net
wsj.net
google.com
google.com.hk
youtube.com
\ No newline at end of file
gstatic.com
googleusercontent.com
googlepages.com
googlevideo.com
googlecode.com
googleapis.com
googlesource.com
googledrive.com
ggpht.com
youtube.com
youtu.be
ytimg.com
twitter.com
facebook.com
fastly.net
akamai.net
akamaiedge.net
akamaihd.net
edgesuite.net
edgekey.net
\ No newline at end of file
......@@ -183,12 +183,14 @@ start_pdnsd() {
local tcp_dns_list="208.67.222.222, 208.67.220.220"
[ -z "$usr_dns" ] && usr_dns="8.8.8.8"
[ -z "$usr_port" ] && usr_port="53"
mkdir -p /var/etc /var/pdnsd
if ! test -f "/var/pdnsd/pdnsd.cache"; then
dd if=/dev/zero of="/var/pdnsd/pdnsd.cache" bs=1 count=4 2> /dev/null
chown -R nobody.nogroup /var/pdnsd
fi
[ -d /var/etc ] || mkdir -p /var/etc
if [ ! -d /var/pdnsd ];then
mkdir -p /var/pdnsd
echo -ne "pd13\000\000\000\000" >/var/pdnsd/pdnsd.cache
chown -R nobody:nogroup /var/pdnsd
fi
cat > /var/etc/pdnsd.conf <<EOF
global {
......
......@@ -6,10 +6,10 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for SSR Pro
LUCI_DEPENDS:=+iptables-mod-tproxy +kmod-ipt-tproxy +ip +ipset-lists +shadowsocksr-libev-alt +shadowsocks-libev-ss-redir +pdnsd-alt +coreutils +coreutils-base64 +coreutils-nohup +dnsmasq-full
LUCI_DEPENDS:=+iptables-mod-tproxy +kmod-ipt-tproxy +ip +ipset-lists +shadowsocksr-libev +shadowsocks-libev-ss-redir +pdnsd-alt +coreutils +coreutils-base64 +coreutils-nohup +dnsmasq-full
LUCI_PKGARCH:=all
PKG_VERSION:=2
PKG_RELEASE:=29
PKG_RELEASE:=30
include $(TOPDIR)/feeds/luci/luci.mk
......
......@@ -43,9 +43,9 @@ CONFIGURE_ARGS += \
define Package/pdnsd-alt/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/pdnsd $(1)/usr/sbin/
ln $(1)/usr/sbin/pdnsd $(1)/usr/sbin/dnscache
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/pdnsd-ctl/pdnsd-ctl $(1)/usr/bin/
#$(INSTALL_DIR) $(1)/etc/init.d
#$(INSTALL_BIN) ./files/pdnsd.init $(1)/etc/init.d/pdnsd
$(INSTALL_DIR) $(1)/etc
......
......@@ -403,7 +403,7 @@
},
};
+static const struct ath79_pci_irq qca956x_pci_irq_map[] __initconst = {
+static const struct ath79_pci_irq qca956x_pci_irq_map[] = {
+ {
+ .bus = 0,
+ .slot = 0,
......
......@@ -4,7 +4,7 @@
}
};
+static const struct ath79_pci_irq qca953x_pci_irq_map[] __initconst = {
+static const struct ath79_pci_irq qca953x_pci_irq_map[] = {
+ {
+ .bus = 0,
+ .slot = 0,
......
......@@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -2805,6 +2805,8 @@ static const struct file_operations proc
@@ -2812,6 +2812,8 @@ static const struct file_operations proc
static int __init proc_locks_init(void)
{
......
......@@ -79,7 +79,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EINVAL;
return data->ops->get_trend(data->sensor_data, trip, trend);
@@ -286,7 +290,9 @@ static int of_thermal_set_mode(struct th
@@ -289,7 +293,9 @@ static int of_thermal_set_mode(struct th
mutex_unlock(&tz->lock);
data->mode = mode;
......@@ -90,7 +90,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return 0;
}
@@ -296,7 +302,8 @@ static int of_thermal_get_trip_type(stru
@@ -299,7 +305,8 @@ static int of_thermal_get_trip_type(stru
{
struct __thermal_zone *data = tz->devdata;
......@@ -100,7 +100,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*type = data->trips[trip].type;
@@ -304,12 +311,39 @@ static int of_thermal_get_trip_type(stru
@@ -307,12 +314,39 @@ static int of_thermal_get_trip_type(stru
return 0;
}
......@@ -141,7 +141,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*temp = data->trips[trip].temperature;
@@ -322,7 +356,8 @@ static int of_thermal_set_trip_temp(stru
@@ -325,7 +359,8 @@ static int of_thermal_set_trip_temp(stru
{
struct __thermal_zone *data = tz->devdata;
......@@ -151,7 +151,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
if (data->ops->set_trip_temp) {
@@ -344,7 +379,8 @@ static int of_thermal_get_trip_hyst(stru
@@ -347,7 +382,8 @@ static int of_thermal_get_trip_hyst(stru
{
struct __thermal_zone *data = tz->devdata;
......@@ -161,7 +161,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
*hyst = data->trips[trip].hysteresis;
@@ -357,7 +393,8 @@ static int of_thermal_set_trip_hyst(stru
@@ -360,7 +396,8 @@ static int of_thermal_set_trip_hyst(stru
{
struct __thermal_zone *data = tz->devdata;
......@@ -171,7 +171,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
return -EDOM;
/* thermal framework should take care of data->mask & (1 << trip) */
@@ -432,6 +469,9 @@ thermal_zone_of_add_sensor(struct device
@@ -435,6 +472,9 @@ thermal_zone_of_add_sensor(struct device
if (ops->set_emul_temp)
tzd->ops->set_emul_temp = of_thermal_set_emul_temp;
......@@ -181,7 +181,7 @@ Signed-off-by: Rajith Cherian <rajith@codeaurora.org>
mutex_unlock(&tzd->lock);
return tzd;
@@ -726,7 +766,10 @@ static const char * const trip_types[] =
@@ -729,7 +769,10 @@ static const char * const trip_types[] =
[THERMAL_TRIP_ACTIVE] = "active",
[THERMAL_TRIP_PASSIVE] = "passive",
[THERMAL_TRIP_HOT] = "hot",
......
......@@ -24,7 +24,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
struct lpuart_port {
struct uart_port port;
struct clk *clk;
@@ -1348,6 +1350,18 @@ lpuart_set_termios(struct uart_port *por
@@ -1349,6 +1351,18 @@ lpuart_set_termios(struct uart_port *por
/* ask the core to calculate the divisor */
baud = uart_get_baud_rate(port, termios, old, 50, port->uartclk / 16);
......@@ -43,7 +43,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
spin_lock_irqsave(&sport->port.lock, flags);
sport->port.read_status_mask = 0;
@@ -1397,22 +1411,11 @@ lpuart_set_termios(struct uart_port *por
@@ -1398,22 +1412,11 @@ lpuart_set_termios(struct uart_port *por
/* restore control register */
writeb(old_cr2, sport->port.membase + UARTCR2);
......@@ -69,7 +69,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}
spin_unlock_irqrestore(&sport->port.lock, flags);
@@ -1640,6 +1643,13 @@ lpuart_console_write(struct console *co,
@@ -1641,6 +1644,13 @@ lpuart_console_write(struct console *co,
{
struct lpuart_port *sport = lpuart_ports[co->index];
unsigned char old_cr2, cr2;
......@@ -83,7 +83,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* first save CR2 and then disable interrupts */
cr2 = old_cr2 = readb(sport->port.membase + UARTCR2);
@@ -1654,6 +1664,9 @@ lpuart_console_write(struct console *co,
@@ -1655,6 +1665,9 @@ lpuart_console_write(struct console *co,
barrier();
writeb(old_cr2, sport->port.membase + UARTCR2);
......@@ -93,7 +93,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}
static void
@@ -1661,6 +1674,13 @@ lpuart32_console_write(struct console *c
@@ -1662,6 +1675,13 @@ lpuart32_console_write(struct console *c
{
struct lpuart_port *sport = lpuart_ports[co->index];
unsigned long old_cr, cr;
......@@ -107,7 +107,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* first save CR2 and then disable interrupts */
cr = old_cr = lpuart32_read(sport->port.membase + UARTCTRL);
@@ -1675,6 +1695,9 @@ lpuart32_console_write(struct console *c
@@ -1676,6 +1696,9 @@ lpuart32_console_write(struct console *c
barrier();
lpuart32_write(old_cr, sport->port.membase + UARTCTRL);
......@@ -117,7 +117,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}
/*
@@ -1899,13 +1922,13 @@ static int lpuart_probe(struct platform_
@@ -1900,13 +1923,13 @@ static int lpuart_probe(struct platform_
ret = of_alias_get_id(np, "serial");
if (ret < 0) {
......@@ -137,7 +137,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
sport->port.line = ret;
sport->lpuart32 = of_device_is_compatible(np, "fsl,ls1021a-lpuart");
@@ -1987,6 +2010,7 @@ static int lpuart_remove(struct platform
@@ -1988,6 +2011,7 @@ static int lpuart_remove(struct platform
struct lpuart_port *sport = platform_get_drvdata(pdev);
uart_remove_one_port(&lpuart_reg, &sport->port);
......@@ -145,7 +145,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
clk_disable_unprepare(sport->clk);
@@ -2071,12 +2095,10 @@ static int lpuart_resume(struct device *
@@ -2072,12 +2096,10 @@ static int lpuart_resume(struct device *
if (sport->lpuart_dma_rx_use) {
if (sport->port.irq_wake) {
......
......@@ -579,7 +579,7 @@
+
--- a/arch/arm/boot/dts/mt7623.dtsi
+++ b/arch/arm/boot/dts/mt7623.dtsi
@@ -323,6 +323,7 @@
@@ -326,6 +326,7 @@
"syscon";
reg = <0 0x10209000 0 0x1000>;
#clock-cells = <1>;
......
......@@ -9,7 +9,7 @@ Subject: [PATCH] arm: dts: Add missing mt7623 pcie nodes
--- a/arch/arm/boot/dts/mt7623.dtsi
+++ b/arch/arm/boot/dts/mt7623.dtsi
@@ -671,6 +671,111 @@
@@ -674,6 +674,111 @@
#reset-cells = <1>;
};
......
......@@ -64,7 +64,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include <media/v4l2-common.h>
@@ -1081,9 +1086,149 @@ static void uvc_video_decode_data(struct
@@ -1093,9 +1098,149 @@ static void uvc_video_decode_data(struct
}
}
......@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
@@ -1498,6 +1643,8 @@ static int uvc_init_video_isoc(struct uv
@@ -1510,6 +1655,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
......
......@@ -20,8 +20,8 @@ KERNELNAME:=bzImage
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += partx-utils mkf2fs fdisk e2fsprogs wpad kmod-usb-hid \
kmod-ath5k kmod-ath9k kmod-ath9k-htc kmod-ath10k kmod-rt2800-usb kmod-e1000e kmod-igb kmod-igbvf kmod-ixgbe kmod-pcnet32 kmod-tulip kmod-vmxnet3 htop lm-sensors \
autocore automount ath10k-firmware-qca988x brcmfmac-firmware-43602a1-pcie \
kmod-ath5k kmod-ath9k kmod-ath9k-htc kmod-ath10k kmod-rt2800-usb kmod-e1000e kmod-igb kmod-igbvf kmod-ixgbe kmod-pcnet32 kmod-tulip kmod-vmxnet3 htop lm-sensors autocore automount autosamba \
ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie intel-microcode amd64-microcode\
alsa-utils kmod-ac97 kmod-sound-hda-core kmod-sound-hda-codec-realtek kmod-sound-hda-codec-via kmod-sound-via82xx kmod-usb-audio \
kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152 \
luci-app-zerotier luci-app-v2ray-pro
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册