@@ -243,9 +243,11 @@ static int mtk_vcodec_dec_get_chip_name(void *priv)
static int vidioc_vdec_querycap(struct file *file, void *priv,
struct v4l2_capability *cap)
{
+ struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
+ struct device *dev = &ctx->dev->plat_dev->dev;
int platform_name = mtk_vcodec_dec_get_chip_name(priv);
- strscpy(cap->driver, MTK_VCODEC_DRV_NAME, sizeof(cap->driver));
+ strscpy(cap->driver, dev->driver->name, sizeof(cap->driver));
strscpy(cap->card, MTK_VCODEC_DEC_NAME, sizeof(cap->card));
snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:mt%d-dec", platform_name);
This partially reverts commit a8a7a278c56ad3b4ddd4db9a960e0537d032b0b3. This recent change caused ChromeOS's decoder to no longer function. This is due to ChromeOS using the driver name field to match the video device with its accompanying media device. After the change, they no longer matched. The driver name field should contain the actual driver name, not some otherwise unused string macro from the driver. To make this clear, copy the name from the driver's name field. Fixes: a8a7a278c56a ("media: mediatek: vcodec: Change decoder v4l2 capability value") Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> --- drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)