generic: rtl8366: add debugfs file to show PVIDs
SVN-Revision: 22206
This commit is contained in:
		| @@ -520,6 +520,34 @@ static ssize_t rtl8366_read_debugfs_vlan_mc(struct file *file, | |||||||
| 	return simple_read_from_buffer(user_buf, count, ppos, buf, len); | 	return simple_read_from_buffer(user_buf, count, ppos, buf, len); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static ssize_t rtl8366_read_debugfs_pvid(struct file *file, | ||||||
|  | 					 char __user *user_buf, | ||||||
|  | 					 size_t count, loff_t *ppos) | ||||||
|  | { | ||||||
|  | 	struct rtl8366_smi *smi = (struct rtl8366_smi *)file->private_data; | ||||||
|  | 	char *buf = smi->buf; | ||||||
|  | 	int len = 0; | ||||||
|  | 	int i; | ||||||
|  |  | ||||||
|  | 	len += snprintf(buf + len, sizeof(smi->buf) - len, "%4s %4s\n", | ||||||
|  | 			"port", "pvid"); | ||||||
|  |  | ||||||
|  | 	for (i = 0; i < smi->num_ports; i++) { | ||||||
|  | 		int pvid; | ||||||
|  | 		int err; | ||||||
|  |  | ||||||
|  | 		err = rtl8366_get_pvid(smi, i, &pvid); | ||||||
|  | 		if (err) | ||||||
|  | 			len += snprintf(buf + len, sizeof(smi->buf) - len, | ||||||
|  | 				"%4d error\n", i); | ||||||
|  | 		else | ||||||
|  | 			len += snprintf(buf + len, sizeof(smi->buf) - len, | ||||||
|  | 				"%4d %4d\n", i, pvid); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return simple_read_from_buffer(user_buf, count, ppos, buf, len); | ||||||
|  | } | ||||||
|  |  | ||||||
| static ssize_t rtl8366_read_debugfs_reg(struct file *file, | static ssize_t rtl8366_read_debugfs_reg(struct file *file, | ||||||
| 					 char __user *user_buf, | 					 char __user *user_buf, | ||||||
| 					 size_t count, loff_t *ppos) | 					 size_t count, loff_t *ppos) | ||||||
| @@ -634,6 +662,12 @@ static const struct file_operations fops_rtl8366_vlan_mc = { | |||||||
| 	.owner	= THIS_MODULE | 	.owner	= THIS_MODULE | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | static const struct file_operations fops_rtl8366_pvid = { | ||||||
|  | 	.read	= rtl8366_read_debugfs_pvid, | ||||||
|  | 	.open	= rtl8366_debugfs_open, | ||||||
|  | 	.owner	= THIS_MODULE | ||||||
|  | }; | ||||||
|  |  | ||||||
| static const struct file_operations fops_rtl8366_mibs = { | static const struct file_operations fops_rtl8366_mibs = { | ||||||
| 	.read = rtl8366_read_debugfs_mibs, | 	.read = rtl8366_read_debugfs_mibs, | ||||||
| 	.open = rtl8366_debugfs_open, | 	.open = rtl8366_debugfs_open, | ||||||
| @@ -679,6 +713,14 @@ static void rtl8366_debugfs_init(struct rtl8366_smi *smi) | |||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	node = debugfs_create_file("pvid", S_IRUSR, root, smi, | ||||||
|  | 				   &fops_rtl8366_pvid); | ||||||
|  | 	if (!node) { | ||||||
|  | 		dev_err(smi->parent, "Creating debugfs file '%s' failed\n", | ||||||
|  | 			"pvid"); | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	node = debugfs_create_file("mibs", S_IRUSR, smi->debugfs_root, smi, | 	node = debugfs_create_file("mibs", S_IRUSR, smi->debugfs_root, smi, | ||||||
| 				   &fops_rtl8366_mibs); | 				   &fops_rtl8366_mibs); | ||||||
| 	if (!node) | 	if (!node) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos