Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755249AbdFWUZW (ORCPT ); Fri, 23 Jun 2017 16:25:22 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:46486 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754872AbdFWUZV (ORCPT ); Fri, 23 Jun 2017 16:25:21 -0400 Date: Sat, 24 Jun 2017 00:03:21 +0800 From: Greg Kroah-Hartman To: "Luis R. Rodriguez" Cc: wagi@monom.org, dwmw2@infradead.org, rafal@milecki.pl, arend.vanspriel@broadcom.com, rjw@rjwysocki.net, yi1.li@linux.intel.com, atull@opensource.altera.com, moritz.fischer@ettus.com, pmladek@suse.com, johannes.berg@intel.com, emmanuel.grumbach@intel.com, luciano.coelho@intel.com, kvalo@codeaurora.org, luto@kernel.org, torvalds@linux-foundation.org, keescook@chromium.org, takahiro.akashi@linaro.org, dhowells@redhat.com, pjones@redhat.com, hdegoede@redhat.com, alan@linux.intel.com, tytso@mit.edu, linux-kernel@vger.kernel.org Subject: [PATCH] firmware: remove request_firmware_into_buf() Message-ID: <20170623160321.GA19720@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6178 Lines: 151 As Luis pointed out, there are no in-kernel users of request_firmware_into_buf(), so remove it, and the now unused internal flag, which simplifies the logic around buffer handling a bit. Reported-by: "Luis R. Rodriguez" Signed-off-by: Greg Kroah-Hartman --- Documentation/driver-api/firmware/fallback-mechanisms.rst | 3 - Documentation/driver-api/firmware/firmware_cache.rst | 2 Documentation/driver-api/firmware/request_firmware.rst | 5 - drivers/base/firmware_class.c | 37 -------------- include/linux/firmware.h | 8 --- 5 files changed, 4 insertions(+), 51 deletions(-) diff --git a/Documentation/driver-api/firmware/fallback-mechanisms.rst b/Documentation/driver-api/firmware/fallback-mechanisms.rst index d19354794e67..0c3562148161 100644 --- a/Documentation/driver-api/firmware/fallback-mechanisms.rst +++ b/Documentation/driver-api/firmware/fallback-mechanisms.rst @@ -38,8 +38,7 @@ fallback mechanism: * Race against access with the root filesystem upon bootup. * Races upon resume from suspend. This is resolved by the firmware cache, but - the firmware cache is only supported if you use uevents, and its not - supported for request_firmware_into_buf(). + the firmware cache is only supported if you use uevents. * Firmware is not accessible through typical means: * It cannot be installed into the root filesystem diff --git a/Documentation/driver-api/firmware/firmware_cache.rst b/Documentation/driver-api/firmware/firmware_cache.rst index 2210e5bfb332..e53f8189fac1 100644 --- a/Documentation/driver-api/firmware/firmware_cache.rst +++ b/Documentation/driver-api/firmware/firmware_cache.rst @@ -24,7 +24,7 @@ root filesystem mounts. Some implementation details about the firmware cache setup: * The firmware cache is setup by adding a devres entry for each device that - uses all synchronous call except :c:func:`request_firmware_into_buf`. + uses a synchronous call. * If an asynchronous call is used the firmware cache is only set up for a device if if the second argument (uevent) to request_firmware_nowait() is diff --git a/Documentation/driver-api/firmware/request_firmware.rst b/Documentation/driver-api/firmware/request_firmware.rst index cc0aea880824..a5dacf96ab0f 100644 --- a/Documentation/driver-api/firmware/request_firmware.rst +++ b/Documentation/driver-api/firmware/request_firmware.rst @@ -25,11 +25,6 @@ request_firmware_direct .. kernel-doc:: drivers/base/firmware_class.c :functions: request_firmware_direct -request_firmware_into_buf -------------------------- -.. kernel-doc:: drivers/base/firmware_class.c - :functions: request_firmware_into_buf - Asynchronous firmware requests ============================== diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index ac350c518e0c..a913400c873e 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -196,7 +196,6 @@ static int __fw_state_check(struct fw_state *fw_st, enum fw_status status) #define FW_OPT_FALLBACK 0 #endif #define FW_OPT_NO_WARN (1U << 3) -#define FW_OPT_NOCACHE (1U << 4) struct firmware_cache { /* firmware_buf instance will be added into the below list */ @@ -1143,16 +1142,14 @@ static int assign_firmware_buf(struct firmware *fw, struct device *device, * should be fixed in devres or driver core. */ /* don't cache firmware handled without uevent */ - if (device && (opt_flags & FW_OPT_UEVENT) && - !(opt_flags & FW_OPT_NOCACHE)) + if (device && (opt_flags & FW_OPT_UEVENT)) fw_add_devm_name(device, buf->fw_id); /* * After caching firmware image is started, let it piggyback * on request firmware. */ - if (!(opt_flags & FW_OPT_NOCACHE) && - buf->fwc->state == FW_LOADER_START_CACHE) { + if (buf->fwc->state == FW_LOADER_START_CACHE) { if (fw_cache_piggyback_on_request(buf->fw_id)) kref_get(&buf->ref); } @@ -1292,36 +1289,6 @@ int request_firmware_direct(const struct firmware **firmware_p, EXPORT_SYMBOL_GPL(request_firmware_direct); /** - * request_firmware_into_buf - load firmware into a previously allocated buffer - * @firmware_p: pointer to firmware image - * @name: name of firmware file - * @device: device for which firmware is being loaded and DMA region allocated - * @buf: address of buffer to load firmware into - * @size: size of buffer - * - * This function works pretty much like request_firmware(), but it doesn't - * allocate a buffer to hold the firmware data. Instead, the firmware - * is loaded directly into the buffer pointed to by @buf and the @firmware_p - * data member is pointed at @buf. - * - * This function doesn't cache firmware either. - */ -int -request_firmware_into_buf(const struct firmware **firmware_p, const char *name, - struct device *device, void *buf, size_t size) -{ - int ret; - - __module_get(THIS_MODULE); - ret = _request_firmware(firmware_p, name, device, buf, size, - FW_OPT_UEVENT | FW_OPT_FALLBACK | - FW_OPT_NOCACHE); - module_put(THIS_MODULE); - return ret; -} -EXPORT_SYMBOL(request_firmware_into_buf); - -/** * release_firmware: - release the resource associated with a firmware image * @fw: firmware resource to release **/ diff --git a/include/linux/firmware.h b/include/linux/firmware.h index b1f9f0ccb8ac..5c41c5e75b5c 100644 --- a/include/linux/firmware.h +++ b/include/linux/firmware.h @@ -47,8 +47,6 @@ int request_firmware_nowait( void (*cont)(const struct firmware *fw, void *context)); int request_firmware_direct(const struct firmware **fw, const char *name, struct device *device); -int request_firmware_into_buf(const struct firmware **firmware_p, - const char *name, struct device *device, void *buf, size_t size); void release_firmware(const struct firmware *fw); #else @@ -77,11 +75,5 @@ static inline int request_firmware_direct(const struct firmware **fw, return -EINVAL; } -static inline int request_firmware_into_buf(const struct firmware **firmware_p, - const char *name, struct device *device, void *buf, size_t size) -{ - return -EINVAL; -} - #endif #endif