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; }
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; }