diff options
| author | Takashi Iwai <tiwai@suse.de> | 2012-05-21 12:45:18 +0200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2012-05-21 12:45:18 +0200 | 
| commit | 775b2449bdba7c97dda9f274c92bf7a83dac4142 (patch) | |
| tree | b4bee45c13762ea93642b1e38c62de454e51cf5d /drivers/base/regmap/regmap-debugfs.c | |
| parent | 21363cf0ca5c9c62e34e37422fb1d13d70d3de3c (diff) | |
| parent | 5fb86e5d4a951ddb0474cdfd809380c8e2a8d101 (diff) | |
| download | olio-linux-3.10-775b2449bdba7c97dda9f274c92bf7a83dac4142.tar.xz olio-linux-3.10-775b2449bdba7c97dda9f274c92bf7a83dac4142.zip  | |
Merge branch 'topic/asoc' into for-linus
Diffstat (limited to 'drivers/base/regmap/regmap-debugfs.c')
| -rw-r--r-- | drivers/base/regmap/regmap-debugfs.c | 30 | 
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/base/regmap/regmap-debugfs.c b/drivers/base/regmap/regmap-debugfs.c index 58517a5dac1..bb1ff175b96 100644 --- a/drivers/base/regmap/regmap-debugfs.c +++ b/drivers/base/regmap/regmap-debugfs.c @@ -27,12 +27,6 @@ static size_t regmap_calc_reg_len(int max_val, char *buf, size_t buf_size)  	return strlen(buf);  } -static int regmap_open_file(struct inode *inode, struct file *file) -{ -	file->private_data = inode->i_private; -	return 0; -} -  static ssize_t regmap_name_read_file(struct file *file,  				     char __user *user_buf, size_t count,  				     loff_t *ppos) @@ -57,7 +51,7 @@ static ssize_t regmap_name_read_file(struct file *file,  }  static const struct file_operations regmap_name_fops = { -	.open = regmap_open_file, +	.open = simple_open,  	.read = regmap_name_read_file,  	.llseek = default_llseek,  }; @@ -86,7 +80,7 @@ static ssize_t regmap_map_read_file(struct file *file, char __user *user_buf,  	val_len = 2 * map->format.val_bytes;  	tot_len = reg_len + val_len + 3;      /* : \n */ -	for (i = 0; i < map->max_register + 1; i++) { +	for (i = 0; i <= map->max_register; i += map->reg_stride) {  		if (!regmap_readable(map, i))  			continue; @@ -174,7 +168,7 @@ static ssize_t regmap_map_write_file(struct file *file,  #endif  static const struct file_operations regmap_map_fops = { -	.open = regmap_open_file, +	.open = simple_open,  	.read = regmap_map_read_file,  	.write = regmap_map_write_file,  	.llseek = default_llseek, @@ -203,7 +197,7 @@ static ssize_t regmap_access_read_file(struct file *file,  	reg_len = regmap_calc_reg_len(map->max_register, buf, count);  	tot_len = reg_len + 10; /* ': R W V P\n' */ -	for (i = 0; i < map->max_register + 1; i++) { +	for (i = 0; i <= map->max_register; i += map->reg_stride) {  		/* Ignore registers which are neither readable nor writable */  		if (!regmap_readable(map, i) && !regmap_writeable(map, i))  			continue; @@ -243,15 +237,22 @@ out:  }  static const struct file_operations regmap_access_fops = { -	.open = regmap_open_file, +	.open = simple_open,  	.read = regmap_access_read_file,  	.llseek = default_llseek,  }; -void regmap_debugfs_init(struct regmap *map) +void regmap_debugfs_init(struct regmap *map, const char *name)  { -	map->debugfs = debugfs_create_dir(dev_name(map->dev), -					  regmap_debugfs_root); +	if (name) { +		map->debugfs_name = kasprintf(GFP_KERNEL, "%s-%s", +					      dev_name(map->dev), name); +		name = map->debugfs_name; +	} else { +		name = dev_name(map->dev); +	} + +	map->debugfs = debugfs_create_dir(name, regmap_debugfs_root);  	if (!map->debugfs) {  		dev_warn(map->dev, "Failed to create debugfs directory\n");  		return; @@ -280,6 +281,7 @@ void regmap_debugfs_init(struct regmap *map)  void regmap_debugfs_exit(struct regmap *map)  {  	debugfs_remove_recursive(map->debugfs); +	kfree(map->debugfs_name);  }  void regmap_debugfs_initcall(void)  |