firmware_class: make request_firmware_nowait more useful
Unfortunately, one cannot hold on to the struct firmware that request_firmware_nowait() hands off, which is needed in some cases. Allow this by requiring the callback to free it (via release_firmware). Additionally, give it a gfp_t parameter -- all the current users call it from a GFP_KERNEL context so the GFP_ATOMIC isn't necessary. This also marks an API break which is useful in a sense, although that is obviously not the primary purpose of this change. Signed-off-by:Johannes Berg <johannes@sipsolutions.net> Acked-by:
Marcel Holtmann <marcel@holtmann.org> Cc: Ming Lei <tom.leiming@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: David Woodhouse <David.Woodhouse@intel.com> Cc: Pavel Roskin <proski@gnu.org> Cc: Abhay Salunke <abhay_salunke@dell.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
Showing
- drivers/base/firmware_class.c 6 additions, 8 deletionsdrivers/base/firmware_class.c
- drivers/firmware/dell_rbu.c 7 additions, 2 deletionsdrivers/firmware/dell_rbu.c
- drivers/serial/ucc_uart.c 5 additions, 3 deletionsdrivers/serial/ucc_uart.c
- drivers/staging/comedi/drivers/usbdux.c 4 additions, 1 deletiondrivers/staging/comedi/drivers/usbdux.c
- drivers/staging/comedi/drivers/usbduxfast.c 4 additions, 1 deletiondrivers/staging/comedi/drivers/usbduxfast.c
- drivers/usb/atm/ueagle-atm.c 4 additions, 3 deletionsdrivers/usb/atm/ueagle-atm.c
- include/linux/firmware.h 3 additions, 2 deletionsinclude/linux/firmware.h
Loading
Please register or sign in to comment