static int met_smi_create(struct kobject *parent)
{
	int ret = 0;
	char buf[16];

	smi_init_value();

	kobj_smi = parent;

	ret = sysfs_create_file(kobj_smi, &toggle_cnt_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create toggle_cnt in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &count_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create count in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &portnum_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create portnum in sysfs\n");
		return ret;
	}

	snprintf(buf, sizeof(buf), "monitorctrl");
	kobj_smi_mon_con = kobject_create_and_add(buf, kobj_smi);
	if (NULL == kobj_smi_mon_con) {
		pr_err("Failed to create monitorctrl in sysfs\n");
	}

	ret = sysfs_create_file(kobj_smi_mon_con, &requesttype_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create requesttype in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &err_msg_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create err_msg in sysfs\n");
		return ret;
	}

	return ret;
}
Beispiel #2
0
static int smi_print_header(char *buf, int len)
{
	int i, j;

	int ret;

	if (met_smi.mode == 1)
		if (parallel_mode == 0)
			ret = snprintf(buf, PAGE_SIZE, header_legacy_mode);
		else
			ret = snprintf(buf, PAGE_SIZE, header_parallel_mode);
	else
		ret = snprintf(buf, PAGE_SIZE, header_toggle_mode);

	/* Reset */
	smi_init_value();

	larb_req_type = SMI_REQ_ALL;
	comm_req_type = SMI_REQ_ALL;
	parallel_mode = 0;

	for (i=0; i<SMI_LARB_NUMBER; i++) {
		for (j=0; j<NPORT_IN_PM; j++) {
			larb_pm_port[i][j] = -1;
		}
	}

	for (i=0; i<SMI_COMM_NUMBER; i++) {
		for (j=0; j<NPORT_IN_PM; j++) {
			comm_pm_port[i][j] = -1;
			comm_pm_rw_type[i][j] = SMI_READ_ONLY;
		}
	}

	met_smi.mode = 0;

	return ret;
}
static int met_smi_create(struct kobject *parent)
{
	int ret = 0;
	int i;
	char buf[16];

	smi_init_value();

	kobj_smi = parent;

	ret = sysfs_create_file(kobj_smi, &toggle_cnt_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create toggle_cnt in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &toggle_master_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create toggle_master in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &count_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create count in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &portnum_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create portnum in sysfs\n");
		return ret;
	}

	snprintf(buf, sizeof(buf), "monitorctrl");
	kobj_smi_mon_con = kobject_create_and_add(buf, kobj_smi);
	ret = sysfs_create_file(kobj_smi_mon_con, &requesttype_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create requesttype in sysfs\n");
	}

	for (i=0; i<SMI_LARB_NUMBER; i++) {
		snprintf(buf, sizeof(buf), "%d", i);
		smi_larb[i].kobj_bus_smi = kobject_create_and_add(buf, kobj_smi);

		ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &on_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create mode in sysfs\n");
		}

		ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &port_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create port in sysfs\n");
		}

		ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &bustype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create bustype in sysfs\n");
		}

		ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &desttype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create desttype in sysfs\n");
		}
		ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &rwtype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create rwtype in sysfs\n");
		}
		//ret = sysfs_create_file(smi_larb[i].kobj_bus_smi, &requesttype_attr.attr);
		//if (ret != 0) {
		//	pr_err("Failed to create requesttype in sysfs\n");
		//}
	}
	for (i=0; i<SMI_COMM_NUMBER; i++) {
		snprintf(buf, sizeof(buf), "%d", SMI_LARB_NUMBER+i);
		smi_comm[i].kobj_bus_smi = kobject_create_and_add(buf, kobj_smi);

		ret = sysfs_create_file(smi_comm[i].kobj_bus_smi, &on_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create mode in sysfs\n");
		}

		ret = sysfs_create_file(smi_comm[i].kobj_bus_smi, &port_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create port in sysfs\n");
		}

		ret = sysfs_create_file(smi_comm[i].kobj_bus_smi, &bustype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create bustype in sysfs\n");
		}

		ret = sysfs_create_file(smi_comm[i].kobj_bus_smi, &desttype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create desttype in sysfs\n");
		}
		ret = sysfs_create_file(smi_comm[i].kobj_bus_smi, &rwtype_attr.attr);
		if (ret != 0) {
			pr_err("Failed to create rwtype in sysfs\n");
		}

	}

	return ret;
}
Beispiel #4
0
static int met_smi_create(struct kobject *parent)
{
	int i, j;
	int ret = 0;

	/* Init SMI */
	ret = MET_SMI_Init();
	if (ret != 0) {
		pr_err("Fail to init SMI\n");
		return ret;
	}

	/* Init. */
	smi_init_value();

	larb_req_type = SMI_REQ_ALL;
	comm_req_type = SMI_REQ_ALL;
	parallel_mode = 0;

	for (i=0; i<SMI_LARB_NUMBER; i++) {
		for (j=0; j<NPORT_IN_PM; j++) {
			larb_pm_port[i][j] = -1;
		}
	}

	for (i=0; i<SMI_COMM_NUMBER; i++) {
		for (j=0; j<NPORT_IN_PM; j++) {
			comm_pm_port[i][j] = -1;
			comm_pm_rw_type[i][j] = SMI_READ_ONLY;
		}
	}

	kobj_smi = parent;

	ret = sysfs_create_file(kobj_smi, &toggle_cnt_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create toggle_cnt in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &toggle_master_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create toggle_master in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &count_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create count in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &portnum_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create portnum in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &err_msg_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create err_msg in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &larb_req_type_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create larb_req_type in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &comm_req_type_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create comm_req_type in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &parallel_mode_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create enable_parallel_mode in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &pm_rwtype1_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create pm_rwytpe1 in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &pm_rwtype2_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create pm_rwytpe2 in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &pm_rwtype3_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create pm_rwytpe3 in sysfs\n");
		return ret;
	}

	ret = sysfs_create_file(kobj_smi, &pm_rwtype4_attr.attr);
	if (ret != 0) {
		pr_err("Failed to create pm_rwytpe4 in sysfs\n");
		return ret;
	}

	return ret;
}