Example #1
0
int __init hdmi_module_init(void)
{
	int ret = 0, err;

	__inf("hdmi_module_init\n");

	 alloc_chrdev_region(&devid, 0, 1, "hdmi");
	 my_cdev = cdev_alloc();
	 cdev_init(my_cdev, &hdmi_fops);
	 my_cdev->owner = THIS_MODULE;
	 err = cdev_add(my_cdev, devid, 1);
	 if (err)
	 {
		  __wrn("cdev_add fail.\n");
		  return -1;
	 }

    hdmi_class = class_create(THIS_MODULE, "hdmi");
    if (IS_ERR(hdmi_class))
    {
        __wrn("class_create fail\n");
        return -1;
    }

	ret |= hdmi_i2c_add_driver();

	ret = platform_device_register(&hdmi_device);

	if (ret == 0)
	{
		ret = platform_driver_register(&hdmi_driver);
	}

	return ret;
}
Example #2
0
int __init hdmi_module_init(void)
{
	int ret = 0, err;
#if 0
	type = script_get_item("hdmi_para", "hdcp_enable", &val);
	if(SCIRPT_ITEM_VALUE_TYPE_INT == type) {
		hdcp_en = val.val;
		Hdmi_hdcp_enable(hdcp_en);
	}
#endif

	alloc_chrdev_region(&devid, 0, 1, "hdmi");
	my_cdev = cdev_alloc();
	cdev_init(my_cdev, &hdmi_fops);
	my_cdev->owner = THIS_MODULE;
	err = cdev_add(my_cdev, devid, 1);
	if (err) {
		__wrn("cdev_add fail.\n");
		return -1;
	}

	hdmi_class = class_create(THIS_MODULE, "hdmi");
	if (IS_ERR(hdmi_class)) {
		__wrn("class_create fail\n");
		return -1;
	}

	ghdmi.dev = device_create(hdmi_class, NULL, devid, NULL, "hdmi");

	ret = sysfs_create_group(&ghdmi.dev->kobj,&hdmi_attribute_group);

	ret |= hdmi_i2c_add_driver();

	ret = platform_device_register(&hdmi_device);

	if (ret == 0) {
		ret = platform_driver_register(&hdmi_driver);
	}

	__inf("hdmi_module_init\n");
	return ret;
}