You could write a script that implements this:
kernel(driver): calls request_firmware(&fw_entry, $FIRMWARE, device) etc.
Yes probably but not my poc. I could also declare eTrayz and xTreamer company EOL !
Sure you could. But what is the fun in it?
BTW, you quoted the wrong line. That part is supposed to be done by the kernel. The userland part could be something like this
while [ ! -f /sys/class/firmware/xxx/loading ]
echo 1 > /sys/class/firmware/xxx/loading
cat appropriate_firmware_image > /sys/class/firmware/xxx/data
echo 0 > /sys/class/firmware/xxx/loading
Don't know what xxx should be, but I suppose you could have a look which directory pops up when insmodding gmac.ko.
Why? I can compile the eTrayz kernel and include the the gmac.ko module in the kernel, but that still would not solve the udev load problem. The gmac.ko seems to load some proprietry software to make the network interface functional.
Read carefully. If the '210 has no firmware in userspace, udev cannot possibly upload it to the kernel, so it must be already there!. The is no technical reason the firmware is not just included in the gmac driver (well, one. It's more difficult to free the memory it's occupying)
BTW, are you sure you can include the module in the kernel? I think that would mean the NIC is initialized when no userspace is available yet, so it cannot request firmware from outside. This means the module can only be compiled as module, or the firmware is included when the module is included, or there is some mechanism to delay the actual initialization of the NIC.