fill_read(struct dentry *dentry, char *buffer, loff_t off, size_t count)
 {
        struct sysfs_dirent *attr_sd = dentry->d_fsdata;
-       struct bin_attribute *attr = attr_sd->s_elem.bin_attr.bin_attr;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct bin_attribute *attr = attr_sd->s_bin_attr.bin_attr;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        int rc;
 
        /* need attr_sd for attr, its parent for kobj */
 flush_write(struct dentry *dentry, char *buffer, loff_t offset, size_t count)
 {
        struct sysfs_dirent *attr_sd = dentry->d_fsdata;
-       struct bin_attribute *attr = attr_sd->s_elem.bin_attr.bin_attr;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct bin_attribute *attr = attr_sd->s_bin_attr.bin_attr;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        int rc;
 
        /* need attr_sd for attr, its parent for kobj */
 {
        struct bin_buffer *bb = file->private_data;
        struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata;
-       struct bin_attribute *attr = attr_sd->s_elem.bin_attr.bin_attr;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct bin_attribute *attr = attr_sd->s_bin_attr.bin_attr;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        int rc;
 
        mutex_lock(&bb->mutex);
 static int open(struct inode * inode, struct file * file)
 {
        struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata;
-       struct bin_attribute *attr = attr_sd->s_elem.bin_attr.bin_attr;
+       struct bin_attribute *attr = attr_sd->s_bin_attr.bin_attr;
        struct bin_buffer *bb = NULL;
        int error;
 
 
        parent_sd = sd->s_parent;
 
        if (sysfs_type(sd) == SYSFS_KOBJ_LINK)
-               sysfs_put(sd->s_elem.symlink.target_sd);
+               sysfs_put(sd->s_symlink.target_sd);
        if (sysfs_type(sd) & SYSFS_COPY_NAME)
                kfree(sd->s_name);
        kfree(sd->s_iattr);
        sd = sysfs_new_dirent(name, mode, SYSFS_DIR);
        if (!sd)
                return -ENOMEM;
-       sd->s_elem.dir.kobj = kobj;
+       sd->s_dir.kobj = kobj;
 
        /* link in */
        sysfs_addrm_start(&acxt, parent_sd);
 
 static int fill_read_buffer(struct dentry * dentry, struct sysfs_buffer * buffer)
 {
        struct sysfs_dirent *attr_sd = dentry->d_fsdata;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        struct sysfs_ops * ops = buffer->ops;
        int ret = 0;
        ssize_t count;
                return -ENODEV;
 
        buffer->event = atomic_read(&attr_sd->s_event);
-       count = ops->show(kobj, attr_sd->s_elem.attr.attr, buffer->page);
+       count = ops->show(kobj, attr_sd->s_attr.attr, buffer->page);
 
        sysfs_put_active_two(attr_sd);
 
 flush_write_buffer(struct dentry * dentry, struct sysfs_buffer * buffer, size_t count)
 {
        struct sysfs_dirent *attr_sd = dentry->d_fsdata;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        struct sysfs_ops * ops = buffer->ops;
        int rc;
 
        if (!sysfs_get_active_two(attr_sd))
                return -ENODEV;
 
-       rc = ops->store(kobj, attr_sd->s_elem.attr.attr, buffer->page, count);
+       rc = ops->store(kobj, attr_sd->s_attr.attr, buffer->page, count);
 
        sysfs_put_active_two(attr_sd);
 
 static int sysfs_open_file(struct inode *inode, struct file *file)
 {
        struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
        struct sysfs_buffer * buffer;
        struct sysfs_ops * ops = NULL;
        int error;
 {
        struct sysfs_buffer * buffer = filp->private_data;
        struct sysfs_dirent *attr_sd = filp->f_path.dentry->d_fsdata;
-       struct kobject *kobj = attr_sd->s_parent->s_elem.dir.kobj;
+       struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
 
        /* need parent for the kobj, grab both */
        if (!sysfs_get_active_two(attr_sd))
        sd = sysfs_new_dirent(attr->name, mode, type);
        if (!sd)
                return -ENOMEM;
-       sd->s_elem.attr.attr = (void *)attr;
+       sd->s_attr.attr = (void *)attr;
 
        sysfs_addrm_start(&acxt, dir_sd);
        rc = sysfs_add_one(&acxt, sd);
 
                inode->i_fop = &sysfs_file_operations;
                break;
        case SYSFS_KOBJ_BIN_ATTR:
-               bin_attr = sd->s_elem.bin_attr.bin_attr;
+               bin_attr = sd->s_bin_attr.bin_attr;
                inode->i_size = bin_attr->size;
                inode->i_fop = &bin_fops;
                break;
 
        if (!sd)
                goto out_put;
 
-       sd->s_elem.symlink.target_sd = target_sd;
+       sd->s_symlink.target_sd = target_sd;
        target_sd = NULL;       /* reference is now owned by the symlink */
 
        sysfs_addrm_start(&acxt, parent_sd);
 {
        struct sysfs_dirent *sd = dentry->d_fsdata;
        struct sysfs_dirent *parent_sd = sd->s_parent;
-       struct sysfs_dirent *target_sd = sd->s_elem.symlink.target_sd;
+       struct sysfs_dirent *target_sd = sd->s_symlink.target_sd;
        int error;
 
        mutex_lock(&sysfs_mutex);
 
        const char              *s_name;
 
        union {
-               struct sysfs_elem_dir           dir;
-               struct sysfs_elem_symlink       symlink;
-               struct sysfs_elem_attr          attr;
-               struct sysfs_elem_bin_attr      bin_attr;
-       }                       s_elem;
+               struct sysfs_elem_dir           s_dir;
+               struct sysfs_elem_symlink       s_symlink;
+               struct sysfs_elem_attr          s_attr;
+               struct sysfs_elem_bin_attr      s_bin_attr;
+       };
 
        unsigned int            s_flags;
        ino_t                   s_ino;