Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Problems compiling siemens_dvb-0.9.4.tar.gz



Hello,

> dvb.c:3504: unknown field `busy' specified in initializer
> make[1]: Leaving directory `/usr/src/linux-2.4.19-pre6'
> make: *** [here] Error 2


think I have found the cause of the error message...

There does not seem to be a busy symbol in the structure video device 
in the 2.4.19-pre6 kernel sources (/usr/src/linux-2.4.19-pre6/include/linux/videodev.h:24):

struct video_device
{
    struct module *owner;
    char name[32];
    int type;       /* v4l1 */
    int type2;      /* v4l2 */
    int hardware;
    int minor;
    /* old, obsolete interface -- dropped in 2.5.x, don't use it */
    int (*open)(struct video_device *, int mode);
    void (*close)(struct video_device *);
    long (*read)(struct video_device *, char *, unsigned long, int noblock);								    
	long (*write)(struct video_device *, const char *, unsigned long, int noblock);
	unsigned int (*poll)(struct video_device *, struct file *, poll_table *);
    int (*ioctl)(struct video_device *, unsigned int , void *);
    int (*mmap)(struct video_device *, const char *, unsigned long);
    int (*initialize)(struct video_device *);
    /* new interface -- we will use file_operations directly
     * like soundcore does.
     * kernel_ioctl() will be called by video_generic_ioctl.
     * video_generic_ioctl() does the userspace copying of the
     * ioctl arguments */
    struct file_operations *fops;
    int (*kernel_ioctl)(struct inode *inode, struct file *file,
    unsigned int cmd, void *arg);
    void *priv;     /* Used to be 'private' but that upsets C++ */
    /* for videodev.c intenal usage -- don't touch */
    int users;
    struct semaphore lock;
    devfs_handle_t devfs_handle;
};

The symbol busy does still exist in the older 2.4.16 kernel tree:

/usr/src/linux-2.4.16/include/linux/videodev.h:31:      int busy;

struct video_device
{
    struct module *owner;
    char name[32];
    int type;
    int hardware;

    int (*open)(struct video_device *, int mode);
    void (*close)(struct video_device *);
    long (*read)(struct video_device *, char *, unsigned long, int noblock);
    /* Do we need a write method ? */
    long (*write)(struct video_device *, const char *, unsigned long, int noblock);
	#if LINUX_VERSION_CODE >= 0x020100
    unsigned int (*poll)(struct video_device *, struct file *, poll_table *);
	#endif
    int (*ioctl)(struct video_device *, unsigned int , void *);
    int (*mmap)(struct video_device *, const char *, unsigned long);
    int (*initialize)(struct video_device *);
    void *priv;     /* Used to be 'private' but that upsets C++ */
    int busy;
    int minor;
    devfs_handle_t devfs_handle;
};


So I assume that the code in the newer kernel has changed but the code of the driver 
has not been adapted to these changes till now?


Greetings,

			Arno Wilhelm

			

> The error seems to be in this structure:
> 
> /* template for video_device-structure */
> static struct video_device dvb_template = {
> name:           "DVB Board",
> type:           VID_TYPE_TUNER      |
> 				VID_TYPE_CAPTURE    |
> 				VID_TYPE_OVERLAY    |
> 				VID_TYPE_CLIPPING   |
> 				VID_TYPE_FRAMERAM   |
> 				VID_TYPE_SCALES,
> hardware:       VID_HARDWARE_SAA7146,
> open:           dvb_open,
> close:          dvb_close,
> read:           NULL,
> write:          NULL,
> poll:           NULL,
> ioctl:          dvb_ioctl,
> mmap:           dvb_mmap,
> initialize:     dvb_init_done,
> priv:           NULL,
> busy:           0,
> minor:          0
> };
> 
> Since I have never seen a initialization of a structure like this one ( no data types etc. ) 
> I assume that it referes to a external structure?
> 
> Does anybody know what the reason for this error could be? 
> 
> I am using gcc version 2.95.3 20010315 under gentoo-linux with kernel 2.4.19-pre6.
> 
> 
> Greetings,
> 
> 
> 		Arno Wilhelm
> 
> 
> -- 
>       _                 __      ___ _ _        _
>      /_\  _ _ _ _  ___  \ \    / (_) | |_  ___| |_ __
>     / _ \| '_| ' \/ _ \  \ \/\/ /| | | ' \/ -_) | '  \
>    /_/ \_\_| |_||_\___/   \_/\_/ |_|_|_||_\___|_|_|_|_|
> 
>    cell://+43/676/9263473
>    tel://+43/5252/6127
>    fax://+43/5252/6127
>    mail://a.wilhelm(a)quirxi.com
>    http://www.quirxi.com
> 
> 
> -- 
> Info:
> To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
> 

-- 
      _                 __      ___ _ _        _
     /_\  _ _ _ _  ___  \ \    / (_) | |_  ___| |_ __
    / _ \| '_| ' \/ _ \  \ \/\/ /| | | ' \/ -_) | '  \
   /_/ \_\_| |_||_\___/   \_/\_/ |_|_|_||_\___|_|_|_|_|

   cell://+43/676/9263473
   tel://+43/5252/6127
   fax://+43/5252/6127
   mail://a.wilhelm(a)quirxi.com
   http://www.quirxi.com


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index