* Add reg_ahci_5v status okay for bananapro board
* Bananapro: add AXP209 regulators
* Fix series.conf, Disable the patch that is not being applied.
* Fix linux-sunxi64-edge.config for v5.17.3
* Fix linux-sunxi-edge.config to v5.17.3
* Switch EDGE to core 5.17 for sunxi
* Remove the old rtl8723cs driver which is incompatible with the new kernel and cannot be used.
* Use AUFS if the kernel version is less than 5.16
* Print the last 20 lines of the log if the kernel compilation failed.
* Set KERNEL_VERSION_LEVEL to 5.17
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
add CONFIG_GPIO_SYSFS=y to linux-sunxi64-current.config and linux-sunxi64-edge.config
remove if EXPERT from /sys/class/gpio/... (sysfs interface) in /drivers/gpio/Kconfig
* Remove unused pinctrl-sunxi-Fix-misleading-lockdep-deadlock-warnin.patch
The problem was solved in the upstream kernel.
commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y branch.
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
...
* Fix spi-nor node initialization error for orangepi-pc2
[ 1.288263] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.306391] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845203] Freeing initrd memory: 10824K
[ 1.855263] sun6i-spi 1c68000.spi: chipselect 0 already in use
[ 1.861159] spi_master spi0: spi_device register error /soc/spi@1c68000/spi-flash@0
[ 1.868842] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/spi-flash@0
Remove duplicate nodes from applied patches for the board
sun50i-h5-orangepi-pc2. After this fix:
[ 1.290252] sun50i-h5-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[ 1.291250] spi-nor spi0.0: supply vdd not found, using dummy regulator
[ 1.310397] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[ 1.845686] Freeing initrd memory: 10824K
[ 1.854333] 2 fixed-partitions partitions found on MTD device spi0.0
[ 1.854369] Creating 2 MTD partitions on "spi0.0":
[ 1.854381] 0x000000000000-0x000000100000 : "uboot"
[ 1.855679] 0x000000100000-0x000000200000 : "env"
* 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
--------------------------------------------
....
* 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>
* Add new patches from the tag orange-pi-5.16-20220205-1958
* Remove mutually exclusive patches
* Add, sort next patches for series armbian 5.16
* Add next armbian patches to series.conf
* Swich BRANCH for sunxi: legacy=5.10 current=5.15 edge=5.16
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Add upstream megous 5.16 patch to 5.15
* Add wifi rtl8723cs patches to series armbian
* Add a new one, remove old patches that are already in the kernel
* Add redesigned patches for 5.15 to the armbian series
* Remove unused patches
* Finish line
* The old rtl8723cs driver is disabled by default.
* Enable the old rtl8723cs driver by default.
* Comment enable\disable the old driver rtl8723cs-old
* Revert "Swich BRANCH for sunxi: legacy=5.10 current=5.15 edge=5.16"
This reverts commit aad1e92b5e.
* Remove an aged patch from use #3443
Allwinner-Add-frame-inversion-to-correct-audio-chann.patch
* Rename and prepare for the series 5.15
* Split and rename files for sun50i-h616-dtsi
* Split and rename files for sunxi overlays
* Remove mutually exclusive patches
* Add fifty redesigned patches to the series
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Remove fifty-four old patches
* Fix compile error
* Delete unused ones and sort if possible for megous series
* sunxi-5.15: Sort, fix compile warning, remove unused
* Rework print log for patching
* Recycling of megous v5.16.4 patches
The patches were sorted as far as possible. Some patches are renamed
according to their place of application. The length of the patch name
has been changed to improve readability using
the `git format-patch --filename-max-length=75` method.
The folder containing the patches will have the name `patches.name`
and the corresponding file `series.name` for the convenience
of processing and moving them upstream. But the control file remains
`series.conf`.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Add a series of armbian patches for 5.16
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Remove patches whose fixes are already in the kernel
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Add initial series patches for sunxi-5.16
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Now all patches are applied to the v5.16 kernel without errors
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Handle an exception if the initial tag is the top of the branch.
Remove the handling of the old exception.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* sunxi64_common.inc: Fix for 5.16
* sunxi-common.inc: Fix for 5.16
* Revert debug for EDGE: KERNEL_VERSION_LEVEL to "5.15"
* Add new patches from megous and switch to v5.16.1
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* waiter_local_repo: Fixed comment
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>