/* returns cft->mode if ->mode is not 0 returns S_IRUGO|S_IWUSR if it has both a read and a write handler returns S_IRUGO if it has only a read handler returns S_IWUSR if it has only a write hander  */
static mode_t cgroup_file_mode(const struct cftype *cft)
/* returns cft->mode if ->mode is not 0 returns S_IRUGO|S_IWUSR if it has both a read and a write handler returns S_IRUGO if it has only a read handler returns S_IWUSR if it has only a write hander  */
static mode_t cgroup_file_mode(const struct cftype *cft)
{
	mode_t mode = 0;
	if (cft->mode)
		return cft->mode;
	if (cft->read || cft->read_u64 || cft->read_s64 ||
	    cft->read_map || cft->read_seq_string)
		mode |= S_IRUGO;
	if (cft->write || cft->write_u64 || cft->write_s64 ||
	    cft->write_string || cft->trigger)
		mode |= S_IWUSR;
	return mode;
}