Hello,Hadli,
On Thu, Dec 23, 2010 at 7:54 PM, Manjunath Hadli <[email protected]> wrote:
> This patch implements the coe functionality of the dislay driver,
> mainly controlling the VENC and other encoders, and acting as
> the one point interface for the man V4L2 driver.This implements
> the cre of each of the V4L2 IOCTLs.
>
> Signed-off-by: Manjunath Hadli <[email protected]>
> Acked-by: Muralidharan Karicheri <[email protected]>
> Acked-by: Hans Verkuil <[email protected]>
> ---
> drivers/media/video/davinci/vpbe.c | 836
> ++++++++++++++++++++++++++++++++++++
> include/media/davinci/vpbe.h | 186 ++++++++
> 2 files changed, 1022 insertions(+), 0 deletions(-)
> create mode 100644 drivers/media/video/davinci/vpbe.c
> create mode 100644 include/media/davinci/vpbe.h
>
> diff --git a/drivers/media/video/davinci/vpbe.c
> b/drivers/media/video/davinci/vpbe.c
> new file mode 100644
> index 0000000..aa0aac9
> --- /dev/null
> +++ b/drivers/media/video/davinci/vpbe.c
...
> +static __init int vpbe_probe(struct platform_device *pdev)
> +{
> + struct vpbe_display_config *vpbe_config;
> + struct vpbe_device *vpbe_dev;
> +
> + int ret = -EINVAL;
> +
> + if (NULL == pdev->dev.platform_data) {
> + v4l2_err(pdev->dev.driver, "Unable to get vpbe config\n");
> + return -ENODEV;
> + }
> +
> + if (pdev->dev.platform_data == NULL) {
> + v4l2_err(pdev->dev.driver, "No platform data\n");
> + return -ENODEV;
> + }
code duplicate?
> + vpbe_config = pdev->dev.platform_data;
> +
> + if (!vpbe_config->module_name[0] ||
> + !vpbe_config->osd.module_name[0] ||
> + !vpbe_config->venc.module_name[0]) {
> + v4l2_err(pdev->dev.driver, "vpbe display module names not"
> + " defined\n");
> + return ret;
> + }
> +
> + vpbe_dev = kzalloc(sizeof(*vpbe_dev), GFP_KERNEL);
> + if (vpbe_dev == NULL) {
> + v4l2_err(pdev->dev.driver, "Unable to allocate memory"
> + " for vpbe_device\n");
> + return -ENOMEM;
> + }
> + vpbe_dev->cfg = vpbe_config;
> + vpbe_dev->ops = vpbe_dev_ops;
> + vpbe_dev->pdev = &pdev->dev;
> +
> + if (vpbe_config->outputs->num_modes > 0)
> + vpbe_dev->current_timings =
> vpbe_dev->cfg->outputs[0].modes[0];
> + else
> + return -ENODEV;
> +
> + /* set the driver data in platform device */
> + platform_set_drvdata(pdev, vpbe_dev);
> + mutex_init(&vpbe_dev->lock);
> + return 0;
> +}
> +
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
>
--
Kaspter
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source