| .. | .. |
|---|
| 657 | 657 | return 0; |
|---|
| 658 | 658 | } |
|---|
| 659 | 659 | EXPORT_SYMBOL(rkisp_rockit_get_ispdev); |
|---|
| 660 | + |
|---|
| 661 | +int rkisp_rockit_get_isp_mode(const char *name) |
|---|
| 662 | +{ |
|---|
| 663 | + struct rkisp_device *ispdev = NULL; |
|---|
| 664 | + int i, ret = -EINVAL; |
|---|
| 665 | + |
|---|
| 666 | + if (rockit_cfg == NULL) |
|---|
| 667 | + goto end; |
|---|
| 668 | + |
|---|
| 669 | + for (i = 0; i < rockit_cfg->isp_num; i++) { |
|---|
| 670 | + if (!strcmp(rockit_cfg->rkisp_dev_cfg[i].isp_name, name)) { |
|---|
| 671 | + ispdev = rockit_cfg->rkisp_dev_cfg[i].isp_dev; |
|---|
| 672 | + break; |
|---|
| 673 | + } |
|---|
| 674 | + } |
|---|
| 675 | + if (!ispdev) |
|---|
| 676 | + goto end; |
|---|
| 677 | + |
|---|
| 678 | + if (ispdev->is_pre_on) { |
|---|
| 679 | + if (IS_HDR_RDBK(ispdev->rd_mode)) |
|---|
| 680 | + ret = RKISP_FAST_OFFLINE; |
|---|
| 681 | + else |
|---|
| 682 | + ret = RKISP_FAST_ONLINE; |
|---|
| 683 | + } else { |
|---|
| 684 | + if (IS_HDR_RDBK(ispdev->rd_mode)) |
|---|
| 685 | + ret = RKISP_NORMAL_OFFLINE; |
|---|
| 686 | + else |
|---|
| 687 | + ret = RKISP_NORMAL_ONLINE; |
|---|
| 688 | + } |
|---|
| 689 | + |
|---|
| 690 | +end: |
|---|
| 691 | + return ret; |
|---|
| 692 | +} |
|---|
| 693 | +EXPORT_SYMBOL(rkisp_rockit_get_isp_mode); |
|---|