These changes enable the flashlight LED driver (fled_rt5033), and add
support for switching the light on and off from userspace.
In more detail:
* CONFIG_FLED_RT5033 enables the flashlight driver
* CONFIG_VIDEO_EXYNOS_FIMC_IS is required for the flashlight driver to
compile (there seems to be a lot of cross-dependency between the two
drivers)
* patch 0001 fixes the use of usleep (which no longer exists), to make
the kernel compile with those settings
With these changes, /sys/class/flashlight/rt-flash-led shows up in
sysfs, but it's only possible to control the brightness of the LED,
not to switch it on.
Patch 0002 is what actually makes the flashlight usable: it makes
the /sys/class/flashlight/rt-flash-led/mode file writable.
Writing "Torch" there enables the flashlight, writing "Off" disables
it again. "Mixed" mode works like "Torch" as well. I have not figured
out yet how to trigger the camera flash, so setting the mode to
"Flash" is possible, albeit pointless.
Read kernel module names from files in
/etc/postmarketos-mkinitfs/modules and print out which modules are
required by which of these files as the initramfs gets generated. Put
the default modules into a new 00-default.modules. This allows mkinitfs
hooks to add modules to the initramfs.
Parse the modules from a file similar to modules-load.d, with commented
lines and empty lines ignored. Add a simple test script for that and run
it in check().
Split mkinitfs.sh into two files, so the functions (now in
mkinitfs_functions.sh) can be sourced in a test. Such a test will be
added in the next commit.
Move $BINARIES_EXTRA into the get_binaries_extra() function, so its
$(find...) does not get executed when sourcing the functions file. Move
$BINARIES into get_binaries() too for consistency.
Make it pass shellcheck by fixing obvious mistakes like '==' instead of
'='. Add "shellcheck disable" lines for things that are intentionally done
or would be a bit more complicated to rewrite. It would be nice to
refactor some things like '${outfile/initramfs-/uImage-}', but this should
be done in a separate change (patches welcome).
Remove unused variable "modules_path". While at it, add two new fatal
error messages instead of just "exit 1" without any comment and remove
redundant mkdir in APKBUILD.
For testing changes for device categorization, it is useful to have
a device in each of the categories. The PinePhone is close to being
moved to main/, but it doesn't fulfill all requirements yet.
The QEMU "device ports" are very simple since QEMU currently only
emulates a rather limited set of hardware features. All available features
are working correctly (especially after the recent rework of the QEMU
packages). I suppose it is also usable as a "daily driver", at least for
its intended purpose (a virtual machine for testing postmarketOS changes). :)
Given that everyone can run QEMU, everyone could potentially maintain
it. For now I have added myself as maintainer since I did most of the
recent cleanup. Add drebrez as second maintainer.
Overall it seems useful to have qemu-* in main/, especially because
it is now the device that is selected by default in pmbootstrap.
Replace branch_pmos and branch_alpine keys (that were never used) with a
new channel key. pmbootstrap will look up the branches related to a
channel in channels.cfg of the master branch. While at it, modernize the
file.
Let's add a nice file that defines the available release channels.
Upcoming pmbootstrap patches will make use of this in 'pmbootstrap init'
for example:
[20:46:22] Choose the postmarketOS release channel.
[20:46:22] Available (2):
[20:46:22] * edge: Rolling release channel
[20:46:22] * stable: Upcoming beta release (WIP, DO NOT USE!)
[20:46:22] Channel [edge]:
Closes: #519
linux-samsung-kminilte: adjust paths where the bcmdhd driver expects firmware
device-samsung-kminilte: add "nonfree-firmware" subpackage
firmware-samsung-kminilte: new package
firmware post-install actions:
- enable "deferred-initcalls" in sysinit for wlan0 to be available
- force wpa_supplicant to use wlan0 instead of p2p0
(both based on script from device-samsung-klte package)
[ci:skip-build]: already built successfully in CI
We'll use the new RTL8723CS driver in the kernel tree instead
of using the one that we have to fetch from GitHub.
Signed-off-by: Danct12 <danct12@disroot.org>
Signed-off-by: Asriel Dreemurr <asriel.danctnix@gmail.com>
[ci:skip-build]: already built successfully in CI
The lddtree script uses the scanelf utility which has some security check that causes a slowdown of the operation, executing it without privileges it's really faster.
- disable CONFIG_CRYPTO_SHA256_ARM, since it causes the build to fail with:
arch/arm/crypto/sha256-core.S:1831: Error: thumb conditional instruction should be in IT block
The current postmarketOS port does not do Hildon/Maemo Leste justice.
Various features are missing or broken. We can't even upgrade to the newest
version, because of packaging issues that can't easily be resolved. And
nobody is maintaining it currently. So for the people who want to use
Hildon, please use Maemo Leste (https://maemo-leste.github.io/).
If somebody is willing to invest a lot of time for a new postmarketOS
port of Hildon/Maemo Leste, let us know!
This updates google-crosshatch's downstream kernel to Lineage 17.1's
version (4.9.200, shared with Lineage's Pixel 3a port).
The newer kernel is needed because this device's kernel requires a
matching dtbo partition. The previous kernel would fail to boot with an
Android 10 dtbo partition.
Two patches were removed: Android 10's bootloader no longer passes the dm
or skip_initramfs boot arguments because of the new dynamic partitions
(https://source.android.com/devices/tech/ota/dynamic_partitions/ab_legacy).
Changes from the LineageOS kernel config:
https://gist.github.com/zhuowei/89b4135ff27e88f5a3dd3e4bf3cd31ab
Tested by booting to USB networking and debug-shell: I have not tested
flashing full pmOS using this kernel yet.
For some reason, on this kernel, when pmOS can't find system partitions
during the "Trying to mount subpartitions for 10 seconds..." stage, it
waits for 70 seconds instead of 10 seconds. I'm not sure why. It does go
to debug-shell correctly after a minute.
[ci:skip-build]: already built successfully in CI
[skip-ci]: just downloading all kernel sources takes about one hour
and ollieparanoid wants to merge it now. This already ran
successfully with [ci:skip-build] and [ci:skip-vercheck].
Many device ports install extra modules-load.conf/modprobe.conf
configurations. Simplify this a bit by installing these automatically
to appropriate locations in the file system.
mesa-demos is currently broken in Alpine since it needs a rebuild.
However, a device port shouldn't force installation of something like
mesa-demos so we should remove it anyway.
* make modules_initfs same as lg-hammerhead
(fixes postmarketOS splash logos at boot)
* split out downstream-firmware and mainline-firmware
* add firmware-adreno to firmware-mainline subpkg
* prepare deviceinfo file to mainline kernel