LCOV - code coverage report
Current view: top level - include/linux - debugfs.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2017-01-25 Functions: 0 0 -

          Line data    Source code
       1             : /*
       2             :  *  debugfs.h - a tiny little debug file system
       3             :  *
       4             :  *  Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
       5             :  *  Copyright (C) 2004 IBM Inc.
       6             :  *
       7             :  *      This program is free software; you can redistribute it and/or
       8             :  *      modify it under the terms of the GNU General Public License version
       9             :  *      2 as published by the Free Software Foundation.
      10             :  *
      11             :  *  debugfs is for people to use instead of /proc or /sys.
      12             :  *  See Documentation/DocBook/filesystems for more details.
      13             :  */
      14             : 
      15             : #ifndef _DEBUGFS_H_
      16             : #define _DEBUGFS_H_
      17             : 
      18             : #include <linux/fs.h>
      19             : 
      20             : #include <linux/types.h>
      21             : 
      22             : struct file_operations;
      23             : 
      24             : struct debugfs_blob_wrapper {
      25             :         void *data;
      26             :         unsigned long size;
      27             : };
      28             : 
      29             : extern struct dentry *arch_debugfs_dir;
      30             : 
      31             : #if defined(CONFIG_DEBUG_FS)
      32             : 
      33             : /* declared over in file.c */
      34             : extern const struct file_operations debugfs_file_operations;
      35             : extern const struct inode_operations debugfs_link_operations;
      36             : 
      37             : struct dentry *debugfs_create_file(const char *name, mode_t mode,
      38             :                                    struct dentry *parent, void *data,
      39             :                                    const struct file_operations *fops);
      40             : 
      41             : struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);
      42             : 
      43             : struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
      44             :                                       const char *dest);
      45             : 
      46             : void debugfs_remove(struct dentry *dentry);
      47             : void debugfs_remove_recursive(struct dentry *dentry);
      48             : 
      49             : struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry,
      50             :                 struct dentry *new_dir, const char *new_name);
      51             : 
      52             : struct dentry *debugfs_create_u8(const char *name, mode_t mode,
      53             :                                  struct dentry *parent, u8 *value);
      54             : struct dentry *debugfs_create_u16(const char *name, mode_t mode,
      55             :                                   struct dentry *parent, u16 *value);
      56             : struct dentry *debugfs_create_u32(const char *name, mode_t mode,
      57             :                                   struct dentry *parent, u32 *value);
      58             : struct dentry *debugfs_create_u64(const char *name, mode_t mode,
      59             :                                   struct dentry *parent, u64 *value);
      60             : struct dentry *debugfs_create_x8(const char *name, mode_t mode,
      61             :                                  struct dentry *parent, u8 *value);
      62             : struct dentry *debugfs_create_x16(const char *name, mode_t mode,
      63             :                                   struct dentry *parent, u16 *value);
      64             : struct dentry *debugfs_create_x32(const char *name, mode_t mode,
      65             :                                   struct dentry *parent, u32 *value);
      66             : struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
      67             :                                      struct dentry *parent, size_t *value);
      68             : struct dentry *debugfs_create_bool(const char *name, mode_t mode,
      69             :                                   struct dentry *parent, u32 *value);
      70             : 
      71             : struct dentry *debugfs_create_blob(const char *name, mode_t mode,
      72             :                                   struct dentry *parent,
      73             :                                   struct debugfs_blob_wrapper *blob);
      74             : 
      75             : bool debugfs_initialized(void);
      76             : 
      77             : #else
      78             : 
      79             : #include <linux/err.h>
      80             : 
      81             : /* 
      82             :  * We do not return NULL from these functions if CONFIG_DEBUG_FS is not enabled
      83             :  * so users have a chance to detect if there was a real error or not.  We don't
      84             :  * want to duplicate the design decision mistakes of procfs and devfs again.
      85             :  */
      86             : 
      87             : static inline struct dentry *debugfs_create_file(const char *name, mode_t mode,
      88             :                                         struct dentry *parent, void *data,
      89             :                                         const struct file_operations *fops)
      90             : {
      91             :         return ERR_PTR(-ENODEV);
      92             : }
      93             : 
      94             : static inline struct dentry *debugfs_create_dir(const char *name,
      95             :                                                 struct dentry *parent)
      96             : {
      97             :         return ERR_PTR(-ENODEV);
      98             : }
      99             : 
     100             : static inline struct dentry *debugfs_create_symlink(const char *name,
     101             :                                                     struct dentry *parent,
     102             :                                                     const char *dest)
     103             : {
     104             :         return ERR_PTR(-ENODEV);
     105             : }
     106             : 
     107             : static inline void debugfs_remove(struct dentry *dentry)
     108             : { }
     109             : 
     110             : static inline void debugfs_remove_recursive(struct dentry *dentry)
     111             : { }
     112             : 
     113             : static inline struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry,
     114             :                 struct dentry *new_dir, char *new_name)
     115             : {
     116             :         return ERR_PTR(-ENODEV);
     117             : }
     118             : 
     119             : static inline struct dentry *debugfs_create_u8(const char *name, mode_t mode,
     120             :                                                struct dentry *parent,
     121             :                                                u8 *value)
     122             : {
     123             :         return ERR_PTR(-ENODEV);
     124             : }
     125             : 
     126             : static inline struct dentry *debugfs_create_u16(const char *name, mode_t mode,
     127             :                                                 struct dentry *parent,
     128             :                                                 u16 *value)
     129             : {
     130             :         return ERR_PTR(-ENODEV);
     131             : }
     132             : 
     133             : static inline struct dentry *debugfs_create_u32(const char *name, mode_t mode,
     134             :                                                 struct dentry *parent,
     135             :                                                 u32 *value)
     136             : {
     137             :         return ERR_PTR(-ENODEV);
     138             : }
     139             : 
     140             : static inline struct dentry *debugfs_create_u64(const char *name, mode_t mode,
     141             :                                                 struct dentry *parent,
     142             :                                                 u64 *value)
     143             : {
     144             :         return ERR_PTR(-ENODEV);
     145             : }
     146             : 
     147             : static inline struct dentry *debugfs_create_x8(const char *name, mode_t mode,
     148             :                                                struct dentry *parent,
     149             :                                                u8 *value)
     150             : {
     151             :         return ERR_PTR(-ENODEV);
     152             : }
     153             : 
     154             : static inline struct dentry *debugfs_create_x16(const char *name, mode_t mode,
     155             :                                                 struct dentry *parent,
     156             :                                                 u16 *value)
     157             : {
     158             :         return ERR_PTR(-ENODEV);
     159             : }
     160             : 
     161             : static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode,
     162             :                                                 struct dentry *parent,
     163             :                                                 u32 *value)
     164             : {
     165             :         return ERR_PTR(-ENODEV);
     166             : }
     167             : 
     168             : static inline struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
     169             :                                      struct dentry *parent,
     170             :                                      size_t *value)
     171             : {
     172             :         return ERR_PTR(-ENODEV);
     173             : }
     174             : 
     175             : static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode,
     176             :                                                  struct dentry *parent,
     177             :                                                  u32 *value)
     178             : {
     179             :         return ERR_PTR(-ENODEV);
     180             : }
     181             : 
     182             : static inline struct dentry *debugfs_create_blob(const char *name, mode_t mode,
     183             :                                   struct dentry *parent,
     184             :                                   struct debugfs_blob_wrapper *blob)
     185             : {
     186             :         return ERR_PTR(-ENODEV);
     187             : }
     188             : 
     189             : static inline bool debugfs_initialized(void)
     190             : {
     191             :         return false;
     192             : }
     193           2 : 
     194             : #endif
     195             : 
     196             : #endif

Generated by: LCOV version 1.10