root/fs/xfs/xfs_sysfs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. to_kobj
  2. xfs_sysfs_release
  3. xfs_sysfs_init
  4. xfs_sysfs_del

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * Copyright (c) 2014 Red Hat, Inc.
   4  * All Rights Reserved.
   5  */
   6 
   7 #ifndef __XFS_SYSFS_H__
   8 #define __XFS_SYSFS_H__
   9 
  10 extern struct kobj_type xfs_mp_ktype;   /* xfs_mount */
  11 extern struct kobj_type xfs_dbg_ktype;  /* debug */
  12 extern struct kobj_type xfs_log_ktype;  /* xlog */
  13 extern struct kobj_type xfs_stats_ktype;        /* stats */
  14 
  15 static inline struct xfs_kobj *
  16 to_kobj(struct kobject *kobject)
  17 {
  18         return container_of(kobject, struct xfs_kobj, kobject);
  19 }
  20 
  21 static inline void
  22 xfs_sysfs_release(struct kobject *kobject)
  23 {
  24         struct xfs_kobj *kobj = to_kobj(kobject);
  25         complete(&kobj->complete);
  26 }
  27 
  28 static inline int
  29 xfs_sysfs_init(
  30         struct xfs_kobj         *kobj,
  31         struct kobj_type        *ktype,
  32         struct xfs_kobj         *parent_kobj,
  33         const char              *name)
  34 {
  35         init_completion(&kobj->complete);
  36         return kobject_init_and_add(&kobj->kobject, ktype,
  37                                     &parent_kobj->kobject, "%s", name);
  38 }
  39 
  40 static inline void
  41 xfs_sysfs_del(
  42         struct xfs_kobj *kobj)
  43 {
  44         kobject_del(&kobj->kobject);
  45         kobject_put(&kobj->kobject);
  46         wait_for_completion(&kobj->complete);
  47 }
  48 
  49 int     xfs_error_sysfs_init(struct xfs_mount *mp);
  50 void    xfs_error_sysfs_del(struct xfs_mount *mp);
  51 
  52 #endif  /* __XFS_SYSFS_H__ */

/* [<][>][^][v][top][bottom][index][help] */