* Do not overwrite config-default.conf
Previously, when config-example.conf was missing, it would be created
and config-default.conf would be made a symlink to it. However, this
would overwrite any existing config-default.conf, potentially throwing
away a user's data. This occurs when you clean up and throw away the
(cluttering) config-example.conf (and depending on whether you use a
symlink to another named config, or put data in config-default.conf,
this would either just replace the symlink, or throw away your actual
config data).
This commit splits the update checks, so no files are ever overwritten,
except a broken config-default.conf symlink.
* Do not recreate example.conf if you remove it
Previously, whenever config-example.conf (and some others) was missing,
it start copying any missing example configs. This means that if you
would remove config-example.conf to clean up your userpatches directory,
it would be recreated everytime.
Now, this is triggered by a missing config-default.conf (which is also
created by the same block of code). The creating of config-example.conf
is still there, so if you have no config-default.conf (or one of the
others listed), then config-example.conf is created anyway, with
config-default.conf being a link to it, just like before (so the
first-run behavior is unmodified).
* Add meson64 patch net: phy: meson-gxl: fix interrupt handling in forced mode
https://patchwork.kernel.org/project/linux-amlogic/patch/04cac530-ea1b-850e-6cfa-144a55c4d75d@gmail.com/
This PHY doesn't support a link-up interrupt source. If aneg is enabled
we use the "aneg complete" interrupt for this purpose, but if aneg is
disabled link-up isn't signaled currently.
According to a vendor driver there's an additional "energy detect"
interrupt source that can be used to signal link-up if aneg is disabled.
We can safely ignore this interrupt source if aneg is enabled.
This patch was tested on a TX3 Mini TV box with S905W (even though
boot message says it's a S905D).
This issue has been existing longer, but due to changes in phylib and
the driver the patch applies only from the commit marked as fixed.
Fixes: 84c8f773d2dc ("net: phy: meson-gxl: remove the use of .ack_callback()")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
* Add meson64 kernel patch: net: phy: meson-gxl: improve link-up behavior
https://patchwork.kernel.org/project/linux-amlogic/patch/e3473452-a1f9-efcf-5fdd-02b6f44c3fcd@gmail.com/
Sometimes the link comes up but no data flows. This patch fixes
this behavior. It's not clear what's the root cause of the issue.
According to the tests one other link-up issue remains.
In very rare cases the link isn't even reported as up.
Fixes: 84c8f773d2dc ("net: phy: meson-gxl: remove the use of .ack_callback()")
Tested-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/phy/meson-gxl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
* This is already contained in the 5.15.27 kernel
pinctrl: sunxi: Use unique lockdep classes for IRQs
commit 896d1b8a36129c3f1378fbbafd7c394a877635b5 linux-5.15.y
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
--------------------------------------------
init/307 is trying to acquire lock:
c2dfe27c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
but task is already holding lock:
c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&irq_desc_lock_class);
lock(&irq_desc_lock_class);
*** DEADLOCK ***
May be due to missing lock nesting notation
4 locks held by init/307:
#0: c1f29f18 (system_transition_mutex){+.+.}-{3:3}, at: __do_sys_reboot+0x90/0x23c
#1: c20f7760 (&dev->mutex){....}-{3:3}, at: device_shutdown+0xf4/0x224
#2: c2e804d8 (&dev->mutex){....}-{3:3}, at: device_shutdown+0x104/0x224
#3: c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0
stack backtrace:
CPU: 0 PID: 307 Comm: init Not tainted 5.17.0-rc3-00394-gc849047c2473 #1
Hardware name: Allwinner sun8i Family
unwind_backtrace from show_stack+0x10/0x14
show_stack from dump_stack_lvl+0x68/0x90
dump_stack_lvl from __lock_acquire+0x1680/0x31a0
__lock_acquire from lock_acquire+0x148/0x3dc
lock_acquire from _raw_spin_lock_irqsave+0x50/0x6c
_raw_spin_lock_irqsave from __irq_get_desc_lock+0x58/0xa0
__irq_get_desc_lock from irq_set_irq_wake+0x2c/0x19c
irq_set_irq_wake from irq_set_irq_wake+0x13c/0x19c
[tail call from sunxi_pinctrl_irq_set_wake]
irq_set_irq_wake from gpio_keys_suspend+0x80/0x1a4
gpio_keys_suspend from gpio_keys_shutdown+0x10/0x2c
gpio_keys_shutdown from device_shutdown+0x180/0x224
device_shutdown from __do_sys_reboot+0x134/0x23c
__do_sys_reboot from ret_fast_syscall+0x0/0x1c
However, this can never deadlock because the upstream and downstream
IRQs are never the same (nor do they even involve the same irqchip).
Silence this erroneous lockdep splat by applying what appears to be the
usual fix of moving the GPIO IRQs to separate lockdep classes.
Fixes: a59c99d9eaf9 ("pinctrl: sunxi: Forward calls to irq_set_irq_wake")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20220216040037.22730-1-samuel@sholland.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* This is already contained in the 5.16.13 kernel
pinctrl: sunxi: Use unique lockdep classes for IRQs
commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y.
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.
This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:
============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
--------------------------------------------
....
* rk322x: restore drm patches, rework a couple of hunks due to upstream changes
* rockchip: restore drm patches, rework hunks due to upstreamed patch
* Revert also on media kernel
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Fix the standard location of dtb files
This fix allows standard system scripts from flash-kernel,
u-boot-menu packages to search in this location
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Bugfix: No need to unmount a separate partition for the /boot
These issues should be solved by system scripts.
In the future, this check should be removed.
* Remove unused generated file 'initrd.img-*' 'uInitrd-*'
These files were generated by initramfs-tools script
called postinst.d scripts.
And should be removed in the postrm.d or postinst.d scripts
and should be run after the initramfs-tools script
and under the same conditions.
* Add megous files for 5.16, tag orange-pi-5.16-20220216-2000
* Optimize the selection of a set of patches
* Remove unused patches
* Fix the state on the version tag=v5.16.11
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Rockchip64 Linux-5.10y - drivers for Motorcomm YT8531
renamed the previous "net-phy-Add-driver-for-Motorcomm-YT85xx-PHYs.patch" to "net-phy-Add-driver-for-Motorcomm-1-YT85xx-PHYs.patch" to fix patch order and added a new patch "net-phy-Add-driver-for-Motorcomm-2-YT8531-PHYs.patch"
The new YT8531 patch is sourced from from Lean's OpenWrt source rockchip/patches-5.10/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch.
It is intended to extend a patch identical to Armbian's "net-phy-Add-driver-for-Motorcomm-YT85xx-PHYs.patch" and is used without alteration.
* Add new board OrangePi R1 LTS (rk3328)
Includes uBoot and support for Linux-5.10y
* Rockchip64 Linux-5.15y drivers for YT8531 and other Motorcomm chips
YT8010, YT8510, YT8511, YT8512, YT8521. The driver patch set is sourced from Xunlong-OrangePi OpenWRT and is used as is, with only a name and makefile change.
A single patch set uses the same underlying source code as the Armbian Linux-5.10y set, but uses inbuilt logic to apply tweaks that depend on the Linux kernel version.
The patch is renamed similarly to the 5.10 patch set, net-phy-Add-driver-for-Motorcomm-T85xx+PHYs.patch to imply code base continuity with the previous similar Armbian patch sets.
* Rockchip64 Linux-5.15y support for Orange Pi R1 Plus LTS
Includes DTS and makefile changes. A driver for net phy YT8531C is in a separate commit
* change orangepi-r1plus-lts.csc to orangepi-r1plus-lts.conf
board is now supported
* - add patch also to 5.16.y
- fix wrong patch permission
* Fix Makefile patch
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Switched rockchip64-current to linux 5.15
* Backported and adjusted patches from rockchip64-current
* Switched rockchip64 edge to 5.16.y (#3499)
* Initial rockchip64-edge at 5.16.y
* Bunch of fixes for rockchip64-edge at 5.16.y
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>