vimc 139 drivers/media/platform/vimc/vimc-core.c static int vimc_create_links(struct vimc_device *vimc) vimc 145 drivers/media/platform/vimc/vimc-core.c for (i = 0; i < vimc->pipe_cfg->num_links; i++) { vimc 146 drivers/media/platform/vimc/vimc-core.c const struct vimc_ent_link *link = &vimc->pipe_cfg->links[i]; vimc 152 drivers/media/platform/vimc/vimc-core.c platform_get_drvdata(vimc->subdevs[link->src_ent]); vimc 154 drivers/media/platform/vimc/vimc-core.c platform_get_drvdata(vimc->subdevs[link->sink_ent]); vimc 168 drivers/media/platform/vimc/vimc-core.c struct vimc_device *vimc = container_of(to_platform_device(master), vimc 175 drivers/media/platform/vimc/vimc-core.c ret = v4l2_device_register(vimc->mdev.dev, &vimc->v4l2_dev); vimc 177 drivers/media/platform/vimc/vimc-core.c dev_err(vimc->mdev.dev, vimc 183 drivers/media/platform/vimc/vimc-core.c ret = component_bind_all(master, &vimc->v4l2_dev); vimc 188 drivers/media/platform/vimc/vimc-core.c ret = vimc_create_links(vimc); vimc 193 drivers/media/platform/vimc/vimc-core.c ret = media_device_register(&vimc->mdev); vimc 195 drivers/media/platform/vimc/vimc-core.c dev_err(vimc->mdev.dev, vimc 201 drivers/media/platform/vimc/vimc-core.c ret = v4l2_device_register_subdev_nodes(&vimc->v4l2_dev); vimc 203 drivers/media/platform/vimc/vimc-core.c dev_err(vimc->mdev.dev, vimc 212 drivers/media/platform/vimc/vimc-core.c media_device_unregister(&vimc->mdev); vimc 213 drivers/media/platform/vimc/vimc-core.c media_device_cleanup(&vimc->mdev); vimc 217 drivers/media/platform/vimc/vimc-core.c v4l2_device_unregister(&vimc->v4l2_dev); vimc 224 drivers/media/platform/vimc/vimc-core.c struct vimc_device *vimc = container_of(to_platform_device(master), vimc 229 drivers/media/platform/vimc/vimc-core.c media_device_unregister(&vimc->mdev); vimc 230 drivers/media/platform/vimc/vimc-core.c media_device_cleanup(&vimc->mdev); vimc 232 drivers/media/platform/vimc/vimc-core.c v4l2_device_unregister(&vimc->v4l2_dev); vimc 240 drivers/media/platform/vimc/vimc-core.c static struct component_match *vimc_add_subdevs(struct vimc_device *vimc) vimc 246 drivers/media/platform/vimc/vimc-core.c for (i = 0; i < vimc->pipe_cfg->num_ents; i++) { vimc 247 drivers/media/platform/vimc/vimc-core.c dev_dbg(&vimc->pdev.dev, "new pdev for %s\n", vimc 248 drivers/media/platform/vimc/vimc-core.c vimc->pipe_cfg->ents[i].drv); vimc 250 drivers/media/platform/vimc/vimc-core.c strscpy(pdata.entity_name, vimc->pipe_cfg->ents[i].name, vimc 253 drivers/media/platform/vimc/vimc-core.c vimc->subdevs[i] = platform_device_register_data(&vimc->pdev.dev, vimc 254 drivers/media/platform/vimc/vimc-core.c vimc->pipe_cfg->ents[i].drv, vimc 258 drivers/media/platform/vimc/vimc-core.c if (IS_ERR(vimc->subdevs[i])) { vimc 259 drivers/media/platform/vimc/vimc-core.c match = ERR_CAST(vimc->subdevs[i]); vimc 261 drivers/media/platform/vimc/vimc-core.c platform_device_unregister(vimc->subdevs[i]); vimc 266 drivers/media/platform/vimc/vimc-core.c component_match_add(&vimc->pdev.dev, &match, vimc_comp_compare, vimc 267 drivers/media/platform/vimc/vimc-core.c &vimc->subdevs[i]->dev); vimc 273 drivers/media/platform/vimc/vimc-core.c static void vimc_rm_subdevs(struct vimc_device *vimc) vimc 277 drivers/media/platform/vimc/vimc-core.c for (i = 0; i < vimc->pipe_cfg->num_ents; i++) vimc 278 drivers/media/platform/vimc/vimc-core.c platform_device_unregister(vimc->subdevs[i]); vimc 288 drivers/media/platform/vimc/vimc-core.c struct vimc_device *vimc = container_of(pdev, struct vimc_device, pdev); vimc 294 drivers/media/platform/vimc/vimc-core.c memset(&vimc->mdev, 0, sizeof(vimc->mdev)); vimc 297 drivers/media/platform/vimc/vimc-core.c vimc->subdevs = devm_kcalloc(&vimc->pdev.dev, vimc->pipe_cfg->num_ents, vimc 298 drivers/media/platform/vimc/vimc-core.c sizeof(*vimc->subdevs), GFP_KERNEL); vimc 299 drivers/media/platform/vimc/vimc-core.c if (!vimc->subdevs) vimc 302 drivers/media/platform/vimc/vimc-core.c match = vimc_add_subdevs(vimc); vimc 307 drivers/media/platform/vimc/vimc-core.c vimc->v4l2_dev.mdev = &vimc->mdev; vimc 310 drivers/media/platform/vimc/vimc-core.c strscpy(vimc->mdev.model, VIMC_MDEV_MODEL_NAME, vimc 311 drivers/media/platform/vimc/vimc-core.c sizeof(vimc->mdev.model)); vimc 312 drivers/media/platform/vimc/vimc-core.c snprintf(vimc->mdev.bus_info, sizeof(vimc->mdev.bus_info), vimc 314 drivers/media/platform/vimc/vimc-core.c vimc->mdev.dev = &pdev->dev; vimc 315 drivers/media/platform/vimc/vimc-core.c media_device_init(&vimc->mdev); vimc 321 drivers/media/platform/vimc/vimc-core.c media_device_cleanup(&vimc->mdev); vimc 322 drivers/media/platform/vimc/vimc-core.c vimc_rm_subdevs(vimc); vimc 331 drivers/media/platform/vimc/vimc-core.c struct vimc_device *vimc = container_of(pdev, struct vimc_device, pdev); vimc 336 drivers/media/platform/vimc/vimc-core.c vimc_rm_subdevs(vimc);