diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/Kconfig | 16 | ||||
-rw-r--r-- | drivers/media/video/Makefile | 1 | ||||
-rw-r--r-- | drivers/media/video/mxs_pxp.c (renamed from drivers/media/video/pxp.c) | 27 | ||||
-rw-r--r-- | drivers/media/video/mxs_pxp.h (renamed from drivers/media/video/pxp.h) | 3 |
4 files changed, 20 insertions, 27 deletions
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index 9183ebd20851..c64c8d201262 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -569,8 +569,8 @@ config VIDEO_MXC_OUTPUT source "drivers/media/video/mxc/output/Kconfig" config VIDEO_PXP - tristate "MXS PxP" - depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_STMP3XXX || ARCH_MXS) + tristate "STMP3XXX PxP" + depends on VIDEO_DEV && VIDEO_V4L2 && ARCH_STMP3XXX select VIDEOBUF_DMA_CONTIG ---help--- This is a video4linux driver for the Freescale PxP @@ -580,6 +580,18 @@ config VIDEO_PXP To compile this driver as a module, choose M here: the module will be called pxp. +config VIDEO_MXS_PXP + tristate "MXS PxP" + depends on VIDEO_DEV && VIDEO_V4L2 && ARCH_MXS + select VIDEOBUF_DMA_CONTIG + ---help--- + This is a video4linux driver for the Freescale PxP + (Pixel Pipeline). This module supports output overlay of + the MXS framebuffer on a video stream. + + To compile this driver as a module, choose M here: the + module will be called pxp. + config VIDEO_MXC_OPL tristate depends on VIDEO_DEV && ARCH_MXC diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index f361f073e356..49cb18802024 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -96,6 +96,7 @@ obj-$(CONFIG_VIDEO_MXC_IPUV1_WVGA_OUTPUT) += mxc/output/ obj-$(CONFIG_VIDEO_MXC_EMMA_OUTPUT) += mxc/output/ obj-$(CONFIG_VIDEO_MXC_OPL) += mxc/opl/ obj-$(CONFIG_VIDEO_PXP) += pxp.o +obj-$(CONFIG_VIDEO_MXS_PXP) += mxs_pxp.o obj-$(CONFIG_VIDEO_CPIA) += cpia.o obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o diff --git a/drivers/media/video/pxp.c b/drivers/media/video/mxs_pxp.c index e49636212b59..0fa1b56521d9 100644 --- a/drivers/media/video/pxp.c +++ b/drivers/media/video/mxs_pxp.c @@ -30,7 +30,7 @@ #include <linux/mutex.h> #include <linux/platform_device.h> #include <linux/vmalloc.h> -#include <linux/videodev.h> +#include <linux/videodev2.h> #include <media/videobuf-dma-contig.h> #include <media/v4l2-common.h> @@ -39,9 +39,8 @@ #include <mach/hardware.h> #include <mach/regs-pxp.h> -#include <mach/lcdif.h> -#include "pxp.h" +#include "mxs_pxp.h" #define PXP_BASE_ADDR IO_ADDRESS(PXP_PHYS_ADDR) @@ -1154,7 +1153,9 @@ static const struct v4l2_ioctl_ops pxp_ioctl_ops = { static const struct video_device pxp_template = { .name = "PxP", - .vfl_type = VID_TYPE_OVERLAY | VID_TYPE_CLIPPING | VID_TYPE_SCALES, + .vfl_type = V4L2_CAP_VIDEO_OUTPUT | + V4L2_CAP_VIDEO_OVERLAY | + V4L2_CAP_STREAMING, .fops = &pxp_fops, .release = pxp_release, .minor = -1, @@ -1191,21 +1192,6 @@ out: return IRQ_HANDLED; } -static int pxp_notifier_callback(struct notifier_block *self, - unsigned long event, void *data) -{ - struct pxps *pxp = container_of(self, struct pxps, nb); - - switch (event) { - case STMP3XXX_LCDIF_PANEL_INIT: - pxp_set_fbinfo(pxp); - break; - default: - break; - } - return 0; -} - static int pxp_probe(struct platform_device *pdev) { struct pxps *pxp; @@ -1287,8 +1273,6 @@ static int pxp_probe(struct platform_device *pdev) goto freevdev; } - pxp->nb.notifier_call = pxp_notifier_callback, - stmp3xxx_lcdif_register_client(&pxp->nb); dev_info(&pdev->dev, "initialized\n"); exit: @@ -1313,7 +1297,6 @@ static int __devexit pxp_remove(struct platform_device *pdev) { struct pxps *pxp = platform_get_drvdata(pdev); - stmp3xxx_lcdif_unregister_client(&pxp->nb); video_unregister_device(pxp->vdev); video_device_release(pxp->vdev); diff --git a/drivers/media/video/pxp.h b/drivers/media/video/mxs_pxp.h index 05a4bd870411..d3021021df4e 100644 --- a/drivers/media/video/pxp.h +++ b/drivers/media/video/mxs_pxp.h @@ -137,9 +137,6 @@ struct pxps { struct pxp_registers *regs_virt; wait_queue_head_t done; int next_queue_ended; - - /* notifier for PXP when fb changed */ - struct notifier_block nb; }; struct pxp_data_format { |