extdev = camsys_find_extdev(devio->dev_id, camsys_dev);
if (extdev != NULL) {
- err = -EBUSY; /* ddl@rock-chips.com: v0.0x13.0 */
- camsys_warn("Extdev(dev_id: 0x%x) has been registered in %s!",
- devio->dev_id, dev_name(camsys_dev->miscdev.this_device));
+ if (strcmp(extdev->dev_name, devio->dev_name) == 0) {
+ err = 0;
+ } else {
+ err = -EINVAL; /* ddl@rock-chips.com: v0.0x13.0 */
+ camsys_warn("Extdev(dev_id: 0x%x dev_name: %s) has been registered in %s!",
+ extdev->dev_id, extdev->dev_name,dev_name(camsys_dev->miscdev.this_device));
+ }
goto end;
}
camsys_dev->iomux(extdev, (void*)camsys_dev);
- camsys_trace(1,"Extdev(dev_id: 0x%x) register success",extdev->dev_id);
+ memcpy(extdev->dev_name,devio->dev_name, sizeof(extdev->dev_name));
+ camsys_trace(1,"Extdev(dev_id: 0x%x dev_name: %s) register success",
+ extdev->dev_id,
+ extdev->dev_name);
return 0;
fail: