On Fri, Oct 01, 2010 at 08:56:25AM +0200, Clemens Ladisch wrote:
If the firmware isn't needed when initialzing the device, you can add some ioctl that makes the driver call request_firmware() (this basically assumes that the data is stored in a file with a known name), or just add some device that allows userspace to write data to the device (use this for dynamic data).
This does rather depend on what the firmware does and why it needs to be reloaded - it is very rare that one can just blindly reload the firmware and frequently changing the firmware will affect the set of user tunable features that can be offered to the application layer. Joining everything up in a way that avoids fragility typically means that the driver will end up initiating all the requests based on higher level requests from audio applications.