示例#1
0
static int devices_read_proc(char *page, char **start, off_t off,
				 int count, int *eof, void *data)
{
	int len = get_chrdev_list(page);
	len += get_blkdev_list(page+len, len);
	return proc_calc_metrics(page, start, off, count, eof, len);
}
示例#2
0
int get_device_list(char * page)
{
	int i;
	int len;

	len = sprintf(page, "Character devices:\n");
	read_lock(&chrdevs_lock);
#ifdef CONFIG_DPM_NONPREEMPT
	dpm_set_os(DPM_NONPREEMPT_STATE);
#endif
	for (i = 0; i < MAX_CHRDEV ; i++) {
		if (chrdevs[i].fops) {
			len += sprintf(page+len, "%3d %s\n", i, chrdevs[i].name);
		}
	}
#ifdef CONFIG_DPM_NONPREEMPT
	dpm_set_os(current->dpm_state);
#endif
	read_unlock(&chrdevs_lock);
	len += get_blkdev_list(page+len);
	return len;
}