Results 1 to 4 of 4

Thread: V4L Build Issues

  1. #1
    Join Date
    Apr 2011
    Beans
    1

    V4L Build Issues

    I'm trying to get v4l to work by using the following steps:

    git clone git://linuxtv.org/media_build.git cd media_build ./build.sh

    However, when trying to do the final step i get the following error:

    CC [M] /home/nikhil/media_build/v4l/timblogiw.o
    /home/nikhil/media_build/v4l/timblogiw.c: In function 'timblogiw_probe':
    /home/nikhil/media_build/v4l/timblogiw.c:794: error: implicit declaration of function 'mfd_get_data'
    /home/nikhil/media_build/v4l/timblogiw.c:794: warning: initialization makes pointer from integer without a cast
    make[3]: *** [/home/nikhil/media_build/v4l/timblogiw.o] Error 1
    make[2]: *** [_module_/home/nikhil/media_build/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-28-generic'
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/home/nikhil/media_build/v4l'
    make: *** [all] Error 2
    *** ERROR. Aborting ***

    I think the relevant region of the timblogiw.c file is:
    Code:
    static int __devinit timblogiw_probe(struct platform_device *pdev)
    {
        int err;
        struct timblogiw *lw = NULL;
        struct timb_video_platform_data *pdata = mfd_get_data(pdev);
    
        if (!pdata) {
            dev_err(&pdev->dev, "No platform data\n");
            err = -EINVAL;
            goto err;
        }
    
        if (!pdata->encoder.module_name)
            dev_info(&pdev->dev, "Running without decoder\n");
    
        lw = kzalloc(sizeof(*lw), GFP_KERNEL);
        if (!lw) {
            err = -ENOMEM;
            goto err;
        }
    
        if (pdev->dev.parent)
            lw->dev = pdev->dev.parent;
        else
            lw->dev = &pdev->dev;
    
        memcpy(&lw->pdata, pdata, sizeof(lw->pdata));
    
        mutex_init(&lw->lock);
    
        lw->video_dev = timblogiw_template;
    
        strlcpy(lw->v4l2_dev.name, DRIVER_NAME, sizeof(lw->v4l2_dev.name));
        err = v4l2_device_register(NULL, &lw->v4l2_dev);
        if (err)
            goto err_register;
    
        lw->video_dev.v4l2_dev = &lw->v4l2_dev;
    
        platform_set_drvdata(pdev, lw);
        video_set_drvdata(&lw->video_dev, lw);
    
        err = video_register_device(&lw->video_dev, VFL_TYPE_GRABBER, 0);
        if (err) {
            dev_err(&pdev->dev, "Error reg video: %d\n", err);
            goto err_request;
        }
    
    
        return 0;
    
    err_request:
        platform_set_drvdata(pdev, NULL);
        v4l2_device_unregister(&lw->v4l2_dev);
    err_register:
        kfree(lw);
    err:
        dev_err(&pdev->dev, "Failed to register: %d\n", err);
    
        return err;
    }


    And i think its a missing header file (mfd_get_data) but i can't seem to find where to get it.




  2. #2
    Join Date
    Dec 2004
    Location
    Atlanta, GA USA
    Beans
    7,257
    Distro
    Ubuntu Development Release

    Re: V4L Build Issues

    You can get the latest v4l by adding a ppa to your sources list then downloading it normally via synaptic. Much easier plus you will get updates. https://launchpad.net/~libv4l/+archi...ilter=maverick

    I assumed you are using ubuntu 10.10

  3. #3
    Join Date
    Oct 2007
    Beans
    74
    Distro
    Xubuntu 12.04 Precise Pangolin

    Re: V4L Build Issues

    However,

    If you really need to build it by hand. You can open .config file in the v4l directory with you text editor of choice and search for the line TIMBERDALE=m and change it to TIMBERDALE=n .

    Then run make.

    By doing that you are not building the timberdale portions.

  4. #4
    Join Date
    Mar 2008
    Location
    Prague
    Beans
    37
    Distro
    Kubuntu 10.10 Maverick Meerkat

    Re: V4L Build Issues

    Hey,

    nice tip, thanks.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •