openwrt/staging/robimarko.git
5 years agoipq40xx: Add 4.19 kernel config
Robert Marko [Sun, 16 Dec 2018 22:04:50 +0000 (23:04 +0100)]
ipq40xx: Add 4.19 kernel config

This adds the neccessary 4.19 kernel config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoipq40xx: Add patches for 4.19
Robert Marko [Mon, 17 Dec 2018 09:39:09 +0000 (10:39 +0100)]
ipq40xx: Add patches for 4.19

This adds the necessary patches for 4.19 kernel.
Upstreamed patches were dropped, backported upstreamed patches
from 4.20.
Drop Winbond ID patch since that NAND IC was upstreamed to use
SPI-NAND framework and support for it was backported from 4.20.
Rework ESSEDMA patches to compile under 4.19 due to timer changes,
Clément Péron did the hard work and his changes were taken from the
initial 4.19 PR.
MR33 changes had to be manually refreshed to apply.
Refresh other patches to apply.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Remove

5 years agoipq40xx: Add files for 4.19
Robert Marko [Tue, 18 Dec 2018 11:47:57 +0000 (12:47 +0100)]
ipq40xx: Add files for 4.19

This copies over files from 4.14

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoath79: add support for devolo WiFi pro 1750c
David Bauer [Thu, 27 Dec 2018 01:32:39 +0000 (02:32 +0100)]
ath79: add support for devolo WiFi pro 1750c

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
WiFi2: QCA9558 3T3R
WiFi5: QCA9880 3T3R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

There is also a Micro-B USB-port present but this only seems to be a
dummy as the circuit next to it is not present (at least in my unit).

It is also not mentioned in the devolo manual.

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for devolo WiFi pro 1200e
David Bauer [Thu, 27 Dec 2018 01:32:38 +0000 (02:32 +0100)]
ath79: add support for devolo WiFi pro 1200e

Hardware
--------
CPU:   Qualcomm Atheros QCA9558
RAM:   128M DDR2
FLASH: 16MiB
ETH:   1x Atheros AR8035 (PoE in)
       1x Atheros AR8033
WiFi2: QCA9558 2T2R
WiFi5: QCA9880 2T2R
BTN:   1x Reset
LED:   1x LED blue
       1x LED red
BEEP:  1x GPIO attached piezo beeper
UART:  3.3V GND TX RX (115200-N-8) (3.3V is square pad)
       Header is located next to reset-button

Installation
------------
Make sure you set a password for the root user as prompted on first
setup!

1. Upload OpenWRT sysupgrade image via SSH to the device.
Use /tmp as the destination folder on the device.
User is root, password the one set in the web interface.

2. Install OpenWRT with

> sysupgrade -n -F /tmp/<openwrt-image-name>

Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoath79: add support for TP-Link Archer C7 v5
TOCK Chiu [Mon, 24 Dec 2018 02:36:59 +0000 (10:36 +0800)]
ath79: add support for TP-Link Archer C7 v5

This commit adds support for TP-Link Archer C7 v5, leveraging most effort
from commit ea9baee and 1e4ee63. Archer C7 v5 is identical to Archer A7 v5
but with a different flash layout.

Specification:
-   QCA9563 SoC (750 MHz)
-   128 MiB of RAM (DDR2)
-   16 MiB of flash (SPI)
-   5x 1 Gbps Ethernet (1x WAN + 4x LAN)
-   2.4GHz (bgn) SoC internal + 5GHz (ac) QCA9880
-   10x LED, 2x button
-   UART header on PCB

Flash instructions:
1.  Upload openwrt-ath79-generic-tplink_archer-c7-v5-squashfs-factory.bin
    via web interface.

Flash instructions using TFTP recovery:
1.  Plug PC to one of the LAN ports
2.  Set PC to fixed IP address 192.168.0.66
3.  Rename the factory image to ArcherC7v5_tp_recovery.bin and place it in
    TFTP root directory
4.  Turn on the router with the reset button pressed for about 15 secs
5.  Release the button and wait about 150 secs to complete flashing

Signed-off-by: TOCK Chiu <tock.chiu@gmail.com>
5 years agobrcm2708: Add feature flag rootfs-part
Daniel F. Dickinson [Thu, 27 Dec 2018 03:33:57 +0000 (22:33 -0500)]
brcm2708: Add feature flag rootfs-part

Even with squashfs brcm2708 requires ROOTFS_PART_SIZE because the overlay
exists as a loopback device on the space not used by squashfs in the root
partition. Also for ext4 (the other fs option) ROOTFS_PART_SIZE is required,
so use feature flag rootfs-part to enable it.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoapm821xx: sata: set rootfs-part feature flag
Christian Lamparter [Sat, 15 Dec 2018 15:56:14 +0000 (16:56 +0100)]
apm821xx: sata: set rootfs-part feature flag

The rootfs-part feature flag ensures that
CONFIG_ROOTFS_PART_SIZE symbol will be present
at all times.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agotools/e2fsprogs: Update to 1.44.5
Daniel Engberg [Mon, 24 Dec 2018 10:46:24 +0000 (11:46 +0100)]
tools/e2fsprogs: Update to 1.44.5

Update e2fsprogs to 1.44.5

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agobcm53xx: update 4.19 config
Rafał Miłecki [Thu, 27 Dec 2018 07:14:14 +0000 (08:14 +0100)]
bcm53xx: update 4.19 config

There were 3 new symbols possible to choose: ARCH_BCM_HR2, PCI_V3_SEMI
and PHY_BCM_SR_PCIE.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: add support for the kernel 4.19
Rafał Miłecki [Thu, 27 Dec 2018 06:58:48 +0000 (07:58 +0100)]
bcm53xx: add support for the kernel 4.19

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: backport DTS changes queued for the 4.21
Rafał Miłecki [Thu, 27 Dec 2018 06:25:40 +0000 (07:25 +0100)]
bcm53xx: backport DTS changes queued for the 4.21

It just replaces some downstream patches & adds relicensing work.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agobcm53xx: rename dts backport patches changing their prefixes
Rafał Miłecki [Thu, 27 Dec 2018 06:01:38 +0000 (07:01 +0100)]
bcm53xx: rename dts backport patches changing their prefixes

Start 03x with 030 instead of 035. It's a trivial change that adds more
place for further backports in the 03x space.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agokernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19
Hauke Mehrtens [Tue, 18 Dec 2018 17:44:50 +0000 (18:44 +0100)]
kernel: Fix KERNEL_STACKPROTECTOR on kernel 4.19

The configuration option was renamed with kernel 4.19 from
CONFIG_CC_STACKPROTECTOR to CONFIG_STACKPROTECTOR adapt the code to set
both options.

CONFIG_STACKPROTECTOR now sets the regular stack protector and
CONFIG_STACKPROTECTOR_STRONG activates the additional protection of more
functions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: Add compiler options to generic configuration
Hauke Mehrtens [Wed, 19 Dec 2018 11:05:28 +0000 (12:05 +0100)]
kernel: Add compiler options to generic configuration

With kernel 4.19 new configuration options for the compiler were added.
These are automatically selected and set, instead of having them in each
target configuration, put them into the generic configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agokernel: Deactivate CONFIG_COMPAT_BRK
Hauke Mehrtens [Tue, 18 Dec 2018 17:43:06 +0000 (18:43 +0100)]
kernel: Deactivate CONFIG_COMPAT_BRK

CONFIG_COMPAT_BRK disables the heap randomization which is only needed
for very old and ancient user space applications, I am not aware that we
run any of these, just deactivate this option for these targets to allow
heap randomization.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
5 years agobcm53xx: update pinctrl driver & use its new DT binding
Rafał Miłecki [Tue, 25 Dec 2018 14:51:33 +0000 (15:51 +0100)]
bcm53xx: update pinctrl driver & use its new DT binding

Driver has been updated upstream to support more precise DT binding and
avoid mapping conflicts between pinctrl and USB 2.0 PHY.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agokernel: MIPS: math-emu Write-protect delay slot emulation pages
Kevin Darbyshire-Bryant [Fri, 21 Dec 2018 15:18:39 +0000 (15:18 +0000)]
kernel: MIPS: math-emu Write-protect delay slot emulation pages

Backport https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=adcc81f148d733b7e8e641300c5590a2cdc13bf3

"Mapping the delay slot emulation page as both writeable & executable
presents a security risk, in that if an exploit can write to & jump into
the page then it can be used as an easy way to execute arbitrary code.

Prevent this by mapping the page read-only for userland, and using
access_process_vm() with the FOLL_FORCE flag to write to it from
mips_dsemul().

This will likely be less efficient due to copy_to_user_page() performing
cache maintenance on a whole page, rather than a single line as in the
previous use of flush_cache_sigtramp(). However this delay slot
emulation code ought not to be running in any performance critical paths
anyway so this isn't really a problem, and we can probably do better in
copy_to_user_page() anyway in future.

A major advantage of this approach is that the fix is small & simple to
backport to stable kernels.

Reported-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: 432c6bacbd0c ("MIPS: Use per-mm page to execute branch delay slot instructions")"
Without patch:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1823       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1823       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1823       /bin/busybox
77ec8000-77eed000 r-xp 00000000 1f:03 2296       /lib/libgcc_s.so.1
77eed000-77eee000 rwxp 00015000 1f:03 2296       /lib/libgcc_s.so.1
77eee000-77f81000 r-xp 00000000 1f:03 2470       /lib/libc.so
77f90000-77f92000 rwxp 00092000 1f:03 2470       /lib/libc.so
77f92000-77f94000 rwxp 00000000 00:00 0
7f946000-7f967000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 rwxp 00000000 00:00 0
7ffac000-7ffad000 r--p 00000000 00:00 0          [vvar]
7ffad000-7ffae000 r-xp 00000000 00:00 0          [vdso]

Patch applied:

cat /proc/self/maps
00400000-0047a000 r-xp 00000000 1f:03 1825       /bin/busybox
00489000-0048a000 r-xp 00079000 1f:03 1825       /bin/busybox
0048a000-0048b000 rwxp 0007a000 1f:03 1825       /bin/busybox
77ed0000-77ef5000 r-xp 00000000 1f:03 2298       /lib/libgcc_s.so.1
77ef5000-77ef6000 rwxp 00015000 1f:03 2298       /lib/libgcc_s.so.1
77ef6000-77f89000 r-xp 00000000 1f:03 2474       /lib/libc.so
77f98000-77f9a000 rwxp 00092000 1f:03 2474       /lib/libc.so
77f9a000-77f9c000 rwxp 00000000 00:00 0
7fbed000-7fc0e000 rw-p 00000000 00:00 0          [stack]
7fefb000-7fefc000 r-xp 00000000 00:00 0
7fff6000-7fff7000 r--p 00000000 00:00 0          [vvar]
7fff7000-7fff8000 r-xp 00000000 00:00 0          [vdso]

Note lack of write permission to 7fefb000-7fefc000

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoath79: fix pinmux reg size for QCA955x
Christian Lamparter [Mon, 24 Dec 2018 16:44:03 +0000 (17:44 +0100)]
ath79: fix pinmux reg size for QCA955x

The range of pinmux reg property "<0x1804002c 0x40>" for QCA955x
SoC does not includes GPIO_FUNCTION register.

Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath10k-ct: Update to 2018-12-20
Robert Marko [Fri, 21 Dec 2018 10:26:02 +0000 (11:26 +0100)]
ath10k-ct: Update to 2018-12-20

This version removes a lot of unusefull warnings that would quickly overflow the dmesg.
Warnings like this:
ath10k_ahb a800000.wifi: Invalid legacy rate 26 peer stats
ath10k_ahb a000000.wifi: Invalid VHT mcs 15 peer stats
On this version I only had 2 warnings at all.
Tested on 8devices Jalapeno.

Signed-off-by: Robert Marko <robimarko@gmail.com>
5 years agoath79: add support for NEC Aterm WG800HP
INAGAKI Hiroshi [Sat, 8 Dec 2018 06:18:17 +0000 (15:18 +0900)]
ath79: add support for NEC Aterm WG800HP

NEC Aterm WG800HP is a 2.4/5 GHz band 11ac router, based on Qualcomm
Atheros QCA9563.

Specification:

- Qualcomm Atheros QCA9563
- 64 MB of RAM (DDR2)
- 8 MB of Flash (SPI-NOR)
- 2.4/5 GHz wifi
  - 2.4 GHz: 2T2R (SoC internal)
  - 5 GHz: 1T1R (QCA9887)
- 4x 10/100/1000 Mbps Ethernet
- 8x LEDs, 3x keys (2x buttons, 1x slide-switch)
- UART through-hole on PCB (J2)
  - Vcc, GND, NC, TX, RX from SoC side
  - 115200n8

Flash instruction using factory image:

1. Connect the computer to the LAN port on WG800HP
2. Connect power cable to WG800HP and turn on it
3. Access to "http://192.168.10.1/" and open firmware update page
("ファームウェア更新")
4. Select the OpenWrt factory image and click update ("更新") button
5. Wait ~150 seconds to complete flashing

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agobuild: move xor-image into image-commands
INAGAKI Hiroshi [Wed, 12 Dec 2018 12:12:27 +0000 (21:12 +0900)]
build: move xor-image into image-commands

I moved xor-image into image-commands.mk to use it in ath79 target.

It required for NEC WG800HP.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agofirmware-utils: add hex pattern mode for xorimage
INAGAKI Hiroshi [Sat, 8 Dec 2018 06:07:52 +0000 (15:07 +0900)]
firmware-utils: add hex pattern mode for xorimage

This commit adds "hex pattern mode" to xorimage. This mode allows xor
with a hexadecimal pattern that cannot be expressed with ASCII
charactors.

usage (example):
  xorimage -i firmware.bin -o firmware.bin.new -p 6A57190601121E4C -x

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (fix checkpatch)
5 years agoath79: fix pinmux reg value for QCA956x
INAGAKI Hiroshi [Sat, 8 Dec 2018 05:52:42 +0000 (14:52 +0900)]
ath79: fix pinmux reg value for QCA956x

The range of pinmux reg property "<0x1804002c 0x40>" for QCA956x SoC
does not includes GPIO_FUNCTION register.

If the device uses "&jtag_disable_pins", this causes the following
errors:

[    1.982937] pinctrl-single 1804002c.pinmux: mux offset out of range: 0x40 (0x40)
[    1.990622] pinctrl-single 1804002c.pinmux: could not add functions for pinmux_jtag_disable_pins 64x

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agokernel: Add missing symbols to 4.19
Christian Lamparter [Sat, 22 Dec 2018 17:23:41 +0000 (18:23 +0100)]
kernel: Add missing symbols to 4.19

Tested with apm82181 and ipq40xx minimal image versions.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agotools/mtools: Update to 4.0.23
Daniel Engberg [Sat, 22 Dec 2018 21:20:13 +0000 (22:20 +0100)]
tools/mtools: Update to 4.0.23

Update mtools to 4.0.23
Drop patch, workaround in upstream

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agokernel: bump 4.14 to 4.14.90
Kevin Darbyshire-Bryant [Sun, 23 Dec 2018 16:16:17 +0000 (16:16 +0000)]
kernel: bump 4.14 to 4.14.90

Refresh all patches

Remove upstream patch:
backport-4.14/424-v4.20-net-dsa-fix-88e6060-roaming.patch

Minor tweak to generic/hack-4.14/902-debloat_proc.patch to cleanly apply
after upstream changes.

Tested-on: ath79

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agowireguard: Update to snapshot 0.0.20181218
Daniel Engberg [Mon, 24 Dec 2018 09:35:44 +0000 (10:35 +0100)]
wireguard: Update to snapshot 0.0.20181218

Update WireGuard to 0.0.20181218

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
5 years agocurl: bump to 7.63.0
Deng Qingfang [Mon, 24 Dec 2018 07:53:46 +0000 (15:53 +0800)]
curl: bump to 7.63.0

Refresh patches, for changes in version 7.63.0 see https://curl.haxx.se/changes.html#7_63_0

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
5 years agoipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGES
Christian Lamparter [Fri, 21 Dec 2018 18:06:49 +0000 (19:06 +0100)]
ipq40xx: NBG6617: add usb-ledtrig-usbport to DEVICE_PACKAGES

The ZyXEL NBG6617 USB LED was not working with the default images.
It turned out that kmod-usb-ledtrig-usbport was missing from the
default installation.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoapm821xx: switch MX60(W)'s recovery images to multi-image method
Christian Lamparter [Tue, 9 Oct 2018 17:38:29 +0000 (19:38 +0200)]
apm821xx: switch MX60(W)'s recovery images to multi-image method

In the past, the MX60(W)'s recovery images always had problems
with the size restriction and never really worked without manual
intervention. But starting with 4.19, the MX60(W)'s kernel image
outgrew the allocated space for sysupgrade images as well. Hence
This patch reworks the initramfs, which allows the device to ease
up on the impossible tight kernel size requirements for the
sysupgrade creation and packaging. And as a result, the now
orphaned special ramdisk setup is removed in the process.

This new initramfs can be loaded through the MX60(W) U-boot
in the following way:

=> setenv bootargs console=ttyS0,$baudrate
=> tftpboot $meraki_loadaddr meraki_mx60-initramfs-kernel.bin
   [...]
   Load address: 0x800000
    Loading: ################################################ [...]
    done
   [...]

=> bootm $fileaddr
   \## Booting kernel from Legacy Image at 00800000 ...
    ...

Updated Flashing instructions for new installations which integrates
the new recovery method. Users of existing installations that only
want to sysupgrade don't need to update their existing u-boot env.

=> setenv owrt_load1 ubi read \${meraki_loadaddr} kernel
=> setenv owrt_load2 ubi read \${meraki_loadaddr} recovery
=> setenv lede_bootkernel bootm \${meraki_loadaddr_kernel} - \${meraki_loadaddr_fdt}
=> setenv owrt_bootkernel bootm \${meraki_loadaddr}
=> setenv owrt_bootargs setenv bootargs console=ttyS0,\${baudrate} rootfstype=squashfs mtdoops.mtddev=oops
=> setenv owrt_boot run meraki_ubi owrt_bootargs\; run owrt_load1 meraki_checkpart lede_bootkernel\; run owrt_load2 owrt_bootkernel
=> setenv bootcmd run owrt_boot
=> saveenv

For more information and the latest flashing guide:
please visit the OpenWrt Wiki Page for the MR60:
<https://openwrt.org/toh/meraki/mx60#flashing>

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath9k: Avoid OF no-eeprom quirks when no qca,no-eeprom
Daniel F. Dickinson [Mon, 17 Dec 2018 05:18:30 +0000 (00:18 -0500)]
ath9k: Avoid OF no-eeprom quirks when no qca,no-eeprom

Based on the process of discovery in
https://github.com/openwrt/openwrt/pull/1613, it has become clear
that (at least) the PowerCloud System CR5000 was unable to get
working 5GHz wireless (PCIe) because AH_USE_EEPROM was unconditionally
masked out, not only when qca,noeeprom was in the DTS.

This patch moves mask AH_USE_EEPROM into the if ... qca,noeeprom
OF test.

Thanks to Christian Lampartar (@chunkeey) for the heavy lifting and help.

Patch has been prepared for upstream and will be submitted after review
by @chunkeey and @xdarklight.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoodhcpd: use PKG_VERSION default value
Hans Dedecker [Thu, 20 Dec 2018 21:37:57 +0000 (22:37 +0100)]
odhcpd: use PKG_VERSION default value

Instrad of defining PKG_VERSION in the Makefile use the PKG_VERSION
default value

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoipq40xx: disable kernel-padding for DNI image
David Bauer [Thu, 20 Dec 2018 21:55:13 +0000 (22:55 +0100)]
ipq40xx: disable kernel-padding for DNI image

This commit removes the fixed kernel size-padding for the Netgear
DNI image creation as it is not necessary for a working image.

The fake rootfs still needs to be padded to the blocksize.

Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
5 years agoipq40xx: fix pcie wifi unit-address of the MR33 and A62
Christian Lamparter [Tue, 18 Dec 2018 23:46:48 +0000 (00:46 +0100)]
ipq40xx: fix pcie wifi unit-address of the MR33 and A62

The unit address should be wifi@1,0 since the device is located
at 0000:01:00.0.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoelfutils: fix gcc 8.0+ multistatement macros warning/error
Christian Lamparter [Thu, 20 Dec 2018 17:07:40 +0000 (18:07 +0100)]
elfutils: fix gcc 8.0+ multistatement macros warning/error

GCC 8.0+ <https://gcc.gnu.org/gcc-8/changes.html> introduces a new
warning about unsafe macros expanding to multiple statements used
as a body of a statement such as if, else, while, switch, or for.

In combination with -Werror this can cause the compilation to fail:

|In file included from xmalloc.c:37:
|xmalloc.c: In function 'xmalloc':
|system.h:39:2: error: macro expands to multiple statements [-Werror=multistatement-macros]
|  fflush(stdout); \
|  ^~~~~~
|xmalloc.c:52:5: note: in expansion of macro 'error'
|     error (EXIT_FAILURE, 0, _("memory exhausted"));
|     ^~~~~
|xmalloc.c:51:3: note: some parts of macro expansion are not guarded by this 'if' clause
|   if (p == NULL)
|   ^~

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoar71xx: Fix PowerCloud CR5000 5GHz wifi mac
Daniel F. Dickinson [Mon, 17 Dec 2018 05:25:03 +0000 (00:25 -0500)]
ar71xx: Fix PowerCloud CR5000 5GHz wifi mac

Without this patch PowerCloud CR5000 AR9382 PCIe 5GHz Wifi uses
the mac address from eeprom instead the one specified when
initializing the PCIe chip.  There were two issues:

1) ap94_pci_init on the second PCIe wmac is wrong as there is only one
PCIe wmac on this device (the other wmac is the AR1022/AR9342 SoC wmac).
2) Without specifying pdata->use_eeprom there is a failure to load
firmware and caldata.

Thanks to Christian Lamparter (@chunkeey) for the heavy lifting and
help. [0]

[0] <https://github.com/openwrt/openwrt/pull/1613>

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
5 years agoodhcpd: add PKG_VERSION again
Hans Dedecker [Thu, 20 Dec 2018 15:47:46 +0000 (16:47 +0100)]
odhcpd: add PKG_VERSION again

Fixes commit 63d0752ca8603886d8733ba888f49fc3b42c74fd

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agoodhcpd: update to latest git HEAD
Hans Dedecker [Thu, 20 Dec 2018 14:33:29 +0000 (15:33 +0100)]
odhcpd: update to latest git HEAD

2d2a3b8 odhcpd: switch to libubox container_of implementation
2a71c1e treewide: switch to libubox ARRAY_SIZE immplementation

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agomac80211: backport upstream fixes
Koen Vandeputte [Wed, 19 Dec 2018 10:31:40 +0000 (11:31 +0100)]
mac80211: backport upstream fixes

d350a0f43118 nl80211: fix memory leak if validate_pae_over_nl80211() fails
a50e5fb8db83 mac80211: fix a kernel panic when TXing after TXQ teardown

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agomwlwifi: update to version 10.3.8.0-20181210
Jo-Philipp Wich [Thu, 20 Dec 2018 10:33:04 +0000 (11:33 +0100)]
mwlwifi: update to version 10.3.8.0-20181210

67ce93e Fix compile error on kernel 4.15+
c1345bb Change driver version to 10.3.8.0-20181210.
9cb815b Upgrade 88W8997 firmware to 8.4.4.6.
433fc6d Fix non-backport use of nla_parse before 4.12.0
3b36e21 Use wiphy_to_ieee80211_hw() instead of wiphy_priv()
97ebcfa Change driver version to 10.3.8.0-20181120.
f000953 Upgrade 88W8997 firmware to 8.4.4.4.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agokernel: drop MIPS fix cache flushing for highmem pages
Kevin Darbyshire-Bryant [Sun, 4 Nov 2018 20:25:46 +0000 (20:25 +0000)]
kernel: drop MIPS fix cache flushing for highmem pages

This patch, in a variety of forms, has been around since beginning 2016
as e756c2bb07, ending up in present form 0aa6c7df60 (kernel 4.4.13 bump)
and carried forward ever since.

There have been a number of MIPS kernel memory handling changes since,
including VDSO fixes that meant openwrt patches have been dropped with
no apparent fallout.

Simple tests (ntfs-3g) on a HIGHMEM 512MB mt7621 device have not turned
up data corruption issues which would otherwise be expected.  Similarly
running on other MIPS based devices for the past 2 months hasn't turned
up anything obvious to retain this out of tree patch.

With thanks to Rosen Penev for testing on the known 'highmem' device and
Felix Fietkau for testing advice.  Not putting acked-by as it's my fault
if it breaks :-)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoath10k-firmware: update Candela Tech firmware images
Jo-Philipp Wich [Thu, 20 Dec 2018 08:05:06 +0000 (09:05 +0100)]
ath10k-firmware: update Candela Tech firmware images

 - Removed an assert from wave-1 firmware images
 - Fix three recently reported firmware crashes in wave-2 images

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoiproute2: require nls infrastructure due to libelf linking
Jo-Philipp Wich [Thu, 20 Dec 2018 07:08:43 +0000 (08:08 +0100)]
iproute2: require nls infrastructure due to libelf linking

Depending on the global nls support configuration in the buildroot, the
linked libelf.so library might depend on libintl.so.

Import the nls.mk helper to set library prefixes and flags accordingly
in this case.

Ref: https://github.com/openwrt/packages/issues/7728#issuecomment-448760140
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoelfutils: produce correct libelf.pc file when building with full nls
Jo-Philipp Wich [Thu, 20 Dec 2018 07:04:46 +0000 (08:04 +0100)]
elfutils: produce correct libelf.pc file when building with full nls

When building with full lagnuage support, libelf.so will depend on and
link with libintl.so so we need to change the pkg-config template to
reflect this library dependency.

Also change the Makefile to only pass --disable-nls to configure when
the full nls support is actually disabled in the buildroot config.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agotools: Update endian definitions for Mac OSX
Kevin Darbyshire-Bryant [Tue, 18 Dec 2018 11:08:28 +0000 (11:08 +0000)]
tools: Update endian definitions for Mac OSX

  - it appears (at least from OS X verison 10.10, Yosemite) that the
    big and little endian defintions have changed.

    the older

       #include <sys/_endian.h>
       #include <architecture/byte_order.h>

    reference yielded the following warning:

         #define __bswap_16(x)      NXSwapShort(x)
                                    ^
       /usr/include/architecture/byte_order.h:45:1: note: 'NXSwapShort' has been explicitly marked deprecated here

    For the new OS X editions, it seems that we need to refer to:

      #include <netinet/in.h>
      #include <libkern/OSByteOrder.h>

    and respectively use 'OSSwapInt16', 'OSSwapInt32', & 'OSSwapInt64', in
    place of 'NXSwapShort', 'NXSwapLong' & 'NXSwapLongLong'.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoscripts: rstrip.sh: allow rpath with sole $ORIGIN token
Yorkie Liu [Mon, 10 Dec 2018 09:35:32 +0000 (17:35 +0800)]
scripts: rstrip.sh: allow rpath with sole $ORIGIN token

2efe776 introduces rpath checks with the commit message:

> Remove all rpath entries which do not point to a location below /lib or
> /usr/lib and which do not begin with '$ORIGIN'.

However the implementation failed to support rpath entries with only the
'$ORIGIN' token and no trailing slash, so allow these as well.

Signed-off-by: Yorkie Liu <yazhong.liu@rokid.com>
[reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoiproute2: only link libelf where needed
Jo-Philipp Wich [Wed, 19 Dec 2018 08:50:05 +0000 (09:50 +0100)]
iproute2: only link libelf where needed

The iproute2 build system links libelf support to every utility while only
the tc program actually requires libelf specific functionality.

Unfortunately the BPF ELF functionality is not confined into an own
compilation unit but added to the existing bpf.c sources of the shared
static libutil.a, causing every iproute2 applet to pick up an implicit
libelf.so dependency.

In order to avoid this requirement, patch the iproute2 build system to
create both a libutil.a and a libutil-elf.a, with the former being built
without libelf functionality and to only link the tc applet with the libelf
enabled libutil.

Finally, make the tc package depend on libelf to solve compilation errors.

Ref: https://github.com/openwrt/packages/issues/7728
Fixes: FS#2011
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoelfutils: install library files for pkg-config
Tony Ambardar [Sat, 24 Nov 2018 00:40:24 +0000 (16:40 -0800)]
elfutils: install library files for pkg-config

Support other packages using pkg-config to query existence and details of
libelf and libdw libraries at build time.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
5 years agobase-files: install missing /etc/iproute2/ematch_map
Tony Ambardar [Wed, 21 Nov 2018 13:03:12 +0000 (05:03 -0800)]
base-files: install missing /etc/iproute2/ematch_map

This file is needed to properly use the tc ematch modules present in
kmod-sched-core and kmod-sched. It is a read-only index file of ematch
methods used only by tc.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
5 years agobrcm2708: switch to kernel 4.14
Stijn Tintel [Thu, 6 Dec 2018 22:33:59 +0000 (00:33 +0200)]
brcm2708: switch to kernel 4.14

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kernel 4.14 support
Stijn Tintel [Sat, 10 Nov 2018 11:03:18 +0000 (13:03 +0200)]
brcm2708: add kernel 4.14 support

Patch generation process:
- rebase rpi/rpi-4.14.y on v4.14.89 from linux-stable
- git format-patch v4.14.89

Patches skipped during rebase:
- lan78xx: Read MAC address from DT if present
- lan78xx: Enable LEDs and auto-negotiation
- Revert "softirq: Let ksoftirqd do its job"
- sc16is7xx: Fix for multi-channel stall
- lan78xx: Ignore DT MAC address if already valid
- lan78xx: Simple patch to prevent some crashes
- tcp_write_queue_purge clears all the SKBs in the write queue
- Revert "lan78xx: Simple patch to prevent some crashes"
- lan78xx: Connect phy early
- Arm: mm: ftrace: Only set text back to ro after kernel has been marked ro
- Revert "Revert "softirq: Let ksoftirqd do its job""
- ASoC: cs4265: SOC_SINGLE register value error fix
- Revert "ASoC: cs4265: SOC_SINGLE register value error fix"
- Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"
- Revert "Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends""

Patches dropped after rebase:
- net: Add non-mainline source for rtl8192cu wlan
- net: Fix rtl8192cu build errors on other platforms
- brcm: adds support for BCM43341 wifi
- brcmfmac: Mute expected startup 'errors'
- ARM64: Fix build break for RTL8187/RTL8192CU wifi
- ARM64: Enable RTL8187/RTL8192CU wifi in build config
- This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator
- brcmfmac: add CLM download support
- brcmfmac: request_firmware_direct is quieter
- Sets the BCDC priority to constant 0
- brcmfmac: Disable ARP offloading when promiscuous
- brcmfmac: Avoid possible out-of-bounds read
- brcmfmac: Delete redundant length check
- net: rtl8192cu: Normalize indentation
- net: rtl8192cu: Fix implicit fallthrough warnings
- Revert "Sets the BCDC priority to constant 0"
- media: cxd2880: Bump to match 4.18.y version
- media: cxd2880-spi: Bump to match 4.18.y version
- Revert "mm: alloc_contig: re-allow CMA to compact FS pages"
- Revert "Revert "mm: alloc_contig: re-allow CMA to compact FS pages""
- cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
  MEDIA_SUBDRV_AUTOSELECT
- 950-0421-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch
- 950-0453-Add-hid-bigbenff-to-list-of-have_special_driver-for-.patch

Make I2C built-in instead of modular as in upstream defconfig; also the
easiest way to get MFD_ARIZONA enabled, which is required by
kmod-sound-soc-rpi-cirrus.
Add missing compatible strings from
4.9/960-add-rasbperrypi-compatible.patch, using upstream names for
compute modules.
Add extra patch to enable the LEDs on lan78xx.

Compile-tested: bcm2708, bcm2709, bcm2710 (with CONFIG_ALL_KMODS=y)
Runtime-tested: bcm2708, bcm2710

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-3dlab-nano-player
Stijn Tintel [Thu, 6 Dec 2018 22:13:01 +0000 (00:13 +0200)]
brcm2708: add kmod-sound-soc-3dlab-nano-player

Add kernel module for 3Dlab Nano Player support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-rpi-cirrus
Stijn Tintel [Thu, 6 Dec 2018 20:57:02 +0000 (22:57 +0200)]
brcm2708: add kmod-sound-soc-rpi-cirrus

Add kernel module for Cirrus Logic Audio Card support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-googlevoicehat
Stijn Tintel [Thu, 6 Dec 2018 20:52:10 +0000 (22:52 +0200)]
brcm2708: add kmod-sound-soc-googlevoicehat

Add kernel module for Google Voice HAT support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-audioinjector-octo-soundcard
Stijn Tintel [Thu, 6 Dec 2018 20:35:53 +0000 (22:35 +0200)]
brcm2708: add kmod-sound-soc-audioinjector-octo-soundcard

Add kernel module for AudioInjector Octo surround sound card support in
kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-allo-katana-codec
Stijn Tintel [Thu, 6 Dec 2018 20:26:04 +0000 (22:26 +0200)]
brcm2708: add kmod-sound-soc-allo-katana-codec

Add kernel module for Allo Katana DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-allo-piano-dac-plus
Stijn Tintel [Thu, 6 Dec 2018 20:16:12 +0000 (22:16 +0200)]
brcm2708: add kmod-sound-soc-allo-piano-dac-plus

Add kernel module for the Allo Piano DAC Plus in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-allo-digione
Stijn Tintel [Thu, 6 Dec 2018 20:10:44 +0000 (22:10 +0200)]
brcm2708: add kmod-sound-soc-allo-digione

Add kernel module for Allo DigiOne support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-sound-soc-allo-boss-dac
Stijn Tintel [Thu, 6 Dec 2018 19:41:30 +0000 (21:41 +0200)]
brcm2708: add kmod-sound-soc-allo-boss-dac

Add kernel module for Allo Boss DAC support in kernel 4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: add kmod-hwmon-rpi-poe-fan
Stijn Tintel [Thu, 6 Dec 2018 19:28:46 +0000 (21:28 +0200)]
brcm2708: add kmod-hwmon-rpi-poe-fan

Add kernel module for the fan on the PoE HAT for the 3B+ model in kernel
4.14. Without this, the fan will not turn on.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: prepare kmod-drm-vc4 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:27:34 +0000 (21:27 +0200)]
brcm2708: prepare kmod-drm-vc4 for 4.14

It requires sound card support in the new kernel. HDMI CEC support is
disabled for now; enabling it turned out to be non-trivial.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: prepare kmod-video-bcm2835 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:23:20 +0000 (21:23 +0200)]
brcm2708: prepare kmod-video-bcm2835 for 4.14

Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: prepare kmod-sound-raspidac3 for 4.14
Stijn Tintel [Fri, 7 Dec 2018 00:41:28 +0000 (02:41 +0200)]
brcm2708: prepare kmod-sound-raspidac3 for 4.14

Support for RaspiDac3 has been removed from the rpi-4.14.y kernel tree.
Make the kmod package depend on kernel 4.9.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobrcm2708: prepare kmod-sound-arm-bcm2835 for 4.14
Stijn Tintel [Thu, 6 Dec 2018 19:15:58 +0000 (21:15 +0200)]
brcm2708: prepare kmod-sound-arm-bcm2835 for 4.14

Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agoubox: bump to git HEAD
Stijn Tintel [Tue, 18 Dec 2018 21:16:23 +0000 (23:16 +0200)]
ubox: bump to git HEAD

876c7f5 kmodloader: load_modprobe: abort after 2 attempts

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agobuild: fix build dependency of kmod .ipk with version filtered files
Yousong Zhou [Mon, 17 Dec 2018 13:07:19 +0000 (13:07 +0000)]
build: fix build dependency of kmod .ipk with version filtered files

We need to use resolved file list as prerequisites for repacking kmod
.ipk files.  Note that currently version_filter uses a Makefile macro
KERNEL_PATCHVER that should be available at ipk building time.

Reported-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years agolayerscape: use MKUBIFS_OPTS for per-device ubi parameters
Yangbo Lu [Tue, 20 Nov 2018 09:54:49 +0000 (17:54 +0800)]
layerscape: use MKUBIFS_OPTS for per-device ubi parameters

UBIFS_OPTS couldn't be used for per-device ubi parameters.
Let's use MKUBIFS_OPTS instead.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
5 years agolayerscape: drop kernel 4.9 support
Biwen Li [Wed, 12 Dec 2018 01:56:18 +0000 (09:56 +0800)]
layerscape: drop kernel 4.9 support

This patch is to drop kernel 4.9 support.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
5 years agolayerscape: add LS1021AIOT board support
Biwen Li [Fri, 2 Nov 2018 10:30:57 +0000 (18:30 +0800)]
layerscape: add LS1021AIOT board support

The LS1021A-IoT gateway reference design based on the
QorIQ LS1021A processor is a purpose-built, small
footprint hardware platform with a wide array of
high-speed connectivity and low-speed serial interfaces
to support secure delivery of IoT services for home,
business or other commercial location.

- Combines standards-based, open source software with a
  feature-rich IoT gateway design to establish a common,
  open framework for secured IoT service delivery and
  management.

- Provides a wide assortment of high-speed and serial-based
  connectivity in a compact, highly secure design.

- High efficiency through the use of the Arm-based QorIQ
  LS1021A embedded processor.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
5 years agolayerscape: upgrade kernel to 4.14
Biwen Li [Fri, 2 Nov 2018 03:21:57 +0000 (11:21 +0800)]
layerscape: upgrade kernel to 4.14

This patch is to upgrade kernel to 4.14 for layerscape.
patches-4.14 for layerscape included two categories.

- NXP Layerscape SDK kernel-4.14 patches

  All patches on tag LSDK-18.09-V4.14 were ported to OpenWrt
  kernel. Since there were hundreds patches, we had to make
  an all-in-one patch for each IP/feature.
  See below links for LSDK kernel.
  https://lsdk.github.io/components.html
  https://source.codeaurora.org/external/qoriq/qoriq-components/linux

- Non-LSDK kernel patches

  Other patches which were not in LSDK were just put in patches-4.14.
  Kept below patches from patches-4.9.
  303-dts-layerscape-add-traverse-ls1043.patch
  821-add-esdhc-vsel-to-ls1043.patch
  822-rgmii-fixed-link.patch

  Renamed and rebase them as below in patches-4.14,
  303-add-DTS-for-Traverse-LS1043-Boards.patch
  712-sdk-dpaa-rgmii-fixed-link.patch
  824-mmc-sdhci-of-esdhc-add-voltage-switch-support-for-ls.patch

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
5 years agokernel: Add missing symbols to 4.19
Petr Štetiar [Mon, 17 Dec 2018 22:04:30 +0000 (23:04 +0100)]
kernel: Add missing symbols to 4.19

While building 4.19 for ath79 with CONFIG_ALL_KMODS=y with verbose mode
enabled I was asked by kernel config about few symbols/modules so I'm
adding those missing symbols to the generic config.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agokernel: Fix usb-chipidea dependency on ulpi.ko for 4.19
Petr Štetiar [Mon, 17 Dec 2018 23:19:30 +0000 (00:19 +0100)]
kernel: Fix usb-chipidea dependency on ulpi.ko for 4.19

It seems, that since Linux 4.18-rc2 ci_hdrc depends on ulpi.

 commit a930d8bd94d8db7715d1af74299f710b1fb22fc8
 Author: Fabio Estevam <fabio.estevam@nxp.com>
 Date:   Wed Jul 4 10:09:58 2018 -0300

    usb: chipidea: Always build ULPI code

    Commit 03e6275ae381 ("usb: chipidea: Fix ULPI on imx51") causes a kernel
    hang on imx51 systems that use the ULPI interface and do not select the
    CONFIG_USB_CHIPIDEA_ULPI option.

    In order to avoid such potential misuse, let's always build the
    chipidea ULPI code into the final ci_hdrc object.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agouboot-envtools: fix configuration for I2SE Duckbills
Michael Heimpold [Mon, 17 Dec 2018 22:59:31 +0000 (23:59 +0100)]
uboot-envtools: fix configuration for I2SE Duckbills

After changing board names to DT compat string, we also need to
adjust the script which generates uboot-env configuration files.

Fixes: e880a30549b ("mxs: use generic sysinfo board detection")
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
5 years agouboot-envtools: ath79: add support for the Buffalo BHR-4GRV2
Stefan Lippers-Hollmann [Sun, 16 Dec 2018 20:41:55 +0000 (21:41 +0100)]
uboot-envtools: ath79: add support for the Buffalo BHR-4GRV2

According to https://github.com/openwrt/openwrt/pull/1527, support
for the Buffalo BHR-4GRV2 in ath79 requires repartitioning from
an initramfs image, make this easier by supporting uboot-envtools
support out of the box.

Build tested, but not runtime tested.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
5 years agouboot-envtools: ath79: add support for the Buffalo WZR-HP-AG300H
Stefan Lippers-Hollmann [Sun, 16 Dec 2018 20:35:16 +0000 (21:35 +0100)]
uboot-envtools: ath79: add support for the Buffalo WZR-HP-AG300H

Port support for the Buffalo WZR-HP-AG300H from the ar71xx target to
ath79 as well.

Build- and runtime tested on the Buffalo WZR-HP-AG300H.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
5 years agodropbear: fix dropbear startup issue
Hans Dedecker [Tue, 18 Dec 2018 18:40:31 +0000 (19:40 +0100)]
dropbear: fix dropbear startup issue

Interface triggers are installed by the dropbear init script in case an
interface is configured for a given dropbear uci section.
As dropbear is started after network the interface trigger event can be
missed during a small window; this is especially the case if lan is
specified as interface.
Fix this by starting dropbear before network so no interface trigger
is missed. As dropbear is started earlier than netifd add a boot function
to avoid the usage of network.sh functions as call to such functions will
fail at boottime.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>
5 years agocns3xxx: fix writing to wrong PCI registers
Koen Vandeputte [Tue, 18 Dec 2018 11:37:07 +0000 (12:37 +0100)]
cns3xxx: fix writing to wrong PCI registers

Originally, cns3xxx used it's own functions for mapping, reading and writing registers.

Upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
removed the internal PCI config write function in favor of the generic one:

cns3xxx_pci_write_config() --> pci_generic_config_write()

cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
while the generic one pci_generic_config_write() actually expects the real address
as both the function and hardware are capable of byte-aligned writes.

This currently leads to pci_generic_config_write() writing
to the wrong registers on some ocasions.

First issue seen due to this:

- driver ath9k gets loaded
- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
- cns3xxx_pci_map_bus() aligns the address to 0x0C
- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)

This seems to cause some slight instability when certain PCI devices are used.

Another issue example caused by this this is the PCI bus numbering,
where the primary bus is higher than the secondary, which is impossible.

Before:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0

After fix:

00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 255
    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0

And very likely some more ..

Fix all by omitting the alignment being done in the mapping function.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.14 to 4.14.89
Koen Vandeputte [Tue, 18 Dec 2018 12:00:45 +0000 (13:00 +0100)]
kernel: bump 4.14 to 4.14.89

Refreshed all patches.

Remove upstreamed patches:
- 096-v4.20-netfilter-ipv6-Preserve-link-scope-traffic-original-.patch

Compile-tested on: ar71xx, cns3xxx, imx6
Runtime-tested on: ar71xx, cns3xxx, imx6

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agokernel: bump 4.9 to 4.9.146
Koen Vandeputte [Tue, 18 Dec 2018 12:00:03 +0000 (13:00 +0100)]
kernel: bump 4.9 to 4.9.146

Refreshed all patches.

Compile-tested on: brcm2708
Runtime-tested on: brcm2708

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
5 years agokernel: bump 3.18 to 3.18.130
Koen Vandeputte [Tue, 18 Dec 2018 11:52:57 +0000 (12:52 +0100)]
kernel: bump 3.18 to 3.18.130

Refreshed all patches.

Compile-tested on: adm5120
Runtime-tested on: none

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
5 years agobuild: drop cameo-factory recipe
Mathias Kresin [Mon, 17 Dec 2018 20:59:35 +0000 (21:59 +0100)]
build: drop cameo-factory recipe

The cameo factory images are created using existing image build
commands, which makes the code obsolete.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoath79: replace cameo-factory with existing build commands
Mathias Kresin [Mon, 17 Dec 2018 20:56:56 +0000 (21:56 +0100)]
ath79: replace cameo-factory with existing build commands

Use pad-offset and append-string to create the cameo factory images for
the D-LINK DIR-825 C1/DIR-835 A1 factory images.

Tested-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agobuild: move append-string to image-commands.mk
Mathias Kresin [Mon, 17 Dec 2018 20:47:16 +0000 (21:47 +0100)]
build: move append-string to image-commands.mk

Move it to image-commands.mk so that it can used by other targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
5 years agoipset: update to 7.1
Syrone Wong [Sun, 16 Dec 2018 10:43:28 +0000 (18:43 +0800)]
ipset: update to 7.1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
5 years agokernel: preserve oif of IPv6 link scope packets
Hans Dedecker [Mon, 17 Dec 2018 20:26:22 +0000 (21:26 +0100)]
kernel: preserve oif of IPv6 link scope packets

Backort upstream patch which preserves oif of IPv6 link scoped packets.
The outgoing interface of IPv6 link scope packets can be changed by the
function ip6_route_me_harder. This is unwanted behavior for link local
packets and multicast packets as the outgoing interface is fixed and must
not be altered as it can break neighbor discovery and multicast listener
discovery.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
5 years agonetifd: fix ipv6 multicast check in previous commit
Kevin Darbyshire-Bryant [Mon, 17 Dec 2018 18:57:26 +0000 (18:57 +0000)]
netifd: fix ipv6 multicast check in previous commit

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agoimage: remove duplicate cameo-factory
Sebastian Kemper [Mon, 17 Dec 2018 18:27:02 +0000 (19:27 +0100)]
image: remove duplicate cameo-factory

The function was accidentally added twice. Remove the duplicate.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
5 years agoipq40xx: GL-B1300: convert to new partitions layout
Christian Lamparter [Mon, 17 Dec 2018 10:49:54 +0000 (11:49 +0100)]
ipq40xx: GL-B1300: convert to new partitions layout

Alberto Bursi reported:
>The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300"
>prevents boot on my B1300. I compiled from latest sources.

The GL-B1300 was using the discouraged direct subnodes method to declare
the partitions on the flash.

|The partition table should be a subnode of the flash node and should be named
|'partitions'. This node should have the following property:
|- compatible : (required) must be "fixed-partitions"
|Partitions are then defined in subnodes of the partitions node.
|
|For backwards compatibility partitions as direct subnodes of the flash device are
|supported. This use is discouraged.
|NOTE: also for backwards compatibility, direct subnodes that have a compatible
|string are not considered partitions, as they may be used for other bindings.
<https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt>

Hence, this patch converts the device to the "partitions" layout.

Fixes: 1cbe457cf94 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300")
Reported-by: Alberto Bursi <bobafetthotmail@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoath79: dts: Remove newly added default-state=off property
Christian Lamparter [Mon, 17 Dec 2018 11:13:50 +0000 (12:13 +0100)]
ath79: dts: Remove newly added default-state=off property

I'm afraid that this will be "one of many" patches to come.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agoar71xx/ath79: switch devices to the -ct driver and firmware
Christian Lamparter [Mon, 17 Dec 2018 00:58:49 +0000 (01:58 +0100)]
ar71xx/ath79: switch devices to the -ct driver and firmware

Since commit 61b5b4971e7 ("mac80211: make ath10k-ct the default ath10k")
select ath10k-ct and the -ct firmwares by default.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
5 years agobcm53xx: include WiFi firmware for devices with 4366C0
Rafał Miłecki [Mon, 17 Dec 2018 11:50:25 +0000 (12:50 +0100)]
bcm53xx: include WiFi firmware for devices with 4366C0

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agolinux-firmware: broadcom: package 4366C0 FullMAC firmware
Rafał Miłecki [Mon, 17 Dec 2018 11:50:21 +0000 (12:50 +0100)]
linux-firmware: broadcom: package 4366C0 FullMAC firmware

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agolinux-firmware: update to the commit from 2018-12-16
Rafał Miłecki [Mon, 17 Dec 2018 10:41:30 +0000 (11:41 +0100)]
linux-firmware: update to the commit from 2018-12-16

It includes e.g. new Broadcom FullMAC firmwares for 4366B1 and 4366C0.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years agokernel: backport ifconfig ioctl support for class e addresses
Kevin Darbyshire-Bryant [Sun, 16 Dec 2018 19:13:56 +0000 (19:13 +0000)]
kernel: backport ifconfig ioctl support for class e addresses

Backport net: Allow class-e address assignment via ifconfig ioctl
While most distributions long ago switched to the iproute2 suite
of utilities, which allow class-e (240.0.0.0/4) address assignment,
distributions relying on busybox, toybox and other forms of
ifconfig cannot assign class-e addresses without this kernel patch.

While CIDR has been obsolete for 2 decades, and a survey of all the
open source code in the world shows the IN_whatever macros are also
obsolete... rather than obsolete CIDR from this ioctl entirely, this
patch merely enables class-e assignment, sanely.

https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=65cab850f0eeaa9180bd2e10a231964f33743edf

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agonetifd: support configuring class e 240.0.0.0/4 addresses
Kevin Darbyshire-Bryant [Sun, 16 Dec 2018 19:36:06 +0000 (19:36 +0000)]
netifd: support configuring class e 240.0.0.0/4 addresses

cd089c5 proto: Support class-e addressing in netifd

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
5 years agotreewide: dts: Remove default-state=off property from all gpio LED nodes
Petr Štetiar [Sun, 16 Dec 2018 11:26:34 +0000 (12:26 +0100)]
treewide: dts: Remove default-state=off property from all gpio LED nodes

>From the Documentation/devicetree/bindings/leds/common.txt:

- default-state : The initial state of the LED. Valid values are "on", "off",
  and "keep". If the LED is already on or off and the default-state property is
  set the to same value, then no glitch should be produced where the LED
  momentarily turns off (or on). The "keep" setting will keep the LED at
  whatever its current state is, without producing a glitch.  The default is
  off if this property is not present.

So setting the default-state of the LEDs to `off` is redundant as `off`
is default LED state anyway. We should remove it as almost every new
PR/patch submission contains this property by default which seems to be
just copy&paste from some DTS file already present in the tree.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: add support for TP-Link Archer A7
Karl-Felix Glatzer [Wed, 12 Dec 2018 16:56:15 +0000 (17:56 +0100)]
ath79: add support for TP-Link Archer A7

This patch adds support for TP-Link Archer A7

Specification:
- SOC: QCA9563
- Flash: 16 MiB (SPI)
- RAM: 128 MiB (DDR2)
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless:
  - 2.4GHz (bgn) SoC internal
  - 5GHz (ac) QCA988x
- USB: 1x USB 2.0 port
- Button: 1x power, 1x reset, 1x wps
- LED: 10x LEDs
- UART: holes in PCB
  - Vcc, GND, RX, TX from ethernet port side
  - 115200n8

Flash instructions:

Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin
via the Webinterface.

Flash instruction using tftp recovery:

1. Connect the computer to one of the LAN ports of the Archer A7
2. Set the computer IP to 192.168.0.66
3. Start a tftp server with the OpenWrt factory image in the tftp
   root directory renamed to ArcherC7v5_tp_recovery.bin
2. Connect power cable to Archer A7, press and hold the reset button
   and turn the router on
3. Keep the reset button pressed for ~5 seconds
4. Wait ~150 seconds to complete flashing

Changes since first revision:

  - Flash instructions using stock image webinterface
  - Changed "Version 5" in model string to "v5"
  - Split DTS file in qca9563_tplink_archer-x7-v5.dtsi
    and qca9563_tplink_archer-a7-v5.dts
  - Firmware image is now build with dynamic partitioning
  - Default to ath10k-ct

Changes since second revision:
  - Changed uboot@0 to uboot@20000 in DTS file
  - Fixed ordering issue in board led script
  - Specify firmware partition format in DTS file
  - Rebased Makefile device definition on common
    Device/tplink-safeloader-uimage definition
  - Merged switch section in network script
    (same configuration as tplink,tl-wdr3600
    and tplink,tl-wdr4300)

Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
5 years agoath79, brcm63xx: Fix debounce-interval properties in gpio-keys-polled nodes
Petr Štetiar [Tue, 11 Dec 2018 22:02:04 +0000 (23:02 +0100)]
ath79, brcm63xx: Fix debounce-interval properties in gpio-keys-polled nodes

This patch fixes wrong usage of debounce-interval subnode property of
gpio-keys-polled nodes, which was used inproperly in parent node, but it
belongs to the subnodes, excerpt from the docs:

 Optional subnode-properties:
     - debounce-interval: Debouncing interval time in milliseconds.
       If not specified defaults to 5.

And the docs are up to date as the source code matches that description
as well:

 if (fwnode_property_read_u32(child, "debounce-interval",
                              &button->debounce_interval))
         button->debounce_interval = 5;

While at it, I've also re-formatted gpio-keys-polled nodes, usually just
adding new lines after every key subnode.

Cc: Tomasz Maciej Nowak <tomek_n@o2.pl>
Cc: Matt Merhar <mattmerhar@protonmail.com>
Cc: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoath79: ag71xx: Fix code formatting in ag71xx_probe
Petr Štetiar [Mon, 10 Dec 2018 22:34:17 +0000 (23:34 +0100)]
ath79: ag71xx: Fix code formatting in ag71xx_probe

Signed-off-by: Petr Štetiar <ynezz@true.cz>