pcdev 61 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 65 drivers/amba/bus.c if (pcdev->driver_override) pcdev 66 drivers/amba/bus.c return !strcmp(pcdev->driver_override, drv->name); pcdev 68 drivers/amba/bus.c return amba_lookup(pcdrv->id_table, pcdev) != NULL; pcdev 73 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 76 drivers/amba/bus.c retval = add_uevent_var(env, "AMBA_ID=%08x", pcdev->periphid); pcdev 80 drivers/amba/bus.c retval = add_uevent_var(env, "MODALIAS=amba:d%08X", pcdev->periphid); pcdev 163 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 168 drivers/amba/bus.c clk_disable(pcdev->pclk); pcdev 170 drivers/amba/bus.c clk_disable_unprepare(pcdev->pclk); pcdev 178 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 183 drivers/amba/bus.c ret = clk_enable(pcdev->pclk); pcdev 185 drivers/amba/bus.c ret = clk_prepare_enable(pcdev->pclk); pcdev 232 drivers/amba/bus.c static int amba_get_enable_pclk(struct amba_device *pcdev) pcdev 236 drivers/amba/bus.c pcdev->pclk = clk_get(&pcdev->dev, "apb_pclk"); pcdev 237 drivers/amba/bus.c if (IS_ERR(pcdev->pclk)) pcdev 238 drivers/amba/bus.c return PTR_ERR(pcdev->pclk); pcdev 240 drivers/amba/bus.c ret = clk_prepare_enable(pcdev->pclk); pcdev 242 drivers/amba/bus.c clk_put(pcdev->pclk); pcdev 247 drivers/amba/bus.c static void amba_put_disable_pclk(struct amba_device *pcdev) pcdev 249 drivers/amba/bus.c clk_disable_unprepare(pcdev->pclk); pcdev 250 drivers/amba/bus.c clk_put(pcdev->pclk); pcdev 259 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 261 drivers/amba/bus.c const struct amba_id *id = amba_lookup(pcdrv->id_table, pcdev); pcdev 273 drivers/amba/bus.c ret = amba_get_enable_pclk(pcdev); pcdev 283 drivers/amba/bus.c ret = pcdrv->probe(pcdev, id); pcdev 291 drivers/amba/bus.c amba_put_disable_pclk(pcdev); pcdev 300 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 305 drivers/amba/bus.c ret = drv->remove(pcdev); pcdev 313 drivers/amba/bus.c amba_put_disable_pclk(pcdev); pcdev 732 drivers/amba/bus.c struct amba_device *pcdev = to_amba_device(dev); pcdev 735 drivers/amba/bus.c r = (pcdev->periphid & d->mask) == d->id; pcdev 743 drivers/amba/bus.c d->dev = pcdev; pcdev 2962 drivers/dma/pl330.c struct amba_device *pcdev = to_amba_device(dev); pcdev 2968 drivers/dma/pl330.c amba_pclk_disable(pcdev); pcdev 2970 drivers/dma/pl330.c amba_pclk_unprepare(pcdev); pcdev 2977 drivers/dma/pl330.c struct amba_device *pcdev = to_amba_device(dev); pcdev 2980 drivers/dma/pl330.c ret = amba_pclk_prepare(pcdev); pcdev 2985 drivers/dma/pl330.c ret = amba_pclk_enable(pcdev); pcdev 151 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = ctx->dev; pcdev 156 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "Task ready\n"); pcdev 160 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "Task not ready to run\n"); pcdev 168 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = ctx->dev; pcdev 172 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "Aborting task\n"); pcdev 174 drivers/media/platform/m2m-deinterlace.c v4l2_m2m_job_finish(pcdev->m2m_dev, ctx->fh.m2m_ctx); pcdev 180 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = curr_ctx->dev; pcdev 183 drivers/media/platform/m2m-deinterlace.c atomic_set(&pcdev->busy, 0); pcdev 197 drivers/media/platform/m2m-deinterlace.c v4l2_m2m_job_finish(pcdev->m2m_dev, curr_ctx->fh.m2m_ctx); pcdev 199 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "dma transfers completed.\n"); pcdev 207 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = ctx->dev; pcdev 208 drivers/media/platform/m2m-deinterlace.c struct dma_chan *chan = pcdev->dma_chan; pcdev 228 drivers/media/platform/m2m-deinterlace.c v4l2_err(&pcdev->v4l2_dev, pcdev 330 drivers/media/platform/m2m-deinterlace.c v4l2_warn(&pcdev->v4l2_dev, "DMA interleaved prep error\n"); pcdev 341 drivers/media/platform/m2m-deinterlace.c v4l2_warn(&pcdev->v4l2_dev, pcdev 843 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = video_drvdata(file); pcdev 852 drivers/media/platform/m2m-deinterlace.c ctx->dev = pcdev; pcdev 854 drivers/media/platform/m2m-deinterlace.c ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(pcdev->m2m_dev, ctx, &queue_init); pcdev 872 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "Created instance %p, m2m_ctx: %p\n", pcdev 880 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = video_drvdata(file); pcdev 883 drivers/media/platform/m2m-deinterlace.c dprintk(pcdev, "Releasing instance %p\n", ctx); pcdev 921 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev; pcdev 926 drivers/media/platform/m2m-deinterlace.c pcdev = devm_kzalloc(&pdev->dev, sizeof(*pcdev), GFP_KERNEL); pcdev 927 drivers/media/platform/m2m-deinterlace.c if (!pcdev) pcdev 930 drivers/media/platform/m2m-deinterlace.c spin_lock_init(&pcdev->irqlock); pcdev 934 drivers/media/platform/m2m-deinterlace.c pcdev->dma_chan = dma_request_channel(mask, NULL, pcdev); pcdev 935 drivers/media/platform/m2m-deinterlace.c if (!pcdev->dma_chan) pcdev 938 drivers/media/platform/m2m-deinterlace.c if (!dma_has_cap(DMA_INTERLEAVE, pcdev->dma_chan->device->cap_mask)) { pcdev 944 drivers/media/platform/m2m-deinterlace.c ret = v4l2_device_register(&pdev->dev, &pcdev->v4l2_dev); pcdev 948 drivers/media/platform/m2m-deinterlace.c atomic_set(&pcdev->busy, 0); pcdev 949 drivers/media/platform/m2m-deinterlace.c mutex_init(&pcdev->dev_mutex); pcdev 951 drivers/media/platform/m2m-deinterlace.c vfd = &pcdev->vfd; pcdev 953 drivers/media/platform/m2m-deinterlace.c vfd->lock = &pcdev->dev_mutex; pcdev 954 drivers/media/platform/m2m-deinterlace.c vfd->v4l2_dev = &pcdev->v4l2_dev; pcdev 958 drivers/media/platform/m2m-deinterlace.c v4l2_err(&pcdev->v4l2_dev, "Failed to register video device\n"); pcdev 962 drivers/media/platform/m2m-deinterlace.c video_set_drvdata(vfd, pcdev); pcdev 963 drivers/media/platform/m2m-deinterlace.c v4l2_info(&pcdev->v4l2_dev, MEM2MEM_TEST_MODULE_NAME pcdev 966 drivers/media/platform/m2m-deinterlace.c platform_set_drvdata(pdev, pcdev); pcdev 968 drivers/media/platform/m2m-deinterlace.c pcdev->m2m_dev = v4l2_m2m_init(&m2m_ops); pcdev 969 drivers/media/platform/m2m-deinterlace.c if (IS_ERR(pcdev->m2m_dev)) { pcdev 970 drivers/media/platform/m2m-deinterlace.c v4l2_err(&pcdev->v4l2_dev, "Failed to init mem2mem device\n"); pcdev 971 drivers/media/platform/m2m-deinterlace.c ret = PTR_ERR(pcdev->m2m_dev); pcdev 978 drivers/media/platform/m2m-deinterlace.c video_unregister_device(&pcdev->vfd); pcdev 980 drivers/media/platform/m2m-deinterlace.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 982 drivers/media/platform/m2m-deinterlace.c dma_release_channel(pcdev->dma_chan); pcdev 989 drivers/media/platform/m2m-deinterlace.c struct deinterlace_dev *pcdev = platform_get_drvdata(pdev); pcdev 991 drivers/media/platform/m2m-deinterlace.c v4l2_info(&pcdev->v4l2_dev, "Removing " MEM2MEM_TEST_MODULE_NAME); pcdev 992 drivers/media/platform/m2m-deinterlace.c v4l2_m2m_release(pcdev->m2m_dev); pcdev 993 drivers/media/platform/m2m-deinterlace.c video_unregister_device(&pcdev->vfd); pcdev 994 drivers/media/platform/m2m-deinterlace.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 995 drivers/media/platform/m2m-deinterlace.c dma_release_channel(pcdev->dma_chan); pcdev 237 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = ctx->dev; pcdev 241 drivers/media/platform/mx2_emmaprp.c dprintk(pcdev, "Aborting task\n"); pcdev 243 drivers/media/platform/mx2_emmaprp.c v4l2_m2m_job_finish(pcdev->m2m_dev, ctx->fh.m2m_ctx); pcdev 246 drivers/media/platform/mx2_emmaprp.c static inline void emmaprp_dump_regs(struct emmaprp_dev *pcdev) pcdev 248 drivers/media/platform/mx2_emmaprp.c dprintk(pcdev, pcdev 257 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_SOURCE_Y_PTR), pcdev 258 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_SRC_FRAME_SIZE), pcdev 259 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_DEST_Y_PTR), pcdev 260 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_DEST_CR_PTR), pcdev 261 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_DEST_CB_PTR), pcdev 262 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_CH2_OUT_IMAGE_SIZE), pcdev 263 drivers/media/platform/mx2_emmaprp.c readl(pcdev->base_emma + PRP_CNTL)); pcdev 271 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = ctx->dev; pcdev 293 drivers/media/platform/mx2_emmaprp.c v4l2_err(&pcdev->v4l2_dev, pcdev 299 drivers/media/platform/mx2_emmaprp.c writel(p_in, pcdev->base_emma + PRP_SOURCE_Y_PTR); pcdev 301 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma + PRP_SRC_FRAME_SIZE); pcdev 304 drivers/media/platform/mx2_emmaprp.c writel(p_out, pcdev->base_emma + PRP_DEST_Y_PTR); pcdev 305 drivers/media/platform/mx2_emmaprp.c writel(p_out + d_size, pcdev->base_emma + PRP_DEST_CB_PTR); pcdev 307 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma + PRP_DEST_CR_PTR); pcdev 309 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma + PRP_CH2_OUT_IMAGE_SIZE); pcdev 312 drivers/media/platform/mx2_emmaprp.c tmp = readl(pcdev->base_emma + PRP_INTR_CNTL); pcdev 316 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma + PRP_INTR_CNTL); pcdev 318 drivers/media/platform/mx2_emmaprp.c emmaprp_dump_regs(pcdev); pcdev 321 drivers/media/platform/mx2_emmaprp.c tmp = readl(pcdev->base_emma + PRP_CNTL); pcdev 325 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma + PRP_CNTL); pcdev 330 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = data; pcdev 337 drivers/media/platform/mx2_emmaprp.c irqst = readl(pcdev->base_emma + PRP_INTRSTATUS); pcdev 338 drivers/media/platform/mx2_emmaprp.c writel(irqst, pcdev->base_emma + PRP_INTRSTATUS); pcdev 339 drivers/media/platform/mx2_emmaprp.c dprintk(pcdev, "irqst = 0x%08x\n", irqst); pcdev 341 drivers/media/platform/mx2_emmaprp.c curr_ctx = v4l2_m2m_get_curr_priv(pcdev->m2m_dev); pcdev 351 drivers/media/platform/mx2_emmaprp.c writel(PRP_CNTL_SWRST, pcdev->base_emma + PRP_CNTL); pcdev 364 drivers/media/platform/mx2_emmaprp.c spin_lock_irqsave(&pcdev->irqlock, flags); pcdev 367 drivers/media/platform/mx2_emmaprp.c spin_unlock_irqrestore(&pcdev->irqlock, flags); pcdev 371 drivers/media/platform/mx2_emmaprp.c v4l2_m2m_job_finish(pcdev->m2m_dev, curr_ctx->fh.m2m_ctx); pcdev 722 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = video_drvdata(file); pcdev 731 drivers/media/platform/mx2_emmaprp.c ctx->dev = pcdev; pcdev 733 drivers/media/platform/mx2_emmaprp.c if (mutex_lock_interruptible(&pcdev->dev_mutex)) { pcdev 738 drivers/media/platform/mx2_emmaprp.c ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(pcdev->m2m_dev, ctx, &queue_init); pcdev 743 drivers/media/platform/mx2_emmaprp.c mutex_unlock(&pcdev->dev_mutex); pcdev 748 drivers/media/platform/mx2_emmaprp.c clk_prepare_enable(pcdev->clk_emma_ipg); pcdev 749 drivers/media/platform/mx2_emmaprp.c clk_prepare_enable(pcdev->clk_emma_ahb); pcdev 753 drivers/media/platform/mx2_emmaprp.c mutex_unlock(&pcdev->dev_mutex); pcdev 755 drivers/media/platform/mx2_emmaprp.c dprintk(pcdev, "Created instance %p, m2m_ctx: %p\n", ctx, ctx->fh.m2m_ctx); pcdev 762 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = video_drvdata(file); pcdev 765 drivers/media/platform/mx2_emmaprp.c dprintk(pcdev, "Releasing instance %p\n", ctx); pcdev 767 drivers/media/platform/mx2_emmaprp.c mutex_lock(&pcdev->dev_mutex); pcdev 768 drivers/media/platform/mx2_emmaprp.c clk_disable_unprepare(pcdev->clk_emma_ahb); pcdev 769 drivers/media/platform/mx2_emmaprp.c clk_disable_unprepare(pcdev->clk_emma_ipg); pcdev 773 drivers/media/platform/mx2_emmaprp.c mutex_unlock(&pcdev->dev_mutex); pcdev 805 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev; pcdev 810 drivers/media/platform/mx2_emmaprp.c pcdev = devm_kzalloc(&pdev->dev, sizeof(*pcdev), GFP_KERNEL); pcdev 811 drivers/media/platform/mx2_emmaprp.c if (!pcdev) pcdev 814 drivers/media/platform/mx2_emmaprp.c spin_lock_init(&pcdev->irqlock); pcdev 816 drivers/media/platform/mx2_emmaprp.c pcdev->clk_emma_ipg = devm_clk_get(&pdev->dev, "ipg"); pcdev 817 drivers/media/platform/mx2_emmaprp.c if (IS_ERR(pcdev->clk_emma_ipg)) { pcdev 818 drivers/media/platform/mx2_emmaprp.c return PTR_ERR(pcdev->clk_emma_ipg); pcdev 821 drivers/media/platform/mx2_emmaprp.c pcdev->clk_emma_ahb = devm_clk_get(&pdev->dev, "ahb"); pcdev 822 drivers/media/platform/mx2_emmaprp.c if (IS_ERR(pcdev->clk_emma_ahb)) pcdev 823 drivers/media/platform/mx2_emmaprp.c return PTR_ERR(pcdev->clk_emma_ahb); pcdev 826 drivers/media/platform/mx2_emmaprp.c pcdev->base_emma = devm_ioremap_resource(&pdev->dev, res); pcdev 827 drivers/media/platform/mx2_emmaprp.c if (IS_ERR(pcdev->base_emma)) pcdev 828 drivers/media/platform/mx2_emmaprp.c return PTR_ERR(pcdev->base_emma); pcdev 830 drivers/media/platform/mx2_emmaprp.c ret = v4l2_device_register(&pdev->dev, &pcdev->v4l2_dev); pcdev 834 drivers/media/platform/mx2_emmaprp.c mutex_init(&pcdev->dev_mutex); pcdev 838 drivers/media/platform/mx2_emmaprp.c v4l2_err(&pcdev->v4l2_dev, "Failed to allocate video device\n"); pcdev 844 drivers/media/platform/mx2_emmaprp.c vfd->lock = &pcdev->dev_mutex; pcdev 845 drivers/media/platform/mx2_emmaprp.c vfd->v4l2_dev = &pcdev->v4l2_dev; pcdev 847 drivers/media/platform/mx2_emmaprp.c video_set_drvdata(vfd, pcdev); pcdev 848 drivers/media/platform/mx2_emmaprp.c pcdev->vfd = vfd; pcdev 849 drivers/media/platform/mx2_emmaprp.c v4l2_info(&pcdev->v4l2_dev, EMMAPRP_MODULE_NAME pcdev 852 drivers/media/platform/mx2_emmaprp.c platform_set_drvdata(pdev, pcdev); pcdev 858 drivers/media/platform/mx2_emmaprp.c dev_name(&pdev->dev), pcdev); pcdev 862 drivers/media/platform/mx2_emmaprp.c pcdev->m2m_dev = v4l2_m2m_init(&m2m_ops); pcdev 863 drivers/media/platform/mx2_emmaprp.c if (IS_ERR(pcdev->m2m_dev)) { pcdev 864 drivers/media/platform/mx2_emmaprp.c v4l2_err(&pcdev->v4l2_dev, "Failed to init mem2mem device\n"); pcdev 865 drivers/media/platform/mx2_emmaprp.c ret = PTR_ERR(pcdev->m2m_dev); pcdev 871 drivers/media/platform/mx2_emmaprp.c v4l2_err(&pcdev->v4l2_dev, "Failed to register video device\n"); pcdev 879 drivers/media/platform/mx2_emmaprp.c v4l2_m2m_release(pcdev->m2m_dev); pcdev 883 drivers/media/platform/mx2_emmaprp.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 885 drivers/media/platform/mx2_emmaprp.c mutex_destroy(&pcdev->dev_mutex); pcdev 892 drivers/media/platform/mx2_emmaprp.c struct emmaprp_dev *pcdev = platform_get_drvdata(pdev); pcdev 894 drivers/media/platform/mx2_emmaprp.c v4l2_info(&pcdev->v4l2_dev, "Removing " EMMAPRP_MODULE_NAME); pcdev 896 drivers/media/platform/mx2_emmaprp.c video_unregister_device(pcdev->vfd); pcdev 897 drivers/media/platform/mx2_emmaprp.c v4l2_m2m_release(pcdev->m2m_dev); pcdev 898 drivers/media/platform/mx2_emmaprp.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 899 drivers/media/platform/mx2_emmaprp.c mutex_destroy(&pcdev->dev_mutex); pcdev 813 drivers/media/platform/pxa_camera.c static struct device *pcdev_to_dev(struct pxa_camera_dev *pcdev) pcdev 815 drivers/media/platform/pxa_camera.c return pcdev->v4l2_dev.dev; pcdev 823 drivers/media/platform/pxa_camera.c static void pxa_camera_dma_irq(struct pxa_camera_dev *pcdev, pcdev 828 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = data; pcdev 830 drivers/media/platform/pxa_camera.c pxa_camera_dma_irq(pcdev, DMA_Y); pcdev 835 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = data; pcdev 837 drivers/media/platform/pxa_camera.c pxa_camera_dma_irq(pcdev, DMA_U); pcdev 842 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = data; pcdev 844 drivers/media/platform/pxa_camera.c pxa_camera_dma_irq(pcdev, DMA_V); pcdev 859 drivers/media/platform/pxa_camera.c static int pxa_init_dma_channel(struct pxa_camera_dev *pcdev, pcdev 863 drivers/media/platform/pxa_camera.c struct dma_chan *dma_chan = pcdev->dma_chans[channel]; pcdev 869 drivers/media/platform/pxa_camera.c dev_err(pcdev_to_dev(pcdev), pcdev 874 drivers/media/platform/pxa_camera.c tx->callback_param = pcdev; pcdev 890 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 897 drivers/media/platform/pxa_camera.c static void pxa_videobuf_set_actdma(struct pxa_camera_dev *pcdev, pcdev 912 drivers/media/platform/pxa_camera.c static void pxa_dma_start_channels(struct pxa_camera_dev *pcdev) pcdev 916 drivers/media/platform/pxa_camera.c for (i = 0; i < pcdev->channels; i++) { pcdev 917 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 919 drivers/media/platform/pxa_camera.c dma_async_issue_pending(pcdev->dma_chans[i]); pcdev 923 drivers/media/platform/pxa_camera.c static void pxa_dma_stop_channels(struct pxa_camera_dev *pcdev) pcdev 927 drivers/media/platform/pxa_camera.c for (i = 0; i < pcdev->channels; i++) { pcdev 928 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 930 drivers/media/platform/pxa_camera.c dmaengine_terminate_all(pcdev->dma_chans[i]); pcdev 934 drivers/media/platform/pxa_camera.c static void pxa_dma_add_tail_buf(struct pxa_camera_dev *pcdev, pcdev 939 drivers/media/platform/pxa_camera.c for (i = 0; i < pcdev->channels; i++) { pcdev 941 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 955 drivers/media/platform/pxa_camera.c static void pxa_camera_start_capture(struct pxa_camera_dev *pcdev) pcdev 959 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "%s\n", __func__); pcdev 960 drivers/media/platform/pxa_camera.c __raw_writel(__raw_readl(pcdev->base + CISR), pcdev->base + CISR); pcdev 962 drivers/media/platform/pxa_camera.c cicr0 = __raw_readl(pcdev->base + CICR0) | CICR0_ENB; pcdev 964 drivers/media/platform/pxa_camera.c __raw_writel(cicr0, pcdev->base + CICR0); pcdev 967 drivers/media/platform/pxa_camera.c static void pxa_camera_stop_capture(struct pxa_camera_dev *pcdev) pcdev 971 drivers/media/platform/pxa_camera.c pxa_dma_stop_channels(pcdev); pcdev 973 drivers/media/platform/pxa_camera.c cicr0 = __raw_readl(pcdev->base + CICR0) & ~CICR0_ENB; pcdev 974 drivers/media/platform/pxa_camera.c __raw_writel(cicr0, pcdev->base + CICR0); pcdev 976 drivers/media/platform/pxa_camera.c pcdev->active = NULL; pcdev 977 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "%s\n", __func__); pcdev 980 drivers/media/platform/pxa_camera.c static void pxa_camera_wakeup(struct pxa_camera_dev *pcdev, pcdev 990 drivers/media/platform/pxa_camera.c vbuf->sequence = pcdev->buf_sequence++; pcdev 993 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "%s dequeued buffer (buf=0x%p)\n", pcdev 996 drivers/media/platform/pxa_camera.c if (list_empty(&pcdev->capture)) { pcdev 997 drivers/media/platform/pxa_camera.c pxa_camera_stop_capture(pcdev); pcdev 1001 drivers/media/platform/pxa_camera.c pcdev->active = list_entry(pcdev->capture.next, pcdev 1023 drivers/media/platform/pxa_camera.c static void pxa_camera_check_link_miss(struct pxa_camera_dev *pcdev, pcdev 1029 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1031 drivers/media/platform/pxa_camera.c __func__, pcdev->active, is_dma_stopped); pcdev 1033 drivers/media/platform/pxa_camera.c if (pcdev->active && is_dma_stopped) pcdev 1034 drivers/media/platform/pxa_camera.c pxa_camera_start_capture(pcdev); pcdev 1037 drivers/media/platform/pxa_camera.c static void pxa_camera_dma_irq(struct pxa_camera_dev *pcdev, pcdev 1047 drivers/media/platform/pxa_camera.c spin_lock_irqsave(&pcdev->lock, flags); pcdev 1049 drivers/media/platform/pxa_camera.c camera_status = __raw_readl(pcdev->base + CISR); pcdev 1050 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "camera dma irq, cisr=0x%x dma=%d\n", pcdev 1053 drivers/media/platform/pxa_camera.c if (pcdev->channels == 3) pcdev 1068 drivers/media/platform/pxa_camera.c if (!pcdev->active) pcdev 1071 drivers/media/platform/pxa_camera.c buf = pcdev->active; pcdev 1089 drivers/media/platform/pxa_camera.c last_buf = list_entry(pcdev->capture.prev, pcdev 1091 drivers/media/platform/pxa_camera.c last_status = dma_async_is_tx_complete(pcdev->dma_chans[chan], pcdev 1096 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "FIFO overrun! CISR: %x\n", pcdev 1098 drivers/media/platform/pxa_camera.c pxa_camera_stop_capture(pcdev); pcdev 1099 drivers/media/platform/pxa_camera.c list_for_each_entry(buf, &pcdev->capture, queue) pcdev 1100 drivers/media/platform/pxa_camera.c pxa_dma_add_tail_buf(pcdev, buf); pcdev 1101 drivers/media/platform/pxa_camera.c pxa_camera_start_capture(pcdev); pcdev 1106 drivers/media/platform/pxa_camera.c pxa_camera_wakeup(pcdev, buf, VB2_BUF_STATE_DONE); pcdev 1107 drivers/media/platform/pxa_camera.c pxa_camera_check_link_miss(pcdev, last_buf->cookie[chan], pcdev 1112 drivers/media/platform/pxa_camera.c spin_unlock_irqrestore(&pcdev->lock, flags); pcdev 1116 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev) pcdev 1118 drivers/media/platform/pxa_camera.c unsigned long mclk = pcdev->mclk; pcdev 1122 drivers/media/platform/pxa_camera.c lcdclk = clk_get_rate(pcdev->clk); pcdev 1123 drivers/media/platform/pxa_camera.c pcdev->ciclk = lcdclk; pcdev 1136 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) pcdev 1137 drivers/media/platform/pxa_camera.c pcdev->mclk = lcdclk / (2 * (div + 1)); pcdev 1145 drivers/media/platform/pxa_camera.c static void recalculate_fifo_timeout(struct pxa_camera_dev *pcdev, pcdev 1149 drivers/media/platform/pxa_camera.c u32 ciclk_per_pixel = pcdev->ciclk / pclk + 1; pcdev 1151 drivers/media/platform/pxa_camera.c __raw_writel(ciclk_per_pixel, pcdev->base + CITOR); pcdev 1154 drivers/media/platform/pxa_camera.c static void pxa_camera_activate(struct pxa_camera_dev *pcdev) pcdev 1159 drivers/media/platform/pxa_camera.c __raw_writel(0x3ff, pcdev->base + CICR0); pcdev 1161 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) pcdev 1163 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) pcdev 1165 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_PCP) pcdev 1167 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_HSP) pcdev 1169 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_VSP) pcdev 1172 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->mclk_divisor | cicr4, pcdev->base + CICR4); pcdev 1174 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) pcdev 1176 drivers/media/platform/pxa_camera.c recalculate_fifo_timeout(pcdev, pcdev->mclk); pcdev 1179 drivers/media/platform/pxa_camera.c recalculate_fifo_timeout(pcdev, 13000000); pcdev 1181 drivers/media/platform/pxa_camera.c clk_prepare_enable(pcdev->clk); pcdev 1184 drivers/media/platform/pxa_camera.c static void pxa_camera_deactivate(struct pxa_camera_dev *pcdev) pcdev 1186 drivers/media/platform/pxa_camera.c clk_disable_unprepare(pcdev->clk); pcdev 1191 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = (struct pxa_camera_dev *)arg; pcdev 1195 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1197 drivers/media/platform/pxa_camera.c __raw_readl(pcdev->base + CISR)); pcdev 1200 drivers/media/platform/pxa_camera.c cifr = __raw_readl(pcdev->base + CIFR) | CIFR_RESET_F; pcdev 1201 drivers/media/platform/pxa_camera.c __raw_writel(cifr, pcdev->base + CIFR); pcdev 1203 drivers/media/platform/pxa_camera.c pcdev->active = list_first_entry(&pcdev->capture, pcdev 1205 drivers/media/platform/pxa_camera.c buf = pcdev->active; pcdev 1206 drivers/media/platform/pxa_camera.c pxa_videobuf_set_actdma(pcdev, buf); pcdev 1208 drivers/media/platform/pxa_camera.c pxa_dma_start_channels(pcdev); pcdev 1213 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = data; pcdev 1216 drivers/media/platform/pxa_camera.c status = __raw_readl(pcdev->base + CISR); pcdev 1217 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1223 drivers/media/platform/pxa_camera.c __raw_writel(status, pcdev->base + CISR); pcdev 1226 drivers/media/platform/pxa_camera.c cicr0 = __raw_readl(pcdev->base + CICR0) | CICR0_EOFM; pcdev 1227 drivers/media/platform/pxa_camera.c __raw_writel(cicr0, pcdev->base + CICR0); pcdev 1228 drivers/media/platform/pxa_camera.c tasklet_schedule(&pcdev->task_eof); pcdev 1234 drivers/media/platform/pxa_camera.c static int test_platform_param(struct pxa_camera_dev *pcdev, pcdev 1242 drivers/media/platform/pxa_camera.c *flags = (pcdev->platform_flags & PXA_CAMERA_MASTER ? pcdev 1253 drivers/media/platform/pxa_camera.c if ((1 << (buswidth - 1)) & pcdev->width_flags) pcdev 1259 drivers/media/platform/pxa_camera.c static void pxa_camera_setup_cicr(struct pxa_camera_dev *pcdev, pcdev 1264 drivers/media/platform/pxa_camera.c int ret = sensor_call(pcdev, sensor, g_skip_top_lines, &y_skip_top); pcdev 1273 drivers/media/platform/pxa_camera.c switch (pcdev->current_fmt->host_fmt->bits_per_sample) { pcdev 1292 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_PCLK_EN) pcdev 1294 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_MCLK_EN) pcdev 1303 drivers/media/platform/pxa_camera.c cicr0 = __raw_readl(pcdev->base + CICR0); pcdev 1305 drivers/media/platform/pxa_camera.c __raw_writel(cicr0 & ~CICR0_ENB, pcdev->base + CICR0); pcdev 1307 drivers/media/platform/pxa_camera.c cicr1 = CICR1_PPL_VAL(pcdev->current_pix.width - 1) | bpp | dw; pcdev 1311 drivers/media/platform/pxa_camera.c pcdev->channels = 3; pcdev 1337 drivers/media/platform/pxa_camera.c cicr3 = CICR3_LPF_VAL(pcdev->current_pix.height - 1) | pcdev 1339 drivers/media/platform/pxa_camera.c cicr4 |= pcdev->mclk_divisor; pcdev 1341 drivers/media/platform/pxa_camera.c __raw_writel(cicr1, pcdev->base + CICR1); pcdev 1342 drivers/media/platform/pxa_camera.c __raw_writel(cicr2, pcdev->base + CICR2); pcdev 1343 drivers/media/platform/pxa_camera.c __raw_writel(cicr3, pcdev->base + CICR3); pcdev 1344 drivers/media/platform/pxa_camera.c __raw_writel(cicr4, pcdev->base + CICR4); pcdev 1347 drivers/media/platform/pxa_camera.c cicr0 = (cicr0 & CICR0_ENB) | (pcdev->platform_flags & PXA_CAMERA_MASTER ? pcdev 1350 drivers/media/platform/pxa_camera.c __raw_writel(cicr0, pcdev->base + CICR0); pcdev 1371 drivers/media/platform/pxa_camera.c static int pxa_buffer_init(struct pxa_camera_dev *pcdev, pcdev 1376 drivers/media/platform/pxa_camera.c int nb_channels = pcdev->channels; pcdev 1397 drivers/media/platform/pxa_camera.c dev_err(pcdev_to_dev(pcdev), pcdev 1402 drivers/media/platform/pxa_camera.c ret = pxa_init_dma_channel(pcdev, buf, i, pcdev 1417 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vb->vb2_queue); pcdev 1419 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1427 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vb->vb2_queue); pcdev 1429 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1431 drivers/media/platform/pxa_camera.c __func__, vb, pcdev->channels, vb2_get_plane_payload(vb, 0), pcdev 1432 drivers/media/platform/pxa_camera.c pcdev->active); pcdev 1434 drivers/media/platform/pxa_camera.c list_add_tail(&buf->queue, &pcdev->capture); pcdev 1436 drivers/media/platform/pxa_camera.c pxa_dma_add_tail_buf(pcdev, buf); pcdev 1447 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vb->vb2_queue); pcdev 1451 drivers/media/platform/pxa_camera.c switch (pcdev->channels) { pcdev 1454 drivers/media/platform/pxa_camera.c vb2_set_plane_payload(vb, 0, pcdev->current_pix.sizeimage); pcdev 1460 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1462 drivers/media/platform/pxa_camera.c __func__, vb, pcdev->channels, vb2_get_plane_payload(vb, 0)); pcdev 1464 drivers/media/platform/pxa_camera.c WARN_ON(!pcdev->current_fmt); pcdev 1481 drivers/media/platform/pxa_camera.c pxa_videobuf_set_actdma(pcdev, buf); pcdev 1488 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vb->vb2_queue); pcdev 1491 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1493 drivers/media/platform/pxa_camera.c __func__, pcdev->channels); pcdev 1495 drivers/media/platform/pxa_camera.c return pxa_buffer_init(pcdev, buf); pcdev 1503 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vq); pcdev 1504 drivers/media/platform/pxa_camera.c int size = pcdev->current_pix.sizeimage; pcdev 1506 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1518 drivers/media/platform/pxa_camera.c switch (pcdev->channels) { pcdev 1535 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vq); pcdev 1537 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "%s(count=%d) active=%p\n", pcdev 1538 drivers/media/platform/pxa_camera.c __func__, count, pcdev->active); pcdev 1540 drivers/media/platform/pxa_camera.c pcdev->buf_sequence = 0; pcdev 1541 drivers/media/platform/pxa_camera.c if (!pcdev->active) pcdev 1542 drivers/media/platform/pxa_camera.c pxa_camera_start_capture(pcdev); pcdev 1549 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = vb2_get_drv_priv(vq); pcdev 1552 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "%s active=%p\n", pcdev 1553 drivers/media/platform/pxa_camera.c __func__, pcdev->active); pcdev 1554 drivers/media/platform/pxa_camera.c pxa_camera_stop_capture(pcdev); pcdev 1556 drivers/media/platform/pxa_camera.c list_for_each_entry_safe(buf, tmp, &pcdev->capture, queue) pcdev 1557 drivers/media/platform/pxa_camera.c pxa_camera_wakeup(pcdev, buf, VB2_BUF_STATE_ERROR); pcdev 1572 drivers/media/platform/pxa_camera.c static int pxa_camera_init_videobuf2(struct pxa_camera_dev *pcdev) pcdev 1575 drivers/media/platform/pxa_camera.c struct vb2_queue *vq = &pcdev->vb2_vq; pcdev 1580 drivers/media/platform/pxa_camera.c vq->drv_priv = pcdev; pcdev 1583 drivers/media/platform/pxa_camera.c vq->dev = pcdev->v4l2_dev.dev; pcdev 1587 drivers/media/platform/pxa_camera.c vq->lock = &pcdev->mlock; pcdev 1590 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1599 drivers/media/platform/pxa_camera.c static int pxa_camera_set_bus_param(struct pxa_camera_dev *pcdev) pcdev 1602 drivers/media/platform/pxa_camera.c u32 pixfmt = pcdev->current_fmt->host_fmt->fourcc; pcdev 1606 drivers/media/platform/pxa_camera.c ret = test_platform_param(pcdev, pcdev 1607 drivers/media/platform/pxa_camera.c pcdev->current_fmt->host_fmt->bits_per_sample, pcdev 1612 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, video, g_mbus_config, &cfg); pcdev 1617 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), pcdev 1628 drivers/media/platform/pxa_camera.c pcdev->channels = 1; pcdev 1633 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_HSP) pcdev 1641 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_VSP) pcdev 1649 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_PCP) pcdev 1656 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, video, s_mbus_config, &cfg); pcdev 1658 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1664 drivers/media/platform/pxa_camera.c pxa_camera_setup_cicr(pcdev, common_flags, pixfmt); pcdev 1669 drivers/media/platform/pxa_camera.c static int pxa_camera_try_bus_param(struct pxa_camera_dev *pcdev, pcdev 1674 drivers/media/platform/pxa_camera.c int ret = test_platform_param(pcdev, buswidth, &bus_flags); pcdev 1679 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, video, g_mbus_config, &cfg); pcdev 1684 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), pcdev 1721 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = v4l2_dev_to_pcdev(v4l2_dev); pcdev 1729 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, pad, enum_mbus_code, NULL, &code); pcdev 1736 drivers/media/platform/pxa_camera.c dev_err(pcdev_to_dev(pcdev), pcdev 1742 drivers/media/platform/pxa_camera.c ret = pxa_camera_try_bus_param(pcdev, fmt->bits_per_sample); pcdev 1753 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1764 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1772 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1789 drivers/media/platform/pxa_camera.c static int pxa_camera_build_formats(struct pxa_camera_dev *pcdev) pcdev 1793 drivers/media/platform/pxa_camera.c xlate = pxa_mbus_build_fmts_xlate(&pcdev->v4l2_dev, pcdev->sensor, pcdev 1798 drivers/media/platform/pxa_camera.c pcdev->user_formats = xlate; pcdev 1802 drivers/media/platform/pxa_camera.c static void pxa_camera_destroy_formats(struct pxa_camera_dev *pcdev) pcdev 1804 drivers/media/platform/pxa_camera.c kfree(pcdev->user_formats); pcdev 1818 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(file); pcdev 1823 drivers/media/platform/pxa_camera.c reg->val = __raw_readl(pcdev->base + reg->reg); pcdev 1831 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(file); pcdev 1837 drivers/media/platform/pxa_camera.c __raw_writel(reg->val, pcdev->base + reg->reg); pcdev 1845 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 1849 drivers/media/platform/pxa_camera.c for (idx = 0; pcdev->user_formats[idx].code; idx++); pcdev 1853 drivers/media/platform/pxa_camera.c format = pcdev->user_formats[f->index].host_fmt; pcdev 1861 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 1864 drivers/media/platform/pxa_camera.c pix->width = pcdev->current_pix.width; pcdev 1865 drivers/media/platform/pxa_camera.c pix->height = pcdev->current_pix.height; pcdev 1866 drivers/media/platform/pxa_camera.c pix->bytesperline = pcdev->current_pix.bytesperline; pcdev 1867 drivers/media/platform/pxa_camera.c pix->sizeimage = pcdev->current_pix.sizeimage; pcdev 1868 drivers/media/platform/pxa_camera.c pix->field = pcdev->current_pix.field; pcdev 1869 drivers/media/platform/pxa_camera.c pix->pixelformat = pcdev->current_fmt->host_fmt->fourcc; pcdev 1870 drivers/media/platform/pxa_camera.c pix->colorspace = pcdev->current_pix.colorspace; pcdev 1871 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), "current_fmt->fourcc: 0x%08x\n", pcdev 1872 drivers/media/platform/pxa_camera.c pcdev->current_fmt->host_fmt->fourcc); pcdev 1879 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 1890 drivers/media/platform/pxa_camera.c xlate = pxa_mbus_xlate_by_fourcc(pcdev->user_formats, pixfmt); pcdev 1892 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), "Format %x not found\n", pixfmt); pcdev 1907 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, pad, set_fmt, &pad_cfg, &format); pcdev 1921 drivers/media/platform/pxa_camera.c dev_err(pcdev_to_dev(pcdev), "Field type %d unsupported.\n", pcdev 1943 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 1952 drivers/media/platform/pxa_camera.c dev_dbg(pcdev_to_dev(pcdev), pcdev 1956 drivers/media/platform/pxa_camera.c spin_lock_irqsave(&pcdev->lock, flags); pcdev 1957 drivers/media/platform/pxa_camera.c is_busy = pcdev->active || vb2_is_busy(&pcdev->vb2_vq); pcdev 1958 drivers/media/platform/pxa_camera.c spin_unlock_irqrestore(&pcdev->lock, flags); pcdev 1967 drivers/media/platform/pxa_camera.c xlate = pxa_mbus_xlate_by_fourcc(pcdev->user_formats, pcdev 1970 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, pad, set_fmt, NULL, &format); pcdev 1972 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), pcdev 1976 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), pcdev 1982 drivers/media/platform/pxa_camera.c pcdev->current_fmt = xlate; pcdev 1983 drivers/media/platform/pxa_camera.c pcdev->current_pix = *pix; pcdev 1985 drivers/media/platform/pxa_camera.c ret = pxa_camera_set_bus_param(pcdev); pcdev 2025 drivers/media/platform/pxa_camera.c static int pxac_sensor_set_power(struct pxa_camera_dev *pcdev, int on) pcdev 2029 drivers/media/platform/pxa_camera.c ret = sensor_call(pcdev, core, s_power, on); pcdev 2033 drivers/media/platform/pxa_camera.c dev_warn(pcdev_to_dev(pcdev), pcdev 2043 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 2046 drivers/media/platform/pxa_camera.c mutex_lock(&pcdev->mlock); pcdev 2054 drivers/media/platform/pxa_camera.c ret = pxac_sensor_set_power(pcdev, 1); pcdev 2058 drivers/media/platform/pxa_camera.c mutex_unlock(&pcdev->mlock); pcdev 2064 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = video_drvdata(filp); pcdev 2068 drivers/media/platform/pxa_camera.c mutex_lock(&pcdev->mlock); pcdev 2075 drivers/media/platform/pxa_camera.c ret = pxac_sensor_set_power(pcdev, 0); pcdev 2077 drivers/media/platform/pxa_camera.c mutex_unlock(&pcdev->mlock); pcdev 2138 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = v4l2_dev_to_pcdev(v4l2_dev); pcdev 2139 drivers/media/platform/pxa_camera.c struct video_device *vdev = &pcdev->vdev; pcdev 2140 drivers/media/platform/pxa_camera.c struct v4l2_pix_format *pix = &pcdev->current_pix; pcdev 2146 drivers/media/platform/pxa_camera.c dev_info(pcdev_to_dev(pcdev), "%s(): trying to bind a device\n", pcdev 2148 drivers/media/platform/pxa_camera.c mutex_lock(&pcdev->mlock); pcdev 2151 drivers/media/platform/pxa_camera.c vdev->lock = &pcdev->mlock; pcdev 2152 drivers/media/platform/pxa_camera.c pcdev->sensor = subdev; pcdev 2153 drivers/media/platform/pxa_camera.c pcdev->vdev.queue = &pcdev->vb2_vq; pcdev 2154 drivers/media/platform/pxa_camera.c pcdev->vdev.v4l2_dev = &pcdev->v4l2_dev; pcdev 2155 drivers/media/platform/pxa_camera.c pcdev->vdev.ctrl_handler = subdev->ctrl_handler; pcdev 2156 drivers/media/platform/pxa_camera.c video_set_drvdata(&pcdev->vdev, pcdev); pcdev 2158 drivers/media/platform/pxa_camera.c err = pxa_camera_build_formats(pcdev); pcdev 2160 drivers/media/platform/pxa_camera.c dev_err(pcdev_to_dev(pcdev), "building formats failed: %d\n", pcdev 2165 drivers/media/platform/pxa_camera.c pcdev->current_fmt = pcdev->user_formats; pcdev 2171 drivers/media/platform/pxa_camera.c pcdev->current_fmt->host_fmt); pcdev 2173 drivers/media/platform/pxa_camera.c pxa_mbus_image_size(pcdev->current_fmt->host_fmt, pcdev 2175 drivers/media/platform/pxa_camera.c pix->pixelformat = pcdev->current_fmt->host_fmt->fourcc; pcdev 2176 drivers/media/platform/pxa_camera.c v4l2_fill_mbus_format(mf, pix, pcdev->current_fmt->code); pcdev 2178 drivers/media/platform/pxa_camera.c err = pxac_sensor_set_power(pcdev, 1); pcdev 2182 drivers/media/platform/pxa_camera.c err = sensor_call(pcdev, pad, set_fmt, NULL, &format); pcdev 2190 drivers/media/platform/pxa_camera.c err = pxa_camera_init_videobuf2(pcdev); pcdev 2194 drivers/media/platform/pxa_camera.c err = video_register_device(&pcdev->vdev, VFL_TYPE_GRABBER, -1); pcdev 2197 drivers/media/platform/pxa_camera.c pcdev->sensor = NULL; pcdev 2199 drivers/media/platform/pxa_camera.c dev_info(pcdev_to_dev(pcdev), pcdev 2205 drivers/media/platform/pxa_camera.c err = pxac_sensor_set_power(pcdev, 0); pcdev 2207 drivers/media/platform/pxa_camera.c mutex_unlock(&pcdev->mlock); pcdev 2215 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = v4l2_dev_to_pcdev(notifier->v4l2_dev); pcdev 2217 drivers/media/platform/pxa_camera.c mutex_lock(&pcdev->mlock); pcdev 2218 drivers/media/platform/pxa_camera.c dev_info(pcdev_to_dev(pcdev), pcdev 2223 drivers/media/platform/pxa_camera.c __raw_writel(0x3ff, pcdev->base + CICR0); pcdev 2226 drivers/media/platform/pxa_camera.c pxa_dma_stop_channels(pcdev); pcdev 2228 drivers/media/platform/pxa_camera.c pxa_camera_destroy_formats(pcdev); pcdev 2230 drivers/media/platform/pxa_camera.c if (pcdev->mclk_clk) { pcdev 2231 drivers/media/platform/pxa_camera.c v4l2_clk_unregister(pcdev->mclk_clk); pcdev 2232 drivers/media/platform/pxa_camera.c pcdev->mclk_clk = NULL; pcdev 2235 drivers/media/platform/pxa_camera.c video_unregister_device(&pcdev->vdev); pcdev 2236 drivers/media/platform/pxa_camera.c pcdev->sensor = NULL; pcdev 2238 drivers/media/platform/pxa_camera.c mutex_unlock(&pcdev->mlock); pcdev 2251 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = dev_get_drvdata(dev); pcdev 2254 drivers/media/platform/pxa_camera.c pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR0); pcdev 2255 drivers/media/platform/pxa_camera.c pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR1); pcdev 2256 drivers/media/platform/pxa_camera.c pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR2); pcdev 2257 drivers/media/platform/pxa_camera.c pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR3); pcdev 2258 drivers/media/platform/pxa_camera.c pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR4); pcdev 2260 drivers/media/platform/pxa_camera.c if (pcdev->sensor) pcdev 2261 drivers/media/platform/pxa_camera.c ret = pxac_sensor_set_power(pcdev, 0); pcdev 2268 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = dev_get_drvdata(dev); pcdev 2271 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->save_cicr[i++] & ~CICR0_ENB, pcdev->base + CICR0); pcdev 2272 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR1); pcdev 2273 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR2); pcdev 2274 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR3); pcdev 2275 drivers/media/platform/pxa_camera.c __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR4); pcdev 2277 drivers/media/platform/pxa_camera.c if (pcdev->sensor) { pcdev 2278 drivers/media/platform/pxa_camera.c ret = pxac_sensor_set_power(pcdev, 1); pcdev 2282 drivers/media/platform/pxa_camera.c if (!ret && pcdev->active) pcdev 2283 drivers/media/platform/pxa_camera.c pxa_camera_start_capture(pcdev); pcdev 2289 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev, pcdev 2298 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_MCLK_EN; pcdev 2299 drivers/media/platform/pxa_camera.c pcdev->mclk = mclk_rate; pcdev 2316 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_4; pcdev 2319 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_5; pcdev 2322 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_8; pcdev 2325 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_9; pcdev 2328 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_10; pcdev 2335 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_MASTER; pcdev 2337 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_HSP; pcdev 2339 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_VSP; pcdev 2341 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_PCLK_EN | PXA_CAMERA_PCP; pcdev 2343 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_PCLK_EN; pcdev 2360 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev; pcdev 2377 drivers/media/platform/pxa_camera.c pcdev = devm_kzalloc(&pdev->dev, sizeof(*pcdev), GFP_KERNEL); pcdev 2378 drivers/media/platform/pxa_camera.c if (!pcdev) { pcdev 2383 drivers/media/platform/pxa_camera.c pcdev->clk = devm_clk_get(&pdev->dev, NULL); pcdev 2384 drivers/media/platform/pxa_camera.c if (IS_ERR(pcdev->clk)) pcdev 2385 drivers/media/platform/pxa_camera.c return PTR_ERR(pcdev->clk); pcdev 2387 drivers/media/platform/pxa_camera.c pcdev->res = res; pcdev 2389 drivers/media/platform/pxa_camera.c pcdev->pdata = pdev->dev.platform_data; pcdev 2390 drivers/media/platform/pxa_camera.c if (pcdev->pdata) { pcdev 2391 drivers/media/platform/pxa_camera.c pcdev->platform_flags = pcdev->pdata->flags; pcdev 2392 drivers/media/platform/pxa_camera.c pcdev->mclk = pcdev->pdata->mclk_10khz * 10000; pcdev 2393 drivers/media/platform/pxa_camera.c pcdev->asd.match_type = V4L2_ASYNC_MATCH_I2C; pcdev 2394 drivers/media/platform/pxa_camera.c pcdev->asd.match.i2c.adapter_id = pcdev 2395 drivers/media/platform/pxa_camera.c pcdev->pdata->sensor_i2c_adapter_id; pcdev 2396 drivers/media/platform/pxa_camera.c pcdev->asd.match.i2c.address = pcdev->pdata->sensor_i2c_address; pcdev 2398 drivers/media/platform/pxa_camera.c err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd); pcdev 2405 drivers/media/platform/pxa_camera.c if (!(pcdev->platform_flags & (PXA_CAMERA_DATAWIDTH_8 | pcdev 2412 drivers/media/platform/pxa_camera.c pcdev->platform_flags |= PXA_CAMERA_DATAWIDTH_10; pcdev 2414 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_8) pcdev 2415 drivers/media/platform/pxa_camera.c pcdev->width_flags = 1 << 7; pcdev 2416 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_9) pcdev 2417 drivers/media/platform/pxa_camera.c pcdev->width_flags |= 1 << 8; pcdev 2418 drivers/media/platform/pxa_camera.c if (pcdev->platform_flags & PXA_CAMERA_DATAWIDTH_10) pcdev 2419 drivers/media/platform/pxa_camera.c pcdev->width_flags |= 1 << 9; pcdev 2420 drivers/media/platform/pxa_camera.c if (!pcdev->mclk) { pcdev 2423 drivers/media/platform/pxa_camera.c pcdev->mclk = 20000000; pcdev 2426 drivers/media/platform/pxa_camera.c pcdev->mclk_divisor = mclk_get_divisor(pdev, pcdev); pcdev 2428 drivers/media/platform/pxa_camera.c INIT_LIST_HEAD(&pcdev->capture); pcdev 2429 drivers/media/platform/pxa_camera.c spin_lock_init(&pcdev->lock); pcdev 2430 drivers/media/platform/pxa_camera.c mutex_init(&pcdev->mlock); pcdev 2439 drivers/media/platform/pxa_camera.c pcdev->irq = irq; pcdev 2440 drivers/media/platform/pxa_camera.c pcdev->base = base; pcdev 2443 drivers/media/platform/pxa_camera.c pcdev->dma_chans[0] = dma_request_slave_channel(&pdev->dev, "CI_Y"); pcdev 2444 drivers/media/platform/pxa_camera.c if (!pcdev->dma_chans[0]) { pcdev 2449 drivers/media/platform/pxa_camera.c pcdev->dma_chans[1] = dma_request_slave_channel(&pdev->dev, "CI_U"); pcdev 2450 drivers/media/platform/pxa_camera.c if (!pcdev->dma_chans[1]) { pcdev 2456 drivers/media/platform/pxa_camera.c pcdev->dma_chans[2] = dma_request_slave_channel(&pdev->dev, "CI_V"); pcdev 2457 drivers/media/platform/pxa_camera.c if (!pcdev->dma_chans[2]) { pcdev 2464 drivers/media/platform/pxa_camera.c config.src_addr = pcdev->res->start + CIBR0 + i * 8; pcdev 2465 drivers/media/platform/pxa_camera.c err = dmaengine_slave_config(pcdev->dma_chans[i], &config); pcdev 2474 drivers/media/platform/pxa_camera.c err = devm_request_irq(&pdev->dev, pcdev->irq, pxa_camera_irq, 0, pcdev 2475 drivers/media/platform/pxa_camera.c PXA_CAM_DRV_NAME, pcdev); pcdev 2481 drivers/media/platform/pxa_camera.c tasklet_init(&pcdev->task_eof, pxa_camera_eof, (unsigned long)pcdev); pcdev 2483 drivers/media/platform/pxa_camera.c pxa_camera_activate(pcdev); pcdev 2485 drivers/media/platform/pxa_camera.c dev_set_drvdata(&pdev->dev, pcdev); pcdev 2486 drivers/media/platform/pxa_camera.c err = v4l2_device_register(&pdev->dev, &pcdev->v4l2_dev); pcdev 2490 drivers/media/platform/pxa_camera.c v4l2_async_notifier_init(&pcdev->notifier); pcdev 2492 drivers/media/platform/pxa_camera.c err = v4l2_async_notifier_add_subdev(&pcdev->notifier, &pcdev->asd); pcdev 2494 drivers/media/platform/pxa_camera.c fwnode_handle_put(pcdev->asd.match.fwnode); pcdev 2498 drivers/media/platform/pxa_camera.c pcdev->notifier.ops = &pxa_camera_sensor_ops; pcdev 2501 drivers/media/platform/pxa_camera.c pcdev->asd.match_type = V4L2_ASYNC_MATCH_I2C; pcdev 2503 drivers/media/platform/pxa_camera.c err = pxa_camera_init_videobuf2(pcdev); pcdev 2507 drivers/media/platform/pxa_camera.c if (pcdev->mclk) { pcdev 2509 drivers/media/platform/pxa_camera.c pcdev->asd.match.i2c.adapter_id, pcdev 2510 drivers/media/platform/pxa_camera.c pcdev->asd.match.i2c.address); pcdev 2512 drivers/media/platform/pxa_camera.c pcdev->mclk_clk = v4l2_clk_register(&pxa_camera_mclk_ops, pcdev 2514 drivers/media/platform/pxa_camera.c if (IS_ERR(pcdev->mclk_clk)) { pcdev 2515 drivers/media/platform/pxa_camera.c err = PTR_ERR(pcdev->mclk_clk); pcdev 2520 drivers/media/platform/pxa_camera.c err = v4l2_async_notifier_register(&pcdev->v4l2_dev, &pcdev->notifier); pcdev 2526 drivers/media/platform/pxa_camera.c v4l2_clk_unregister(pcdev->mclk_clk); pcdev 2528 drivers/media/platform/pxa_camera.c v4l2_async_notifier_cleanup(&pcdev->notifier); pcdev 2530 drivers/media/platform/pxa_camera.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 2532 drivers/media/platform/pxa_camera.c pxa_camera_deactivate(pcdev); pcdev 2534 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[2]); pcdev 2536 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[1]); pcdev 2538 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[0]); pcdev 2544 drivers/media/platform/pxa_camera.c struct pxa_camera_dev *pcdev = dev_get_drvdata(&pdev->dev); pcdev 2546 drivers/media/platform/pxa_camera.c pxa_camera_deactivate(pcdev); pcdev 2547 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[0]); pcdev 2548 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[1]); pcdev 2549 drivers/media/platform/pxa_camera.c dma_release_channel(pcdev->dma_chans[2]); pcdev 2551 drivers/media/platform/pxa_camera.c v4l2_async_notifier_unregister(&pcdev->notifier); pcdev 2552 drivers/media/platform/pxa_camera.c v4l2_async_notifier_cleanup(&pcdev->notifier); pcdev 2554 drivers/media/platform/pxa_camera.c if (pcdev->mclk_clk) { pcdev 2555 drivers/media/platform/pxa_camera.c v4l2_clk_unregister(pcdev->mclk_clk); pcdev 2556 drivers/media/platform/pxa_camera.c pcdev->mclk_clk = NULL; pcdev 2559 drivers/media/platform/pxa_camera.c v4l2_device_unregister(&pcdev->v4l2_dev); pcdev 80 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c static int meson_axg_pmx_set_mux(struct pinctrl_dev *pcdev, pcdev 85 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 104 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c static int meson_axg_pmx_request_gpio(struct pinctrl_dev *pcdev, pcdev 107 drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 103 drivers/pinctrl/meson/pinctrl-meson.c static int meson_get_groups_count(struct pinctrl_dev *pcdev) pcdev 105 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 110 drivers/pinctrl/meson/pinctrl-meson.c static const char *meson_get_group_name(struct pinctrl_dev *pcdev, pcdev 113 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 118 drivers/pinctrl/meson/pinctrl-meson.c static int meson_get_group_pins(struct pinctrl_dev *pcdev, unsigned selector, pcdev 121 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 129 drivers/pinctrl/meson/pinctrl-meson.c static void meson_pin_dbg_show(struct pinctrl_dev *pcdev, struct seq_file *s, pcdev 132 drivers/pinctrl/meson/pinctrl-meson.c seq_printf(s, " %s", dev_name(pcdev->dev)); pcdev 144 drivers/pinctrl/meson/pinctrl-meson.c int meson_pmx_get_funcs_count(struct pinctrl_dev *pcdev) pcdev 146 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 151 drivers/pinctrl/meson/pinctrl-meson.c const char *meson_pmx_get_func_name(struct pinctrl_dev *pcdev, pcdev 154 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 159 drivers/pinctrl/meson/pinctrl-meson.c int meson_pmx_get_groups(struct pinctrl_dev *pcdev, unsigned selector, pcdev 163 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 341 drivers/pinctrl/meson/pinctrl-meson.c static int meson_pinconf_set(struct pinctrl_dev *pcdev, unsigned int pin, pcdev 344 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 470 drivers/pinctrl/meson/pinctrl-meson.c static int meson_pinconf_get(struct pinctrl_dev *pcdev, unsigned int pin, pcdev 473 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 520 drivers/pinctrl/meson/pinctrl-meson.c static int meson_pinconf_group_set(struct pinctrl_dev *pcdev, pcdev 524 drivers/pinctrl/meson/pinctrl-meson.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 531 drivers/pinctrl/meson/pinctrl-meson.c meson_pinconf_set(pcdev, group->pins[i], configs, pcdev 538 drivers/pinctrl/meson/pinctrl-meson.c static int meson_pinconf_group_get(struct pinctrl_dev *pcdev, pcdev 724 drivers/pinctrl/meson/pinctrl-meson.c pc->pcdev = devm_pinctrl_register(pc->dev, &pc->desc, pc); pcdev 725 drivers/pinctrl/meson/pinctrl-meson.c if (IS_ERR(pc->pcdev)) { pcdev 727 drivers/pinctrl/meson/pinctrl-meson.c return PTR_ERR(pc->pcdev); pcdev 121 drivers/pinctrl/meson/pinctrl-meson.h struct pinctrl_dev *pcdev; pcdev 164 drivers/pinctrl/meson/pinctrl-meson.h int meson_pmx_get_funcs_count(struct pinctrl_dev *pcdev); pcdev 165 drivers/pinctrl/meson/pinctrl-meson.h const char *meson_pmx_get_func_name(struct pinctrl_dev *pcdev, pcdev 167 drivers/pinctrl/meson/pinctrl-meson.h int meson_pmx_get_groups(struct pinctrl_dev *pcdev, pcdev 56 drivers/pinctrl/meson/pinctrl-meson8-pmx.c static int meson8_pmx_set_mux(struct pinctrl_dev *pcdev, unsigned func_num, pcdev 59 drivers/pinctrl/meson/pinctrl-meson8-pmx.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 85 drivers/pinctrl/meson/pinctrl-meson8-pmx.c static int meson8_pmx_request_gpio(struct pinctrl_dev *pcdev, pcdev 89 drivers/pinctrl/meson/pinctrl-meson8-pmx.c struct meson_pinctrl *pc = pinctrl_dev_get_drvdata(pcdev); pcdev 142 drivers/pinctrl/pinctrl-digicolor.c static int dc_pmx_request_gpio(struct pinctrl_dev *pcdev, pcdev 146 drivers/pinctrl/pinctrl-digicolor.c struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pcdev);