[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-driver-devel
Subject:    [driver-core:debugfs_cleanup 5/5] drivers/base/firmware_loader/main.c:811:1: error: redefinition of
From:       kernel test robot <lkp () intel ! com>
Date:       2021-12-31 18:40:03
Message-ID: 202201010250.AR5OyFBm-lkp () intel ! com
[Download RAW message or body]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git \
                debugfs_cleanup
head:   a04bbe0a2c7e98669e11a47f94e53dd8228bbeba
commit: a04bbe0a2c7e98669e11a47f94e53dd8228bbeba [5/5] firmware: remove old \
                CONFIG_FW_LOADER_MODULE test
config: sh-allmodconfig \
(https://download.01.org/0day-ci/archive/20220101/202201010250.AR5OyFBm-lkp@intel.com/config)
                
compiler: sh4-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross \
-O ~/bin/make.cross  chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/commit/?id=a04bbe0a2c7e98669e11a47f94e53dd8228bbeba
                
        git remote add driver-core \
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git  git fetch \
--no-tags driver-core debugfs_cleanup  git checkout \
a04bbe0a2c7e98669e11a47f94e53dd8228bbeba  # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir \
ARCH=sh SHELL=/bin/bash drivers/base/firmware_loader/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

> > drivers/base/firmware_loader/main.c:811:1: error: redefinition of \
> > 'request_firmware'
     811 | request_firmware(const struct firmware **firmware_p, const char *name,
         | ^~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:58:19: note: previous definition of 'request_firmware' \
with type 'int(const struct firmware **, const char *, struct device *)'  58 | static \
inline int request_firmware(const struct firmware **fw,  |                   \
^~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:838:5: error: redefinition of \
> > 'firmware_request_nowarn'
     838 | int firmware_request_nowarn(const struct firmware **firmware, const char \
*name,  |     ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:65:19: note: previous definition of \
'firmware_request_nowarn' with type 'int(const struct firmware **, const char *, \
                struct device *)'
      65 | static inline int firmware_request_nowarn(const struct firmware **fw,
         |                   ^~~~~~~~~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:863:5: error: redefinition of \
> > 'request_firmware_direct'
     863 | int request_firmware_direct(const struct firmware **firmware_p,
         |     ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:91:19: note: previous definition of \
'request_firmware_direct' with type 'int(const struct firmware **, const char *, \
                struct device *)'
      91 | static inline int request_firmware_direct(const struct firmware **fw,
         |                   ^~~~~~~~~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:887:5: error: redefinition of \
> > 'firmware_request_platform'
     887 | int firmware_request_platform(const struct firmware **firmware,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:72:19: note: previous definition of \
'firmware_request_platform' with type 'int(const struct firmware **, const char *, \
                struct device *)'
      72 | static inline int firmware_request_platform(const struct firmware **fw,
         |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:941:1: error: redefinition of \
> > 'request_firmware_into_buf'
     941 | request_firmware_into_buf(const struct firmware **firmware_p, const char \
*name,  | ^~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:98:19: note: previous definition of \
'request_firmware_into_buf' with type 'int(const struct firmware **, const char *, \
struct device *, void *, size_t)' {aka 'int(const struct firmware **, const char *, \
                struct device *, void *, unsigned int)'}
      98 | static inline int request_firmware_into_buf(const struct firmware \
**firmware_p,  |                   ^~~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:970:1: error: redefinition of \
> > 'request_partial_firmware_into_buf'
     970 | request_partial_firmware_into_buf(const struct firmware **firmware_p,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:104:19: note: previous definition of \
'request_partial_firmware_into_buf' with type 'int(const struct firmware **, const \
char *, struct device *, void *, size_t,  size_t)' {aka 'int(const struct firmware \
**, const char *, struct device *, void *, unsigned int,  unsigned int)'}  104 | \
static inline int request_partial_firmware_into_buf  |                   \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:992:6: error: redefinition of \
> > 'release_firmware'
     992 | void release_firmware(const struct firmware *fw)
         |      ^~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:87:20: note: previous definition of 'release_firmware' \
with type 'void(const struct firmware *)'  87 | static inline void \
release_firmware(const struct firmware *fw)  |                    ^~~~~~~~~~~~~~~~
> > drivers/base/firmware_loader/main.c:1054:1: error: redefinition of \
> > 'request_firmware_nowait'
    1054 | request_firmware_nowait(
         | ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/base/firmware_loader/main.c:26:
   include/linux/firmware.h:79:19: note: previous definition of \
'request_firmware_nowait' with type 'int(struct module *, bool,  const char *, struct \
device *, gfp_t,  void *, void (*)(const struct firmware *, void *))' {aka \
'int(struct module *, _Bool,  const char *, struct device *, unsigned int,  void *, \
void (*)(const struct firmware *, void *))'}  79 | static inline int \
request_firmware_nowait(  |                   ^~~~~~~~~~~~~~~~~~~~~~~


vim +/request_firmware +811 drivers/base/firmware_loader/main.c

4e0c92d015235d drivers/base/firmware_class.c       Takashi Iwai      2013-01-31   789 \
 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   \
790  /** c35f9cbb1df8f1 drivers/base/firmware_loader/main.c Andres Rodriguez  \
2018-05-10   791   * request_firmware() - send firmware request and wait for it \
eb8e317998e55d drivers/base/firmware_class.c       Randy Dunlap      2005-10-30   792 \
* @firmware_p: pointer to firmware image eb8e317998e55d drivers/base/firmware_class.c \
Randy Dunlap      2005-10-30   793   * @name: name of firmware file eb8e317998e55d \
drivers/base/firmware_class.c       Randy Dunlap      2005-10-30   794   * @device: \
device for which firmware is being loaded eb8e317998e55d \
drivers/base/firmware_class.c       Randy Dunlap      2005-10-30   795   * \
eb8e317998e55d drivers/base/firmware_class.c       Randy Dunlap      2005-10-30   796 \
*      @firmware_p will be used to return a firmware image by the name 6e3eaab02028c4 \
drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   797   *      of \
@name for device @device. 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay \
Salunke     2005-09-06   798   * 6e3eaab02028c4 drivers/base/firmware_class.c       \
Abhay Salunke     2005-09-06   799   *      Should be called from user context where \
sleeping is allowed. 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke \
2005-09-06   800   * 312c004d36ce6c drivers/base/firmware_class.c       Kay Sievers   \
2005-11-16   801   *      @name will be used as $FIRMWARE in the uevent environment \
and 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   \
802   *      should be distinctive enough not to be confused with any other \
6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   803 \
*      firmware image for this or any other device. 0cfc1e1e7b5347 \
drivers/base/firmware_class.c       Ming Lei          2012-08-04   804   * \
0cfc1e1e7b5347 drivers/base/firmware_class.c       Ming Lei          2012-08-04   805 \
*	Caller must hold the reference count of @device. 6a927857d89065 \
drivers/base/firmware_class.c       Ming Lei          2012-11-03   806   * \
6a927857d89065 drivers/base/firmware_class.c       Ming Lei          2012-11-03   807 \
*	The function can be called safely inside device's suspend and 6a927857d89065 \
drivers/base/firmware_class.c       Ming Lei          2012-11-03   808   *	resume \
callback. 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke     \
2005-09-06   809   **/ 6e3eaab02028c4 drivers/base/firmware_class.c       Abhay \
Salunke     2005-09-06   810  int 6e3eaab02028c4 drivers/base/firmware_class.c       \
Abhay Salunke     2005-09-06  @811  request_firmware(const struct firmware \
**firmware_p, const char *name, 6e3eaab02028c4 drivers/base/firmware_class.c       \
Abhay Salunke     2005-09-06   812  		 struct device *device) 6e3eaab02028c4 \
drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   813  { \
d6c8aa3906d5d0 drivers/base/firmware_class.c       Ming Lei          2013-06-06   814 \
int ret; d6c8aa3906d5d0 drivers/base/firmware_class.c       Ming Lei          \
2013-06-06   815   d6c8aa3906d5d0 drivers/base/firmware_class.c       Ming Lei        \
2013-06-06   816  	/* Need to pin this module until return */ d6c8aa3906d5d0 \
drivers/base/firmware_class.c       Ming Lei          2013-06-06   817  \
__module_get(THIS_MODULE); 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   818  	ret = _request_firmware(firmware_p, name, device, \
NULL, 0, 0, 3f72271233943c drivers/base/firmware_class.c       Luis R. Rodriguez \
2017-11-20   819  				FW_OPT_UEVENT); d6c8aa3906d5d0 drivers/base/firmware_class.c    \
Ming Lei          2013-06-06   820  	module_put(THIS_MODULE); d6c8aa3906d5d0 \
drivers/base/firmware_class.c       Ming Lei          2013-06-06   821  	return ret; \
6e3eaab02028c4 drivers/base/firmware_class.c       Abhay Salunke     2005-09-06   822 \
} f494513ff1b3f6 drivers/base/firmware_class.c       Daniel Mack       2013-05-23   \
823  EXPORT_SYMBOL(request_firmware); 6e3eaab02028c4 drivers/base/firmware_class.c    \
Abhay Salunke     2005-09-06   824   7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   825  /** \
7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   826 \
* firmware_request_nowarn() - request for an optional fw module 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   827   * @firmware: \
pointer to firmware image 7dcc01343e483e drivers/base/firmware_loader/main.c Andres \
Rodriguez  2018-05-10   828   * @name: name of firmware file 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   829   * @device: \
device for which firmware is being loaded 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   830   * \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   831 \
* This function is similar in behaviour to request_firmware(), except it \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   832 \
* doesn't produce warning messages when the file is not found. The sysfs \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   833 \
* fallback mechanism is enabled if direct filesystem lookup fails. However, \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   834 \
* failures to find the firmware file with it are still suppressed. It is \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   835 \
* therefore up to the driver to check for the return value of this call and to \
2fce60be06ca68 drivers/base/firmware_loader/main.c Wolfram Sang      2020-07-03   836 \
* decide when to inform the users of errors. 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   837   **/ \
7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10  @838 \
int firmware_request_nowarn(const struct firmware **firmware, const char *name, \
7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   839 \
struct device *device) 7dcc01343e483e drivers/base/firmware_loader/main.c Andres \
Rodriguez  2018-05-10   840  { 7dcc01343e483e drivers/base/firmware_loader/main.c \
Andres Rodriguez  2018-05-10   841  	int ret; 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   842   \
7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   843 \
/* Need to pin this module until return */ 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   844  \
__module_get(THIS_MODULE); 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   845  	ret = _request_firmware(firmware, name, device, NULL, \
0, 0, 7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10 \
846  				FW_OPT_UEVENT | FW_OPT_NO_WARN); 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   847  \
module_put(THIS_MODULE); 7dcc01343e483e drivers/base/firmware_loader/main.c Andres \
Rodriguez  2018-05-10   848  	return ret; 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   849  } \
7dcc01343e483e drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   850 \
EXPORT_SYMBOL_GPL(firmware_request_nowarn); 7dcc01343e483e \
drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   851   \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   852 \
/** c35f9cbb1df8f1 drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   \
853   * request_firmware_direct() - load firmware directly without usermode helper \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   854 \
* @firmware_p: pointer to firmware image bba3a87e982ad5 drivers/base/firmware_class.c \
Takashi Iwai      2013-12-02   855   * @name: name of firmware file bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   856   * @device: \
device for which firmware is being loaded bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   857   * \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   858 \
* This function works pretty much like request_firmware(), but this doesn't \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   859 \
* fall back to usermode helper even if the firmware couldn't be loaded bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   860   * directly \
from fs.  Hence it's useful for loading optional firmwares, which bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   861   * aren't \
always present, without extra long timeouts of udev. bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   862   **/ \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02  @863 \
int request_firmware_direct(const struct firmware **firmware_p, bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   864  			    const \
char *name, struct device *device) bba3a87e982ad5 drivers/base/firmware_class.c       \
Takashi Iwai      2013-12-02   865  { bba3a87e982ad5 drivers/base/firmware_class.c    \
Takashi Iwai      2013-12-02   866  	int ret; ea31003ccb2d68 \
drivers/base/firmware_class.c       Andrei Oprea      2015-03-08   867   \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   868 \
__module_get(THIS_MODULE); 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   869  	ret = _request_firmware(firmware_p, name, device, \
NULL, 0, 0, 3f72271233943c drivers/base/firmware_class.c       Luis R. Rodriguez \
2017-11-20   870  				FW_OPT_UEVENT | FW_OPT_NO_WARN | 85db1cde825344 \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   871  \
FW_OPT_NOFALLBACK_SYSFS); bba3a87e982ad5 drivers/base/firmware_class.c       Takashi \
Iwai      2013-12-02   872  	module_put(THIS_MODULE); bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   873  	return ret; \
bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   874 \
} bba3a87e982ad5 drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   \
875  EXPORT_SYMBOL_GPL(request_firmware_direct); bba3a87e982ad5 \
drivers/base/firmware_class.c       Takashi Iwai      2013-12-02   876   \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   877 \
/** e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   \
878   * firmware_request_platform() - request firmware with platform-fw fallback \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   879 \
* @firmware: pointer to firmware image e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   880   * @name: \
name of firmware file e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de \
Goede     2020-01-15   881   * @device: device for which firmware is being loaded \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   882 \
* e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   \
883   * This function is similar in behaviour to request_firmware, except that if \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   884 \
* direct filesystem lookup fails, it will fallback to looking for a copy of the \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   885 \
* requested firmware embedded in the platform's main (e.g. UEFI) firmware. \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   886 \
**/ e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15  \
@887  int firmware_request_platform(const struct firmware **firmware, e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   888  			      \
const char *name, struct device *device) e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   889  { \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   890 \
int ret; e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     \
2020-01-15   891   e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede   \
2020-01-15   892  	/* Need to pin this module until return */ e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   893  \
__module_get(THIS_MODULE); 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   894  	ret = _request_firmware(firmware, name, device, NULL, \
0, 0, e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15 \
895  				FW_OPT_UEVENT | FW_OPT_FALLBACK_PLATFORM); e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   896  \
module_put(THIS_MODULE); e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de \
Goede     2020-01-15   897  	return ret; e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   898  } \
e4c2c0ff00ecaf drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   899 \
EXPORT_SYMBOL_GPL(firmware_request_platform); e4c2c0ff00ecaf \
drivers/base/firmware_loader/main.c Hans de Goede     2020-01-15   900   \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   901 \
/** c35f9cbb1df8f1 drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   \
902   * firmware_request_cache() - cache firmware for suspend so resume can use it \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   903 \
* @name: name of firmware file 5d42c96e1cf98b drivers/base/firmware_loader/main.c \
Luis R. Rodriguez 2018-03-21   904   * @device: device for which firmware should be \
cached for 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez \
2018-03-21   905   * 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-21   906   * There are some devices with an optimization that \
enables the device to not 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-21   907   * require loading firmware on system reboot. This \
optimization may still 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-21   908   * require the firmware present on resume from suspend. \
This routine can be 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-21   909   * used to ensure the firmware is present on resume from \
suspend in these 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez \
2018-03-21   910   * situations. This helper is not compatible with drivers which use \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   911 \
* request_firmware_into_buf() or request_firmware_nowait() with no uevent set. \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   912 \
**/ 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   \
913  int firmware_request_cache(struct device *device, const char *name) \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   914 \
{ 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   \
915  	int ret; 5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez \
2018-03-21   916   5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-21   917  	mutex_lock(&fw_lock); 5d42c96e1cf98b \
drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   918  	ret = \
fw_add_devm_name(device, name); 5d42c96e1cf98b drivers/base/firmware_loader/main.c \
Luis R. Rodriguez 2018-03-21   919  	mutex_unlock(&fw_lock); 5d42c96e1cf98b \
drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   920   \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   921 \
5d42c96e1cf98b drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   923 \
EXPORT_SYMBOL_GPL(firmware_request_cache); 5d42c96e1cf98b \
drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-21   924   \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   925 \
/** c35f9cbb1df8f1 drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   \
926   * request_firmware_into_buf() - load firmware into a previously allocated \
buffer a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   927   * @firmware_p: pointer to firmware image a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   928   * @name: \
name of firmware file a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd \
2016-08-02   929   * @device: device for which firmware is being loaded and DMA \
region allocated a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   930   * @buf: address of buffer to load firmware into a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   931   * @size: \
size of buffer a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   932   * a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd  \
2016-08-02   933   * This function works pretty much like request_firmware(), but it \
doesn't a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   934   * allocate a buffer to hold the firmware data. Instead, the \
firmware a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   935   * is loaded directly into the buffer pointed to by @buf and the \
@firmware_p a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   936   * data member is pointed at @buf. a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   937   * \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   938 \
* This function doesn't cache firmware either. a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   939   */ \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   940 \
int a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02  \
@941  request_firmware_into_buf(const struct firmware **firmware_p, const char *name, \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   942 \
struct device *device, void *buf, size_t size) a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   943  { \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   944 \
int ret; a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      \
2016-08-02   945   995e8695f65db7 drivers/base/firmware_loader/main.c Luis R. \
Rodriguez 2018-03-10   946  	if (fw_cache_is_setup(device, name)) 995e8695f65db7 \
drivers/base/firmware_loader/main.c Luis R. Rodriguez 2018-03-10   947  		return \
-EOPNOTSUPP; 995e8695f65db7 drivers/base/firmware_loader/main.c Luis R. Rodriguez \
2018-03-10   948   a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd    \
2016-08-02   949  	__module_get(THIS_MODULE); 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   950  	ret = \
_request_firmware(firmware_p, name, device, buf, size, 0, 3f72271233943c \
drivers/base/firmware_class.c       Luis R. Rodriguez 2017-11-20   951  \
FW_OPT_UEVENT | FW_OPT_NOCACHE); a098ecd2fa7db8 drivers/base/firmware_class.c       \
Stephen Boyd      2016-08-02   952  	module_put(THIS_MODULE); a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   953  	return ret; \
a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   954 \
} a098ecd2fa7db8 drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   \
955  EXPORT_SYMBOL(request_firmware_into_buf); a098ecd2fa7db8 \
drivers/base/firmware_class.c       Stephen Boyd      2016-08-02   956   \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   957 \
/** 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   \
958   * request_partial_firmware_into_buf() - load partial firmware into a previously \
allocated buffer 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     \
2020-10-02   959   * @firmware_p: pointer to firmware image 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   960   * @name: \
name of firmware file 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   961   * @device: device for which firmware is being loaded \
and DMA region allocated 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   962   * @buf: address of buffer to load firmware into \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   963 \
* @size: size of buffer 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   964   * @offset: offset into file to read 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   965   * \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   966 \
* This function works pretty much like request_firmware_into_buf except \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   967 \
* it allows a partial read of the file. 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   968   */ \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   969 \
int 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02  \
@970  request_partial_firmware_into_buf(const struct firmware **firmware_p, \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   971 \
const char *name, struct device *device, 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   972  				  void \
*buf, size_t size, size_t offset) 59cdb23ca2dfef drivers/base/firmware_loader/main.c \
Scott Branden     2020-10-02   973  { 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   974  	int ret; \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   975 \
 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   \
976  	if (fw_cache_is_setup(device, name)) 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   977  		return \
-EOPNOTSUPP; 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     \
2020-10-02   978   59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden   \
2020-10-02   979  	__module_get(THIS_MODULE); 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   980  	ret = \
_request_firmware(firmware_p, name, device, buf, size, offset, 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   981  \
FW_OPT_UEVENT | FW_OPT_NOCACHE | 59cdb23ca2dfef drivers/base/firmware_loader/main.c \
Scott Branden     2020-10-02   982  				FW_OPT_PARTIAL); 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   983  \
module_put(THIS_MODULE); 59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott \
Branden     2020-10-02   984  	return ret; 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   985  } \
59cdb23ca2dfef drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   986 \
EXPORT_SYMBOL(request_partial_firmware_into_buf); 59cdb23ca2dfef \
drivers/base/firmware_loader/main.c Scott Branden     2020-10-02   987   \
^1da177e4c3f41 drivers/base/firmware_class.c       Linus Torvalds    2005-04-16   988 \
/** c35f9cbb1df8f1 drivers/base/firmware_loader/main.c Andres Rodriguez  2018-05-10   \
989   * release_firmware() - release the resource associated with a firmware image \
eb8e317998e55d drivers/base/firmware_class.c       Randy Dunlap      2005-10-30   990 \
* @fw: firmware resource to release ^1da177e4c3f41 drivers/base/firmware_class.c      \
Linus Torvalds    2005-04-16   991   **/ bcb9bd18e397ea drivers/base/firmware_class.c \
Dmitry Torokhov   2010-03-13  @992  void release_firmware(const struct firmware *fw) \
^1da177e4c3f41 drivers/base/firmware_class.c       Linus Torvalds    2005-04-16   993 \
{ ^1da177e4c3f41 drivers/base/firmware_class.c       Linus Torvalds    2005-04-16   \
994  	if (fw) { 48d09e97876bed drivers/base/firmware_loader/main.c Luis Chamberlain  \
2021-10-21   995  		if (!firmware_is_builtin(fw)) dd336c554d8926 \
drivers/base/firmware_class.c       David Woodhouse   2010-05-02   996  \
firmware_free_data(fw); ^1da177e4c3f41 drivers/base/firmware_class.c       Linus \
Torvalds    2005-04-16   997  		kfree(fw); ^1da177e4c3f41 \
drivers/base/firmware_class.c       Linus Torvalds    2005-04-16   998  	} \
^1da177e4c3f41 drivers/base/firmware_class.c       Linus Torvalds    2005-04-16   999 \
} f494513ff1b3f6 drivers/base/firmware_class.c       Daniel Mack       2013-05-23  \
1000  EXPORT_SYMBOL(release_firmware); ^1da177e4c3f41 drivers/base/firmware_class.c   \
Linus Torvalds    2005-04-16  1001  

> > > > > > The code at line 811 was first introduced by commit
> > > > > > 6e3eaab02028c4087a92711b20abb9e72cc803a7 [PATCH] modified \
> > > > > > firmware_class.c to support no hotplug

> > > > > > TO: Abhay Salunke <Abhay_Salunke@dell.com>
> > > > > > CC: Linus Torvalds <torvalds@g5.osdl.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic