openwrt/staging/xback.git
4 years agoramips: don't reuse KERNEL_DTB for lzma-loader
Chuanhong Guo [Sat, 18 Apr 2020 05:40:31 +0000 (13:40 +0800)]
ramips: don't reuse KERNEL_DTB for lzma-loader

mt7621 overrides KERNEL_DTB to limit dictionary size, which isn't needed
for our lzma loader.
This saves 15KB on mt7621 devices using uimage-lzma-loader.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: mt7621: backport more pcie driver fixes
Chuanhong Guo [Sat, 18 Apr 2020 04:51:03 +0000 (12:51 +0800)]
ramips: mt7621: backport more pcie driver fixes

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: increase spi-max-frequency for ipTIME mt7620 devices
Sungbo Eo [Sun, 5 Apr 2020 05:11:34 +0000 (14:11 +0900)]
ramips: increase spi-max-frequency for ipTIME mt7620 devices

This commit increases the hardware SPI frequency from 24.2MHz to 48.3MHz.

[    5.314163] m25p80 spi0.0: speed: 24166666/40000000, rate: 8, prescal: 2, loops: 226
[    5.076323] m25p80 spi0.0: speed: 48333333/50000000, rate: 4, prescal: 1, loops: 162

`time cat /dev/mtd2 >/dev/null` is reduced from 5.64s to 4.36s on A104ns,
and from 11.39s to 8.81s on A1004ns.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: add support for ipTIME A1004ns
Sungbo Eo [Thu, 26 Sep 2019 15:21:25 +0000 (00:21 +0900)]
ramips: add support for ipTIME A1004ns

ipTIME A1004ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A.

Specifications:
- SoC: MT7620A
- RAM: DDR2 128MB
- Flash: SPI NOR 16MB
- WiFi:
  - 2.4GHz: SoC internal
  - 5GHz: MT7610EN
- Ethernet: 5x 10/100/1000Mbps
  - Switch: MT7530BU
- USB: 1x 2.0
- UART:
  - J2: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1

Installation via web interface:
1.  Flash **initramfs** image through the stock web interface.
2.  Boot into OpenWrt and perform sysupgrade with sysupgrade image.

Revert to stock firmware:
1.  Perform sysupgrade with stock image.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
4 years agoramips: mt7621: Ubiquiti ER-X-SFP: fix gpio numbers for POE enable gpios
René van Dorst [Tue, 7 Apr 2020 20:00:20 +0000 (22:00 +0200)]
ramips: mt7621: Ubiquiti ER-X-SFP: fix gpio numbers for POE enable gpios

With v5.4 kernel a new gpio driver is used.
GPIO numbering has changed so update 03_gpio_switches too.

Signed-off-by: René van Dorst <opensource@vdorst.com>
4 years agoramips: mt7621: Ubiquiti ER-X: fix gpio number for POE enable gpio
René van Dorst [Thu, 9 Apr 2020 12:03:13 +0000 (14:03 +0200)]
ramips: mt7621: Ubiquiti ER-X: fix gpio number for POE enable gpio

With v5.4 kernel a new gpio driver is used.
GPIO numbering has changed so update 03_gpio_switches too.

Signed-off-by: René van Dorst <opensource@vdorst.com>
4 years agoramips: use all reserved space for HiWiFi HC5962
DENG Qingfang [Mon, 6 Apr 2020 05:17:47 +0000 (13:17 +0800)]
ramips: use all reserved space for HiWiFi HC5962

These stock partitons: "backup", "hw_panic", "overly", firmware_backup", "opt"
do not contain any device-specific data and can be used for /overlay, resulting in
121M space

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agoramips: increase HiWiFi HC5962 kernel partition to 4M
DENG Qingfang [Mon, 6 Apr 2020 05:17:43 +0000 (13:17 +0800)]
ramips: increase HiWiFi HC5962 kernel partition to 4M

Increase kernel partition because 2M is insufficient for 5.4
Because the partition changes, previous version of OpenWrt cannot upgrade
to this version, and requires a new installation

Recovery to stock instruction:
1. Download stock firmware at
   http://ur.ikcd.net/HC5962-sysupgrade-20171221-b00a04d1.bin
2. Power off the router
3. Press and hold the reset button for 4~6 sec while power it back on
4. Connect a PC to router's LAN
5. Visit http://192.168.2.1 and upload the firmware

Then repeat the instruction in edae3479e64e to install OpenWrt

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agogeneric: spi-nor: fix 4-byte opcode support for w25q256
Mantas Pucka [Thu, 16 Apr 2020 06:40:49 +0000 (09:40 +0300)]
generic: spi-nor: fix 4-byte opcode support for w25q256

There are 2 different chips (w25q256fv and w25q256jv) that share
the same JEDEC ID. Only w25q256jv fully supports 4-byte opcodes.
Use SFDP header version to differentiate between them.

Fixes broken reboot on 8devices Habanero since f0f35fdac

Signed-off-by: Mantas Pucka <mantas@8devices.com>
4 years agombedtls: update to 2.16.6
Magnus Kroken [Thu, 16 Apr 2020 15:47:47 +0000 (17:47 +0200)]
mbedtls: update to 2.16.6

Security fixes for:
* CVE-2020-10932
* a potentially remotely exploitable buffer overread in a DTLS client
* bug in DTLS handling of new associations with the same parameters

Full release announement:
https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.6-and-2.7.15-released

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
4 years agokernel: bump 5.4 to 5.4.33
Petr Štetiar [Fri, 17 Apr 2020 12:29:33 +0000 (14:29 +0200)]
kernel: bump 5.4 to 5.4.33

Refreshed patches, removed upstreamed patches:

 oxnas: 001-irqchip-versatile-fpga-Handle-chained-IRQs-properly.patch
 oxnas: 002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch

Run tested: qemu-x86-64, apalis
Build tested: x86/64, imx6, sunxi/a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomac80211: make sure existing iface belongs to correct (fullmac) phy
Daniel Golle [Fri, 17 Apr 2020 12:11:11 +0000 (13:11 +0100)]
mac80211: make sure existing iface belongs to correct (fullmac) phy

Some FullMAC cfg80211 wireless devices do not support virtual
interfaces, hence there is script logic to keep the existing network
device. Improve this to support renaming the interface if needed and
make sure the existing interface actually belongs to the right phy.
Change calls to 'iw' to avoid outputing warnings and errors to not
confuse users of such devices.

Also bump PKG_RELEASE which has been forgotten in the previous two
mac80211 changes.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoath79: remove stray pipe
David Bauer [Fri, 17 Apr 2020 12:15:06 +0000 (14:15 +0200)]
ath79: remove stray pipe

Fixes: 8918c038f330 ("ath79: add support for AVM FRITZ!WLAN Repeater 1750E")
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoelfutils: aarch64 fix build on musl
Lucian Cristian [Fri, 17 Apr 2020 10:04:37 +0000 (13:04 +0300)]
elfutils: aarch64 fix build on musl

aarch64_initreg.c: In function 'aarch64_set_initial_registers_tid':
aarch64_initreg.c:85:37: error: invalid operands to binary & (have 'long double' and 'unsigned int')
     dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
                      ~~~~~~~~~~~~~~ ^

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
4 years agouboot-sunxi: bump to 2020.04 relase
Petr Štetiar [Tue, 14 Apr 2020 21:30:56 +0000 (23:30 +0200)]
uboot-sunxi: bump to 2020.04 relase

Refreshed patches, removed upstreamed patch:

 260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch

Boot tested on a64-olinuxino-emmc.

Cc: Zoltan HERPAI <wigyori@uid0.hu>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agouboot-imx6: bump to 2020.04 release
Petr Štetiar [Tue, 14 Apr 2020 21:21:19 +0000 (23:21 +0200)]
uboot-imx6: bump to 2020.04 release

Refreshed all patches, run tested on apalis.

Cc: Vladimir Vid <vladimir.vid@sartura.hr>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agomac80211: drop data frames without key on encrypted links
David Bauer [Thu, 16 Apr 2020 19:30:27 +0000 (21:30 +0200)]
mac80211: drop data frames without key on encrypted links

If we know that we have an encrypted link (based on having had
a key configured for TX in the past) then drop all data frames
in the key selection handler if there's no key anymore.

This fixes an issue with mac80211 internal TXQs - there we can
buffer frames for an encrypted link, but then if the key is no
longer there when they're dequeued, the frames are sent without
encryption. This happens if a station is disconnected while the
frames are still on the TXQ.

Detecting that a link should be encrypted based on a first key
having been configured for TX is fine as there are no use cases
for a connection going from with encryption to no encryption.
With extended key IDs, however, there is a case of having a key
configured for only decryption, so we can't just trigger this
behaviour on a key being configured.

Cc: stable@vger.kernel.org
Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: add support for AVM FRITZ!WLAN Repeater 1750E
David Bauer [Sun, 12 Apr 2020 11:33:01 +0000 (13:33 +0200)]
ath79: add support for AVM FRITZ!WLAN Repeater 1750E

This commit adds support for the AVM Fritz!WLAN Repeater 1750E

SOC: Qualcomm QCA9556 (Scorpion) 720MHz MIPS74Kc
RAM:    64MB Zentel A3R12E40CBF DDR2
FLASH:  16MiB Winbond W25Q128 SPI NOR
WLAN1:  QCA9556 2.4 GHz 802.11b/g/n 3x3
WLAN2:  QCA9880 5 GHz 802.11 n/ac 3x3
INPUT:  WPS button
LED:    Power, WiFi, LAN, RSSI indicator
Serial: Header Next to Black metal shield
        Pinout is 3.3V - RX - TX - GND (Square Pad is 3.3V)
        The Serial setting is 115200-8-N-1.

Tested and working:
 - Ethernet
 - 2.4 GHz WiFi (correct MAC)
 - 5 GHz WiFi (correct MAC)
 - Installation via EVA bootloader
 - OpenWRT sysupgrade
 - Buttons
 - LEDs

Installation via EVA:
In the first seconds after Power is connected, the bootloader will
listen for FTP connections on 192.168.178.1. Firmware can be uploaded
like following:

  ftp> quote USER adam2
  ftp> quote PASS adam2
  ftp> binary
  ftp> debug
  ftp> passive
  ftp> quote MEDIA FLSH
  ftp> put openwrt-sysupgrade.bin mtd1

Note that this procedure might take up to two minutes.
You need to powercycle the Device afterwards to boot OpenWRT.

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agoath79: add QCA9550 reset sequence
David Bauer [Sun, 12 Apr 2020 11:03:31 +0000 (13:03 +0200)]
ath79: add QCA9550 reset sequence

The QCA9550 family of SoCs have a slightly different reset
sequence compared to older chips.

Normally the bootloader performs this sequence, however
some bootloader implementation expect the operating system
to clear the reset. Also get the PCIe resets from OF to
support the second RC of the QCA9558.

This is required for the AVM FRITZ!WLAN Repeater 1750E to work,
as EVA leaves the PCIe bus in reset.

Tested: AVM FRITZ!WLAN Repeater 1750E - OCEDO Koala

Signed-off-by: David Bauer <mail@david-bauer.net>
4 years agomac80211: fix detecting existing interface
Daniel Golle [Fri, 17 Apr 2020 10:33:40 +0000 (11:33 +0100)]
mac80211: fix detecting existing interface

Instead of using the actual interface name, a hard-coded 'wlan0' has
slipped into the script. Replace it.

Fixes: ccf2aa9d4b ("mac80211: detect existing interface before adding")
Reported-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agokernel: add support for GD25D05 SPI NOR (5.4)
Koen Vandeputte [Thu, 16 Apr 2020 12:35:48 +0000 (14:35 +0200)]
kernel: add support for GD25D05 SPI NOR (5.4)

This chip is used on newer RB912UAG-5HPnD r2 and 922UAGS-5HPacD boards:

Before:

[    0.824562] spi-nor spi0.0: unrecognized JEDEC id bytes: c8 40 10 c8 40 10
[    0.831607] spi-nor: probe of spi0.0 failed with error -2

After:

[    0.825347] spi-nor spi0.0: gd25d05 (64 Kbytes)
[    0.830291] 1 routerbootpart partitions found on MTD device spi0.0
[    0.836577] Creating 1 MTD partitions on "spi0.0":
[    0.841448] 0x000000000000-0x000000010000 : "partitions"
[    0.848418] 4 routerbootpart partitions found on MTD device partitions
[    0.855092] Creating 4 MTD partitions on "partitions":
[    0.860318] 0x000000000000-0x00000000c000 : "routerboot"
[    0.866548] 0x00000000c000-0x00000000d000 : "hard_config"
[    0.872832] 0x00000000d000-0x00000000e000 : "bios"
[    0.878580] 0x00000000e000-0x00000000f000 : "soft_config"

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoath79: reduce spi-max-frequency for Mikrotik wAP G-5HacT2HnD
Roger Pueyo Centelles [Wed, 8 Apr 2020 08:37:52 +0000 (10:37 +0200)]
ath79: reduce spi-max-frequency for Mikrotik wAP G-5HacT2HnD

The previous spi-max-frequency value did not work with all the CPU speed
settings (configurable with rbcfg or from the stock firmware); the new
one does for the three of them.

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
4 years agoath79: MikroTik: fix missing nand on kernel 5.4
Koen Vandeputte [Thu, 16 Apr 2020 10:21:52 +0000 (12:21 +0200)]
ath79: MikroTik: fix missing nand on kernel 5.4

Following symbol got renamed upstream:
CONFIG_MTD_NAND --> CONFIG_MTD_RAW_NAND

Also add this renamed symbol so NAND also works on kernel 5.4.

After:
[    0.628372] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[    0.634862] nand: Samsung NAND 128MiB 3,3V 8-bit
[    0.639554] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.647263] Scanning device for bad blocks
[    0.656228] random: fast init done
[    0.789652] 3 fixed-partitions partitions found on MTD device ar934x-nand
[    0.796550] Creating 3 MTD partitions on "ar934x-nand":
[    0.801874] 0x000000000000-0x000000040000 : "booter"
[    0.807715] 0x000000040000-0x000000400000 : "kernel"
[    0.813551] 0x000000400000-0x000008000000 : "ubi"

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.19 to 4.19.115
Koen Vandeputte [Wed, 15 Apr 2020 13:11:54 +0000 (15:11 +0200)]
kernel: bump 4.19 to 4.19.115

Refreshed all patches.

Remove upstreamed:
- 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch
- 184-USB-serial-option-add-Wistron-Neweb-D19Q1.patch

Fixes:
- CVE-2020-8647
- CVE-2020-8648 (potentially)
- CVE-2020-8649

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agokernel: bump 4.14 to 4.14.176
Koen Vandeputte [Wed, 15 Apr 2020 12:31:12 +0000 (14:31 +0200)]
kernel: bump 4.14 to 4.14.176

Refreshed all patches.

Remove upstreamed:
- 0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch
- 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch
- 184-USB-serial-option-add-Wistron-Neweb-D19Q1.patch

Fixes:
- CVE-2020-8648 (potentially)
- CVE-2020-8647
- CVE-2020-8649

Compile-tested on: cns3xxx, octeontx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
4 years agoath79: improve status LED definitions for GL-AR750
Hannu Nyman [Wed, 15 Apr 2020 20:05:27 +0000 (23:05 +0300)]
ath79: improve status LED definitions for GL-AR750

Improve the status LED functionality in GL-AR750
by adding the definitions for different statuses
(boot, failsafe, running, flashing).

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
4 years agoath79: add SUPPORTED_DEVICES for TP-Link TL-WA901ND v2
Adrian Schmutzler [Wed, 15 Apr 2020 10:45:28 +0000 (12:45 +0200)]
ath79: add SUPPORTED_DEVICES for TP-Link TL-WA901ND v2

This adds the board name from ar71xx to support upgrade without
-F for the TP-Link TL-WA901ND v2.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: mt7621: enable lzma-loader for some devices
Chuanhong Guo [Wed, 15 Apr 2020 01:32:02 +0000 (09:32 +0800)]
ramips: mt7621: enable lzma-loader for some devices

ubnt er-x/xiaomi/netgear sercomm devices are known to have troble
extracting a big kernel from flash and has support for uncompressed
uimage
This commit uses uncompressed uimage with lzma-loader for these devices
to fix boot issue.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agox86: append metadata to combined images
Paul Spooren [Fri, 10 Apr 2020 09:54:52 +0000 (23:54 -1000)]
x86: append metadata to combined images

Now that the x86 target uses the new image generation code we can also
attach metadata to the created images.

As currently the `SUPPORTED_DEVICES` list is empty, no JSON metadata is
attached, however the signing happens in the same step.

This results in signature verification for x86 images.

Signed-off-by: Paul Spooren <mail@aparcar.org>
4 years agoscripts/download: add sources CDN as first mirror
Paul Spooren [Mon, 6 Apr 2020 11:53:19 +0000 (01:53 -1000)]
scripts/download: add sources CDN as first mirror

OpenWrt now has a CDN for sources at sources.cdn.openwrt.org which
mirrors sources.openwrt.org.

Downloading sources outside Europe or US (mainland) could
result in low throughput, extremely slowing down the first compilation of
the build system.

This patch adds sources.cdn.openwrt.org as the first mirror to offer
worldwide fast download speeds by default. If the CDN goes down for
whatever reason, the script jumps to the next available mirror and
downloads requested files as before (in regional varying speed).

Signed-off-by: Paul Spooren <mail@aparcar.org>
Acked-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
4 years agoscripts: JSON merge don't crash if no JSON found
Paul Spooren [Wed, 8 Apr 2020 20:17:01 +0000 (10:17 -1000)]
scripts: JSON merge don't crash if no JSON found

The JSON `WORK_DIR` ($(KDIR)/json_info_files) is only created if the new
image generation methods from `image.mk` are used. However some targets
like `armvirt` do not use it yet, so the folder is never created.

The `json_overview_image_info.py` script used to raise an error if the
given `WORK_DIR` isn't a folder, however it should just notify about
missing JSON files.

This patch removes the Python assert and exists with code 0 even if no
JSON files were found, as this is not necessarily an error but simply
not yet implemented. Using `glob` on an not existing `Path` results in
an empty list, therefore the for loop won't run.

Signed-off-by: Paul Spooren <mail@aparcar.org>
CC: Petr Štetiar <ynezz@true.cz>
4 years agokernel: bump 5.4 to 5.4.32
Petr Štetiar [Tue, 14 Apr 2020 15:55:55 +0000 (17:55 +0200)]
kernel: bump 5.4 to 5.4.32

Refreshed patches, removed upstreamed patches:

 generic: 746-stable-net-dsa-mt7530-fix-null-pointer-dereferencing-in-por.patch

Run tested: qemu-x86-64, apalis
Build tested: x86/64, imx6, sunxi/a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
4 years agoipq806x: add patch to fix broken buttons
Ansuel Smith [Tue, 14 Apr 2020 00:43:49 +0000 (02:43 +0200)]
ipq806x: add patch to fix broken buttons

From kernel 4.20 msm-gpio driver is broken and cause the
malfunction of the buttons on every ipq806x target.
Add a patch to fix this.

Tested-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
4 years agoprocd: jail fixes and improvements
Daniel Golle [Tue, 14 Apr 2020 15:11:05 +0000 (16:11 +0100)]
procd: jail fixes and improvements

 32c717e jail: only mess with rootfs if CLONE_NEWNS was set
 b275a62 instance: harmonize instance API
 511fd97 jail: make /proc more secure
 4953b7c jail: mount /sys read-only
 a4d6442 jail: replace /etc/resolv.conf with symlink in extroot+overlay
 a4cc165 jail: always mount /dev as additional tmpfs

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agonetifd: clean up netns functionality
Daniel Golle [Tue, 14 Apr 2020 12:52:36 +0000 (13:52 +0100)]
netifd: clean up netns functionality

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agoath79: further fixes for ZyXEL NBG6716
Adrian Schmutzler [Wed, 8 Apr 2020 12:43:04 +0000 (14:43 +0200)]
ath79: further fixes for ZyXEL NBG6716

This applies further fixes to the DTS of ZyXEL NBG6716 based on
what is found in ar71xx (mach-nbg6716.c):

- use WiFi label names as in ar71xx
- fix WPS gpio number
- fix GPIO_ACTIVE_HIGH and mode for WiFi switch
- add codes for USB eject buttons
- fix node name for "internet" LED

This device has separate LEDs for WAN and "Internet". As the WAN-LED
(and the four LAN-LEDs) are driven independent of the setup in
DT/01_leds, the "internet" LED is left unassigned (in contrast to
ar71xx, where it was set up effectively as a second WAN LED)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoRevert "kmod-sched: add act_police"
Kevin Darbyshire-Bryant [Tue, 14 Apr 2020 07:48:33 +0000 (08:48 +0100)]
Revert "kmod-sched: add act_police"

This reverts commit 1b973b54ea4d5d20dec5e71c48bff6a3e0bcb4ac.

It turns out act_police is included in the kmod-sched package so this
package turns out to be superfluous and causes file provision conflicts.

Ooooops!  Best revert it then.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agoramips: define image recipe for uncompressed uimage with loader
Chuanhong Guo [Tue, 14 Apr 2020 04:01:50 +0000 (12:01 +0800)]
ramips: define image recipe for uncompressed uimage with loader

Some devices have bootloaders with broken lzma code resulting in failed
decompression or corrupted kernel code.
This image recipe allows to sacrifice 5KB for OpenWrt LZMA loader and
take over the task of decompress kernel.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: define lzma loader platform in target
Chuanhong Guo [Tue, 14 Apr 2020 03:17:47 +0000 (11:17 +0800)]
ramips: define lzma loader platform in target

Loader platform is a per-soc variable instead of a per-device one.
Determine corresponding loader platform at the beginning of image
Makefile.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: add missing DEVICE_VARS for lzma-loader
Chuanhong Guo [Tue, 14 Apr 2020 03:00:03 +0000 (11:00 +0800)]
ramips: add missing DEVICE_VARS for lzma-loader

LOADER_TYPE is a per-device variable which should be included in
DEVICE_VARS.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoath79: enable m25p,fast-read for tplink,tl-wr1043-v1
Luiz Angelo Daros de Luca [Mon, 2 Mar 2020 22:08:30 +0000 (19:08 -0300)]
ath79: enable m25p,fast-read for tplink,tl-wr1043-v1

Enables spi-mem interface for 3x faster flash read.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
4 years agoath79: enable m25p,fast-read for tplink,tl-wr2543-v1
Luiz Angelo Daros de Luca [Fri, 28 Feb 2020 20:29:44 +0000 (17:29 -0300)]
ath79: enable m25p,fast-read for tplink,tl-wr2543-v1

Enables spi-mem interface usage. It speeds up flash read
in about 3x while it also workaround a possible hardware
bug when normal spi read is used.

Fixes: FS#2742
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
4 years agoath79: add read support using spi-mem
Luiz Angelo Daros de Luca [Tue, 11 Feb 2020 19:25:36 +0000 (16:25 -0300)]
ath79: add read support using spi-mem

Reimplements read optimization on top of spi-mem. Similar to
what 461-spi-ath79-add-fast-flash-read.patch used to do with
the dropped flash read interface.

It accelerate only fast-read op reading flash directly from
memory mapped region. 'm25p,fast-read' must be set in order
to use the new spi-mem.

It improved read speed up to 3x on old devices (tplink,tl-wr2543-v1)
while no speed improvement was noticed on newer devices like
(tplink,archer-c7-v2).

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
4 years agonetifd: fix jail ifdown and jails without jail_ifname
Daniel Golle [Mon, 13 Apr 2020 23:53:28 +0000 (00:53 +0100)]
netifd: fix jail ifdown and jails without jail_ifname

The previous commit introduced a regression for netns jails without
jail_ifname set. Fix that.

Fixes: 4e4f7c6d2d ("netifd: network namespace jail improvements")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agonetifd: network namespace jail improvements
Daniel Golle [Mon, 13 Apr 2020 23:20:42 +0000 (00:20 +0100)]
netifd: network namespace jail improvements

 aaaca2e interface: allocate and free memory for jail name
 d93126d interface: allow renaming interface when moving to jail netns

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agomac80211: adapt for single-instance wpad
Daniel Golle [Mon, 6 Apr 2020 23:00:11 +0000 (00:00 +0100)]
mac80211: adapt for single-instance wpad

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agohostapd: reduce to a single instance per service
Daniel Golle [Mon, 6 Apr 2020 22:58:40 +0000 (23:58 +0100)]
hostapd: reduce to a single instance per service

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agox86: add nforce eth to default packages
Alberto Bursi [Fri, 10 Apr 2020 20:45:19 +0000 (22:45 +0200)]
x86: add nforce eth to default packages

forcedeth is necessary to use the integrated
ethernet controller of Nvidia nForce chipset.

There are PC motherboards with this chipset
from 2001 that run 32bit Athlon XP CPUs and
more modern ones up to 2009 that can run Intel
and AMD 64bit processors, so add this to
all non-geode x86 targets.

Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
4 years agomvebu: drop armada-37xx PCI aardvark patches
Tomasz Maciej Nowak [Thu, 12 Mar 2020 18:03:34 +0000 (19:03 +0100)]
mvebu: drop armada-37xx PCI aardvark patches

These patches were necessarry for Atheros and some Intel WiFi cards.
After short testing, the current upstream driver state is enough for
these WiFi cards to work. If there are still some issues with other
devices, the patches could be easily restored.

Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
4 years agomvebu: refresh config
DENG Qingfang [Wed, 4 Mar 2020 12:46:33 +0000 (20:46 +0800)]
mvebu: refresh config

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: refresh patches
DENG Qingfang [Wed, 4 Mar 2020 12:46:28 +0000 (20:46 +0800)]
mvebu: refresh patches

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: set kernel testing version to 5.4
DENG Qingfang [Wed, 4 Mar 2020 12:46:23 +0000 (20:46 +0800)]
mvebu: set kernel testing version to 5.4

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: copy files and patches to 5.4
DENG Qingfang [Wed, 4 Mar 2020 12:46:10 +0000 (20:46 +0800)]
mvebu: copy files and patches to 5.4

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
4 years agomvebu: add support for Buffalo LinkStation LS421DE
Daniel González Cabanelas [Tue, 7 Apr 2020 12:35:26 +0000 (14:35 +0200)]
mvebu: add support for Buffalo LinkStation LS421DE

Buffalo LinkStation LS421DE is a dual bay NAS, based on Marvell Armada 370

Hardware:
   SoC:         Marvell Armada 88F6707-A1
   CPU:         Cortex-A9 1200 MHz, 1 core
   Flash:       SPI-NOR 1 MiB, NAND 512 MiB
   RAM:         DDR3 512 MiB
   Ethernet:    1x 10/100/1000 Mbps
   USB:         1x 2.0, 1x 3.0
   SATA:        2x 3.0 Gbps
   LEDs/Input : 5x / 2x (1x button, 1x slide-switch)
   RTC:         Ricoh RS5C372A, I2C, no battery

Flash instruction (UART+TFTP):
  1. Downgrade the OEM firmware to 1.34 version (BUFFALO_BOOTVER=0.13)
  2. Remove any hard drive from inside the bays.
  3. Boot the Openwrt initramfs image using the U-Boot serial console:
         tftpboot 0x1200000 buffalo_ls421de-initramfs-kernel.bin
         bootm 0x1200000
  4. Flash the sysupgrade image using the Openwrt console:
         sysupgrade -n buffalo_ls421de-squashfs-sysupgrade.bin
  5. Wait until it finish, the device will reboot with Openwrt installed
     on the NAND flash.

Note:
  - Device shuting down doesn't work, even if the power slide switch is
    used. We must first, via MDIO, set the unused LED2 at the ethernet
    phy0 to off state. Reboot works ok.

Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
4 years agotoolchain/gcc: remove uclibc hack
Rosen Penev [Wed, 25 Mar 2020 01:29:51 +0000 (18:29 -0700)]
toolchain/gcc: remove uclibc hack

This was introduced with 014d3b98b96872d020ffccf0358ba60967b3f1c0 , which
is almost 10 years old. uClibc-ng does not suffer from this problem.

Note that this hack prevents libstdc++ from using C++11 math functions.

Tested by removing all of the mpd patches designed to fix this and
compiling.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agoelfutils: update to 0.179
Rosen Penev [Mon, 6 Apr 2020 02:02:38 +0000 (19:02 -0700)]
elfutils: update to 0.179

Removed sys/cdefs usage. The header is deprecated.

Removed canonicalize_file_name define. It's already fixed upstream.

Added --disable-debuginfod. Seems to be needed.

Modified patch 005 to build more stuff. It was failing before. It still
only builds libraries.

Modified patch 100 to use strerror under non-glibc. It is used under
glibc as strerror is not thread safe. It is under musl and uClibc-ng.
strerror_l is not available under uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agohostapd: backport usleep patch
Rosen Penev [Tue, 7 Apr 2020 02:17:59 +0000 (19:17 -0700)]
hostapd: backport usleep patch

Optionally fixes compilation with uClibc-ng.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agokernel: remove non-existant symbols
Aleksander Jan Bajkowski [Tue, 18 Feb 2020 18:39:49 +0000 (19:39 +0100)]
kernel: remove non-existant symbols

These symbols exist only in older kernels and can be removed.

Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
4 years agowpa_supplicant: disable CONFIG_WRITE functionality
Kirill Lukonin [Tue, 24 Mar 2020 18:59:56 +0000 (23:59 +0500)]
wpa_supplicant: disable CONFIG_WRITE functionality

CONFIG_WRITE functionality is not used and could be removed.
Looks helpful for devices with small flash because wpad is also affected.

Little testing shows that about 6 KB could be saved.

Signed-off-by: Kirill Lukonin <klukonin@gmail.com>
4 years agomwlwifi: Update the 88W8964's firmware to 9.3.2.12 and fix backports version detection
Jose Olivera [Thu, 6 Feb 2020 16:06:31 +0000 (00:06 +0800)]
mwlwifi: Update the 88W8964's firmware to 9.3.2.12 and fix backports version detection

Updates the 88W8964 firmware used in the Linksys WRT3200ACM and WRT32X
[v9.3.2.6 -> v9.3.2.12]

Removes 0c43219 ("mwlwifi: Fix loading with backports v5.3")
as it has been merged upstream.

Unfortunately, there is a bug wherein Kaloz's repo, the version
detection mechanism for fixing vendor commands doesn't work.

It pulls in the Linux kernel version, which as of this time is
"4.14.y" or "4.19.y"

However, the proper behaviour is that it should pull in the mac80211
backports version which as of now is "5.4.27"

The included patch works around this using a backports define found
only on versions >5.3, "VENDOR_CMD_RAW_DATA".

Signed-off-by: Jose Olivera <oliverajeo@gmail.com>
4 years agokernel: hwmon: add dme1737 driver
Lucian Cristian [Thu, 2 Apr 2020 11:17:00 +0000 (14:17 +0300)]
kernel: hwmon: add dme1737 driver

SMSC DME1737, SCH3112, SCH3114, SCH3116, SCH5027 monitoring support

Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
4 years agoath79: fix USB port LED assignment for ZyXEL NBG6716
Adrian Schmutzler [Sun, 12 Apr 2020 19:57:41 +0000 (21:57 +0200)]
ath79: fix USB port LED assignment for ZyXEL NBG6716

The USB LED assignment to internal ports was swapped.

Fix it.

We also explicitly checked that the LED label numbers match those
on the device.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoath79: fix wmac initialization for Zyxel NBG6716
Guillaume Lefebvre [Fri, 20 Dec 2019 23:21:32 +0000 (00:21 +0100)]
ath79: fix wmac initialization for Zyxel NBG6716

2.4 GHz Wifi on ath79 is set up in 10-ath9k-eeprom, but in ar71xx
it was done with ath79_register_wmac.

Thus, the following errors are observed on the device:
ath: phy1: Unable to initialize hardware; initialization status: -5
ath9k 18100000.wmac: failed to initialize device
ath9k: probe of 18100000.wmac failed with error -5

This patch changes the ath79 support to properly use wmac as well.
This will also require fixing the MAC address in a different way.

Signed-off-by: Guillaume Lefebvre <guillaume@zelig.ch>
[several adjustments to 10-fix-wifi-mac, use correct MAC address,
rewrite commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agocypress-firmware: update to v5.4.18-2020_0402
Álvaro Fernández Rojas [Mon, 13 Apr 2020 08:14:48 +0000 (10:14 +0200)]
cypress-firmware: update to v5.4.18-2020_0402

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
4 years agoramips: fix whitespace in 990_NET-no-auto-carrier-support.patch
Chuanhong Guo [Mon, 13 Apr 2020 03:49:16 +0000 (11:49 +0800)]
ramips: fix whitespace in 990_NET-no-auto-carrier-support.patch

Fixes: 6fcba5eec3 ("ramips: port 0034-NET-multi-phy-support.patch to 5.4")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: ralink-eth: fix leftover dma dev argument
Chuanhong Guo [Mon, 13 Apr 2020 03:32:50 +0000 (11:32 +0800)]
ramips: ralink-eth: fix leftover dma dev argument

Fixes: 05dee5833a ("ramips: ralink-eth: fix device struct passed to dma functions")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agobase-files: don't ship local build key when on buildbot
Daniel Golle [Sun, 12 Apr 2020 19:28:49 +0000 (20:28 +0100)]
base-files: don't ship local build key when on buildbot

Including the local build key in /etc/opkg/keys isn't feasible when
building on the buildbot: The included key collides with its copy
already in openwrt-keyring which breaks the ImageBuilder.
Not including a locally generated key also makes the base-files package
more reproducible.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 years agobcm63xx: disable all devices with <= 4MiB flash and <= 32 MiB RAM
Jonas Gorski [Fri, 28 Feb 2020 11:00:29 +0000 (12:00 +0100)]
bcm63xx: disable all devices with <= 4MiB flash and <= 32 MiB RAM

Device with 4 MiB flash and 32 MiB RAM won't be able to run OpenWrt in
a sufficient manner without tweaks, so don't build images for them by
default.

This includes all BCM6338, BCM6345 and BCM6348 "generic" devices,
as there are no supported devices of these with more than that.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
4 years agoramips: replace pinctrl property names
Chuanhong Guo [Sun, 12 Apr 2020 12:58:29 +0000 (20:58 +0800)]
ramips: replace pinctrl property names

Upstream pinctrl driver in drivers/staging uses
groups/function/ralink,num-gpios instead of
ralink,group/ralink,function/ralink,nr-gpio
Replace these properties in dts as well as the pinctrl driver in
patches-4.14.
This commit is created using:
sed -i 's/ralink,group/groups/g'
sed -i 's/ralink,function/function/g'
sed -i 's/ralink,nr-gpio/ralink,num-gpios/g'

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: explicitly disable built-in switch when needed
Chuanhong Guo [Fri, 10 Apr 2020 04:32:42 +0000 (12:32 +0800)]
ramips: explicitly disable built-in switch when needed

previously we rely on the failsafe setup in preinit scripts to disable
built-in switch implicitly for single-port devices. This doesn't work
anymore due to preinit script removal.
this patch explicitly disable built-in switch for needed devices.

Fixes: a8d62a4eb1 ("ramips: remove set_preinit_iface script")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agobase-files: preinit: also config switch when no port roles defined
Chuanhong Guo [Fri, 10 Apr 2020 04:07:25 +0000 (12:07 +0800)]
base-files: preinit: also config switch when no port roles defined

current preinit code in base-files doesn't config switch when there are
no port roles defined. But this kind of configuration exists on single
port devices where switch vlan is simply disabled.
configure reset and enable_vlan property when a switch node exist.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: add 5.4 as testing kernel
Chuanhong Guo [Thu, 9 Apr 2020 12:59:27 +0000 (20:59 +0800)]
ramips: add 5.4 as testing kernel

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: mt76x8: switch to kernel 5.4
Chuanhong Guo [Thu, 9 Apr 2020 07:30:56 +0000 (15:30 +0800)]
ramips: mt76x8: switch to kernel 5.4

4.14 doesn't work anymore due to gpio dt binding changes. Switch mt76x8
to 5.4 directly.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: disable images for 4M devices
Chuanhong Guo [Thu, 9 Apr 2020 10:40:01 +0000 (18:40 +0800)]
ramips: disable images for 4M devices

default initramfs for 5.4 kernel is larger than 4M, causing build error
for oversized initramfs image.
disable these images because we have no mechanism for ignoring initramfs
errors and the squashfs image will be larger than initramfs anyway.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: ralink-eth: add support for 5.4 kernel
Chuanhong Guo [Thu, 9 Apr 2020 09:59:09 +0000 (17:59 +0800)]
ramips: ralink-eth: add support for 5.4 kernel

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: mt7628: update dts for upstream gpio-mt7621 driver
Chuanhong Guo [Thu, 9 Apr 2020 09:10:03 +0000 (17:10 +0800)]
ramips: mt7628: update dts for upstream gpio-mt7621 driver

upstream driver merged 3 separated gpio banks into one gpio node.
and gpioX Y in our local driver should be replaced with gpio X*32+Y.

This patch is created using the following sed command:
sed -i -r 's/(.*)gpio([0-9]) ([0-9]+)(.*)/echo "\1gpio $((\2*32+\3))\4"/ge'

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: refresh kernel config for 5.4
Chuanhong Guo [Thu, 9 Apr 2020 09:03:32 +0000 (17:03 +0800)]
ramips: refresh kernel config for 5.4

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: copy kernel config for 5.4
Chuanhong Guo [Thu, 9 Apr 2020 08:58:17 +0000 (16:58 +0800)]
ramips: copy kernel config for 5.4

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: port 0034-NET-multi-phy-support.patch to 5.4
Chuanhong Guo [Thu, 9 Apr 2020 07:50:21 +0000 (15:50 +0800)]
ramips: port 0034-NET-multi-phy-support.patch to 5.4

This hack is needed for old ethernet driver:
On mt7620, we have two exposed RGMII ports that connects to builtin
switch. However, swconfig has no way to interact with phy subsystem.
As a result, we have to register both PHYs to ethernet mac instead
and this patch prevents main ethernet interface from going down due
to phy link changes.
Also rename the patch for its actual purpose.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: ralink-eth: fix device struct passed to dma functions
Chuanhong Guo [Mon, 9 Sep 2019 06:52:39 +0000 (14:52 +0800)]
ramips: ralink-eth: fix device struct passed to dma functions

dma functions needs the struct from platform_device instead of
the one for ethernet interface.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: move and rename out-of-tree mtk eth driver
Chuanhong Guo [Thu, 9 Apr 2020 06:09:48 +0000 (14:09 +0800)]
ramips: move and rename out-of-tree mtk eth driver

move the driver into shared 'files' directory and rename all symbols
from mediatek/mtk to ralink.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: increase spi frequency for newifi d1/d2
Chuanhong Guo [Mon, 6 Apr 2020 11:07:27 +0000 (19:07 +0800)]
ramips: increase spi frequency for newifi d1/d2

increase spi frequency for both devices to 45MHz.
while at it, also remove m25p,fast-read for newifi d1 as it's only
needed when spi clock is higher than 50MHz.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agoramips: enable broken-flash-reset for some 32M flash boards
Chuanhong Guo [Mon, 6 Apr 2020 10:33:30 +0000 (18:33 +0800)]
ramips: enable broken-flash-reset for some 32M flash boards

These are boards known to start on 3-byte address mode, which requires
broken-flash-reset if 4B_OPCODES isn't supported by the flash.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agogeneric: spi-nor: rework broken-flash-reset
Chuanhong Guo [Mon, 6 Apr 2020 10:28:10 +0000 (18:28 +0800)]
generic: spi-nor: rework broken-flash-reset

Instead of resetting flash to 3B address on remove hook, this
implementation only enters 4B mode when needed, which prevents more
unexpected reboot stuck. This implementation makes it only break when
a kernel panic happens during flash operation on 16M+ areas.
Also silent broken-flash-reset warning. We are not dealing with vendors
and it's unpleasant for users to see that unnecessary and long WARN_ON
print.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
4 years agodnsmasq: bump to v2.81
Kevin Darbyshire-Bryant [Sun, 12 Apr 2020 07:55:26 +0000 (08:55 +0100)]
dnsmasq: bump to v2.81

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
4 years agobase-files: source functions.sh in /lib/functions/system.sh
Adrian Schmutzler [Fri, 13 Mar 2020 15:56:53 +0000 (16:56 +0100)]
base-files: source functions.sh in /lib/functions/system.sh

The file /lib/functions/system.sh depends on find_mtd_index() and
find_mtd_part() located in /lib/function.sh, so let's source that
file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobase-files: do not source system.sh in functions.sh
Adrian Schmutzler [Fri, 13 Mar 2020 15:05:43 +0000 (16:05 +0100)]
base-files: do not source system.sh in functions.sh

The default_postinst() function in /lib/functions.sh sources
/lib/functions/system.sh before cycling through uci-defaults files.

This creates a pseudo-cyclic dependency as system.sh also uses
functions that are located in functions.sh. Despite that, there
is actually only one uci-defaults file in the entire repo that needs
system.sh, and this one contains an explicit source for system.sh
anyway.

Consequently, this patch removes the sourcing of system.sh in
functions.sh. There are no relevant uses in packages, routing and
luci repositories.
This may require adjustments for downstream, though.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agocns3xx: remove support for kernel 4.14
Adrian Schmutzler [Wed, 1 Apr 2020 22:29:21 +0000 (00:29 +0200)]
cns3xx: remove support for kernel 4.14

This target has been on kernel 4.19 for nine months now [1], and
has had testing support for even longer [2].
This should be long enough to drop support for kernel 4.14.

[1] 545bfbc3a922 ("cns3xxx: switch to kernel 4.19")
[2] c6bebe1a9496 ("cns3xxx: add support for kernel 4.19")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agoramips: mt7621: tidy up names for Ubiquiti devices
Adrian Schmutzler [Tue, 7 Apr 2020 08:47:18 +0000 (10:47 +0200)]
ramips: mt7621: tidy up names for Ubiquiti devices

The "proper" vendor prefix for Ubiquiti is "ubnt", this is used in
all targets except ramips and also recommended by the kernel.

This patch adjusts the various board/image/device name variables
accordingly. Since we touch it anyway, this also adds the space
in "EdgeRouter X" as a hyphen to those variables to really make
them consistent with the model name.

While at it, create a real shared definition for the devices in
image/mt7621.mk instead of deriving one device from another.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: remove support for kernel 4.19
Adrian Schmutzler [Fri, 3 Apr 2020 19:06:20 +0000 (21:06 +0200)]
bcm63xx: remove support for kernel 4.19

Since stable kernel for this target is still 4.14, kernel 4.19
has never been used much (and actually was broken for some devices).

So, since we bump testing kernel to 5.4, there is no real need to
keep 4.19 and have an additional version to care about.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: use kernel 5.4 as testing kernel
Adrian Schmutzler [Fri, 3 Apr 2020 13:47:47 +0000 (15:47 +0200)]
bcm63xx: use kernel 5.4 as testing kernel

This uses 5.4 as testing kernel. Since 4.19 has not seen broad
testing yet, just keep 4.14 as stable kernel until 5.4 is ready.

Tested on Comtrend AR-5387un (Thanks to @Noltari).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: 5.4: fix compilation for changed driver_find_device
Adrian Schmutzler [Fri, 3 Apr 2020 18:53:56 +0000 (20:53 +0200)]
bcm63xx: 5.4: fix compilation for changed driver_find_device

In kernel patch 92ce7e83b4e5 ("driver_find_device: Unify the match
function with class_find_device()") the arguments of functions used
with driver_find_device are adjusted. Do the same for our local
user.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: 5.4: add removed helper syscon_regmap_lookup_by_pdevname
Adrian Schmutzler [Fri, 3 Apr 2020 18:21:20 +0000 (20:21 +0200)]
bcm63xx: 5.4: add removed helper syscon_regmap_lookup_by_pdevname

The helper syscon_regmap_lookup_by_pdevname has been removed in kernel patch
29d14b668d2f ("mfd: Remove unused helper syscon_regmap_lookup_by_pdevname")
due to lack of users.

However, we use this function in our local pinctrl drivers for BCM6358 and
BCM6368. Thus, we have to add it locally.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: prevent fall-through in kernel patches for 5.4
Adrian Schmutzler [Fri, 3 Apr 2020 15:48:43 +0000 (17:48 +0200)]
bcm63xx: prevent fall-through in kernel patches for 5.4

In kernel 5.4 -Werror=implicit-fallthrough is treated as error:

arch/mips/bcm63xx/cpu.c: In function 'detect_cpu_clock':
arch/mips/bcm63xx/cpu.c:158:2: error: this statement may fall through [-Werror=implicit-fallthrough=]
  {
  ^
arch/mips/bcm63xx/cpu.c:179:2: note: here
  case BCM6328_CPU_ID:
  ^~~~
cc1: all warnings being treated as errors

This can be fixed by adding "Fall through" as a comment where intended,
and has to be fixed by returning a proper default otherwise.

In case of the default clock frequency for BCM6318 we fixed this by
returning the default value taken from BCM6328 and BCM6362.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobroadcom-wl: fix compilation with kernel 5.4
Adrian Schmutzler [Fri, 3 Apr 2020 15:16:35 +0000 (17:16 +0200)]
broadcom-wl: fix compilation with kernel 5.4

This adds two fixes for compilation with kernel 5.4:

1. dev_open from include/linux/netdevice.h needs a second parameter
   since kernel 5.0:
   00f54e68924e ("net: core: dev: Add extack argument to dev_open()")
2. get_ds() macro definition has been dropped since kernel 5.1:
   736706bee329 ("get rid of legacy 'get_ds()' function")
   Since get_ds() has been just a macro before, replace it in
   the driver instead of creating a version switch.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: fix missing watchdog core dependency
Adrian Schmutzler [Fri, 3 Apr 2020 14:41:02 +0000 (16:41 +0200)]
bcm63xx: fix missing watchdog core dependency

This patch follows the other patches that added the watchdog
core to various (armvirt, malta, ath79, ...) targets that
have been hit by the following build error:

Package kmod-hwmon-sch5627 is missing dependencies for the following libraries:
watchdog.ko

In theory, we could have just added the CONFIG_WATCHDOG_CORE=y
to the Kconfig variable of kmod-hwmon-sch5627's package definition.
This would have forced the watchdog core to be builtin and less
architectures would need to be updated. But we might as well follow
through here.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: update config for kernel 5.4
Adrian Schmutzler [Fri, 3 Apr 2020 13:36:03 +0000 (15:36 +0200)]
bcm63xx: update config for kernel 5.4

Update config with make kernel_oldconfig.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: refresh patches for kernel 5.4
Adrian Schmutzler [Fri, 3 Apr 2020 13:28:10 +0000 (15:28 +0200)]
bcm63xx: refresh patches for kernel 5.4

Refresh patches to make them apply to kernel 5.4.

The removed patches have been merged upstream.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobcm63xx: copy files to kernel 5.4
Adrian Schmutzler [Fri, 3 Apr 2020 10:26:23 +0000 (12:26 +0200)]
bcm63xx: copy files to kernel 5.4

Copy config and patches to kernel 5.4.
make kernel_oldconfig has been run on 4.19 beforehand.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years agobroadcom-wl: fix compilation with kernel >= 4.15
Adrian Schmutzler [Thu, 2 Apr 2020 17:52:00 +0000 (19:52 +0200)]
broadcom-wl: fix compilation with kernel >= 4.15

Since kernel 4.15, init_timer is not available anymore, and has been
replaced by timer_setup. The fixes compilation of wl_linuc.c, which
returned the following errors beforehand (line-wrapped manually):

.../broadcom-wl-5.10.56.27.3/driver/wl_linux.c: In function 'wl_init_timer':
.../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2576:2: error: implicit
declaration of function 'init_timer'; did you mean 'init_timers'?
[-Werror=implicit-function-declaration]
  init_timer(&t->timer);
  ^~~~~~~~~~
  init_timers
.../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2577:10: error:
'struct timer_list' has no member named 'data'
  t->timer.data = (ulong) t;
          ^
.../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2578:20: error: assignment
to 'void (*)(struct timer_list *)' from incompatible pointer type
'void (*)(ulong)' {aka 'void (*)(long unsigned int)'}
[-Werror=incompatible-pointer-types]
  t->timer.function = wl_timer;

This should fix build of several devices on bcm63xx with testing
kernel (4.19).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>