/* The sysfs_dirent serves as both an inode and a directory entry for sysfs. To prevent the sysfs inode numbers from being freed prematurely we take a reference to sysfs_dirent from the sysfs inode. A super_operations.delete_inode() implementation is needed to drop that reference upon inode destruction.  */
void sysfs_delete_inode(struct inode *inode)
/* The sysfs_dirent serves as both an inode and a directory entry for sysfs. To prevent the sysfs inode numbers from being freed prematurely we take a reference to sysfs_dirent from the sysfs inode. A super_operations.delete_inode() implementation is needed to drop that reference upon inode destruction.  */
void sysfs_delete_inode(struct inode *inode)
{
	struct sysfs_dirent *sd  = inode->i_private;
	truncate_inode_pages(&inode->i_data, 0);
	clear_inode(inode);
	sysfs_put(sd);
}