video: rockchip: vpu: only use the dev_mode for combo
authorRandy Li <randy.li@rock-chips.com>
Tue, 25 Apr 2017 03:06:06 +0000 (11:06 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Thu, 4 May 2017 07:45:30 +0000 (15:45 +0800)
The most of device can get this its running type from the
compatible. This property becomes unnecessary.

Change-Id: I40ec41b130fac2cadd47d92332d27c58a8c2c9f7
Signed-off-by: Randy Li <randy.li@rock-chips.com>
drivers/video/rockchip/vcodec/vcodec_service.c

index f8b6760e1de9ea306e3d4cfaad9fa13ccf289623..176514a5410955df3b60fc8b7c45fd22d274c40f 100644 (file)
@@ -2276,7 +2276,22 @@ static int vcodec_subdev_probe(struct platform_device *pdev,
        data->dev = dev;
 
        INIT_WORK(&data->set_work, vpu_set_register_work);
-       of_property_read_u32(np, "dev_mode", (u32 *)&data->mode);
+
+       switch (pservice->dev_id) {
+       case VCODEC_DEVICE_ID_VPU:
+               data->mode = VCODEC_RUNNING_MODE_VPU;
+               break;
+       case VCODEC_DEVICE_ID_HEVC:
+               data->mode = VCODEC_RUNNING_MODE_HEVC;
+               break;
+       case VCODEC_DEVICE_ID_RKVDEC:
+               data->mode = VCODEC_RUNNING_MODE_RKVDEC;
+               break;
+       case VCODEC_DEVICE_ID_COMBO:
+       default:
+               of_property_read_u32(np, "dev_mode", (u32 *)&data->mode);
+               break;
+       }
 
        if (pservice->reg_base == 0) {
                res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -2369,6 +2384,7 @@ static int vcodec_subdev_probe(struct platform_device *pdev,
                        goto err;
                }
        }
+
        data->irq_dec = platform_get_irq_byname(pdev, "irq_dec");
        if (data->irq_dec > 0) {
                ret = devm_request_threaded_irq(dev, data->irq_dec,