Heinrich Toews 1eaa12e351 leds: rgb: wago-m4-led: load M4 firmware asynchronously
When the M4 coprocessor is not yet running, the driver previously
called rproc_boot() synchronously from probe(), which blocked the
boot process until the rootfs was mounted and the ELF image was
readable.

Switch to request_firmware_nowait() for the firmware-load path
(case b). probe() now returns immediately; the firmware loader
invokes wago_rproc_fw_callback() once the image is available.
rproc_boot() and register_rpmsg_driver() are called from the
callback, which runs in a kthread/workqueue context where blocking
is safe. LEDs become available after the callback fires.

The attach path (case a, M4 already running / RPROC_DETACHED) is
unchanged and still completes synchronously.

Additional fixes in this commit:
  - Pass rproc_np->phandle to rproc_get_by_phandle() instead of
    the of_node pointer, fixing a type mismatch.
  - Add <linux/delay.h> and <linux/firmware.h> includes.
  - Improve comments in wago_rproc_start() and probe() to clearly
    distinguish the two boot paths.

Signed-off-by: Heinrich Toews <ht@twx-software.de>
2026-04-02 16:36:38 +02:00
2025-06-20 09:56:35 -05:00
2025-06-20 10:23:09 -05:00
2025-06-19 15:28:47 +02:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
S
Description
TWx Linux Repository
Readme 6.1 GiB
Languages
C 97.6%
Assembly 1%
Shell 0.5%
Python 0.3%
Makefile 0.3%