Make sd->s_element a union of sysfs_elem_{dir|symlink|attr|bin_attr}and rename it to s_elem. This is to achieve...

* some level of type checking : changing symlink to point to sysfs_dirent instead of kobject is much safer and less painful now.* easier / standardized dereferencing* allow sysfs_elem_* to contain more than one entry

Where possible, pointer is obtained by directly deferencing from sdinstead of going through other entities. This reduces dependencies todentry, inode and kobject. to_attr() and to_bin_attr() are unused nowand removed.