• Arnd Bergmann's avatar
    debugfs: fix debugfs_real_fops() build error · f50caa9b
    Arnd Bergmann authored
    Some drivers use debugfs_real_fops() even when CONFIG_DEBUG_FS is disabled,
    which now leads to a build error:
    
    In file included from include/linux/list.h:9:0,
                     from include/linux/wait.h:7,
                     from include/linux/wait_bit.h:8,
                     from include/linux/fs.h:6,
                     from drivers/net/wireless/broadcom/b43legacy/debugfs.c:26:
    drivers/net/wireless/broadcom/b43legacy/debugfs.c: In function 'b43legacy_debugfs_read':
    drivers/net/wireless/broadcom/b43legacy/debugfs.c:224:23: error: implicit declaration of function 'debugfs_real_fops'; did you mean 'debugfs_create_bool'? [-Werror=implicit-function-declaration]
    
    My first impulse was to add another 'static inline' dummy function
    returning NULL for it, which would work fine. However, most callers
    feed the pointer into container_of(), so it seems a little dangerous
    here. Since all the callers are inside of a read/write file operation
    that gets eliminated in this configuration, so having an 'extern'
    declaration seems better here. If it ever gets used in a dangerous
    way, that will now result in a link error.
    
    Fixes: 7c8d4698 ("debugfs: add support for more elaborate ->d_fsdata")
    Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
    Cc: Simon Horman <simon.horman@netronome.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f50caa9b
debugfs.h 10.5 KB