On Wednesday 05 December 2007, Timur Tabi wrote: > Define the layout of a binary blob that contains a QE firmware and > instructions > on how to upload it. Add function qe_upload_firmware() to parse the blob > and perform the actual upload. Fully define 'struct rsp' in immap_qe.h to > include the actual RISC Special Registers. > > Signed-off-by: Timur Tabi <[EMAIL PROTECTED]>
The code looks entirely fine to me, but after looking at it, it occurred to me that you may want to think about having support for autoloading the firmware based on a property in the device tree. For the spidernet driver on the Cell blade, we first also did an implementation that called request_firmware to load the microcode into the spider chip, but we later added a property (24kb long in our case) that simply contained the whole blob in the the device tree. This made it _much_ easier to support things like NFS root and distribution installers and avoided all licensing problems because the blob can now be shipped with the board instead of as part of the GPL software. Of course, that approach does not help you if the blob is not GPL compatible and you are relying on the dts file to be linked into the kernel, but it may be good if your driver supports it anyway so you can pass it down from the system boot loader to the kernel. In your driver, it's just a few lines of extra code and you can of course still leave the request_firmware call in place for other scenarios. Arnd <>< _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev