Skip to contentSkip to conversation

2.6.35 and current v4l-dvb - error: implicit declaration of function 'usb_buffer_free'

DISCUSSION Goga777 5 participants 7 messages Aug 11, 2010 – Aug 13, 2010 Media (V4L/DVB)

lore
Share & tools
lore

Goga777

author
#0 lore raw

Hi

I can't compile current v4l-dvb with new 2.6.35 kernel

arvdr:/usr/src/v4l-dvb# make
make -C /usr/src/v4l-dvb/v4l
make[1]: Entering directory `/usr/src/v4l-dvb/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-tux/build
make -C /lib/modules/2.6.35-tux/build SUBDIRS=/usr/src/v4l-dvb/v4l  modules
make[2]: Entering directory `/usr/src/linux-2.6.35'
  CC [M]  /usr/src/v4l-dvb/v4l/au0828-video.o
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_uninit_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:185: error: implicit declaration of function 'usb_buffer_free'
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_init_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:255: error: implicit declaration of function 'usb_buffer_alloc'
/usr/src/v4l-dvb/v4l/au0828-video.c:256: warning: assignment makes pointer from integer without a cast
make[3]: *** [/usr/src/v4l-dvb/v4l/au0828-video.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2
#1 lore raw

Hello,

2010/8/11 Goga777 <[email protected]>:

Quoted 22 lines

Hi

I can't compile current v4l-dvb with new 2.6.35 kernel

arvdr:/usr/src/v4l-dvb# make
make -C /usr/src/v4l-dvb/v4l
make[1]: Entering directory `/usr/src/v4l-dvb/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-tux/build
make -C /lib/modules/2.6.35-tux/build SUBDIRS=/usr/src/v4l-dvb/v4l  modules
make[2]: Entering directory `/usr/src/linux-2.6.35'
 CC [M]  /usr/src/v4l-dvb/v4l/au0828-video.o
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_uninit_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:185: error: implicit declaration of function 'usb_buffer_free'
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_init_isoc':
Quoted 9 lines
/usr/src/v4l-dvb/v4l/au0828-video.c:255: error: implicit declaration of function 'usb_buffer_alloc'
/usr/src/v4l-dvb/v4l/au0828-video.c:256: warning: assignment makes pointer from integer without a cast
make[3]: *** [/usr/src/v4l-dvb/v4l/au0828-video.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

Both functions were renamed in upstream, backport created and commited, please try again.

Cheers
Douglas

#2 lore raw
Quoted 2 lines

Both functions were renamed in upstream, backport created and commited, please try again.

yes, I don't have more such errors, but still have other one which I reported early

CC [M] /usr/src/v4l-dvb/v4l/dvb_net.o
/usr/src/v4l-dvb/v4l/dvb_net.c:1190: warning: 'struct dev_mc_list' declared inside parameter list /usr/src/v4l-dvb/v4l/dvb_net.c:1190: warning: its scope is only this definition or declaration, which is
probably not what you want /usr/src/v4l-dvb/v4l/dvb_net.c: In function 'dvb_set_mc_filter':
/usr/src/v4l-dvb/v4l/dvb_net.c:1197: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c:1197: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c: In function 'wq_set_multicast_list':
/usr/src/v4l-dvb/v4l/dvb_net.c:1247: error: 'struct net_device' has no member named 'mc_list' /usr/src/v4l-dvb/v4l/dvb_net.c:1249: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c:1249: warning: left-hand operand of comma expression has no effect /usr/src/v4l-dvb/v4l/dvb_net.c:1249: warning: value computed is not used /usr/src/v4l-dvb/v4l/dvb_net.c:1250: warning: passing argument 2 of 'dvb_set_mc_filter' from incompatible
pointer type /usr/src/v4l-dvb/v4l/dvb_net.c:1190: note: expected 'struct dev_mc_list *' but argument is of type 'struct dev_mc_list *' make[3]: *** [/usr/src/v4l-dvb/v4l/dvb_net.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

#3 lore raw
Quoted 2 lines
Quoted 2 lines

Both functions were renamed in upstream, backport created and commited, please try again.

yes, I don't have more such errors, but still have other one which I reported early

Quoted 19 lines

CC [M] /usr/src/v4l-dvb/v4l/dvb_net.o
/usr/src/v4l-dvb/v4l/dvb_net.c:1190: warning: 'struct dev_mc_list' declared inside parameter list /usr/src/v4l-dvb/v4l/dvb_net.c:1190: warning: its scope is only this definition or declaration, which is
probably not what you want /usr/src/v4l-dvb/v4l/dvb_net.c: In function 'dvb_set_mc_filter':
/usr/src/v4l-dvb/v4l/dvb_net.c:1197: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c:1197: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c: In function 'wq_set_multicast_list':
/usr/src/v4l-dvb/v4l/dvb_net.c:1247: error: 'struct net_device' has no member named 'mc_list' /usr/src/v4l-dvb/v4l/dvb_net.c:1249: error: dereferencing pointer to incomplete type /usr/src/v4l-dvb/v4l/dvb_net.c:1249: warning: left-hand operand of comma expression has no effect /usr/src/v4l-dvb/v4l/dvb_net.c:1249: warning: value computed is not used /usr/src/v4l-dvb/v4l/dvb_net.c:1250: warning: passing argument 2 of 'dvb_set_mc_filter' from incompatible
pointer type /usr/src/v4l-dvb/v4l/dvb_net.c:1190: note: expected 'struct dev_mc_list *' but argument is of type 'struct dev_mc_list *' make[3]: *** [/usr/src/v4l-dvb/v4l/dvb_net.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

#4 lore raw
In reply to Douglas Schilling Landgraf

В сообщении от 13 августа 2010 05:19:49 автор Douglas Schilling Landgraf написал:

Quoted 39 lines

Hello,

2010/8/11 Goga777 <[email protected]>:

Quoted 24 lines

Hi

I can't compile current v4l-dvb with new 2.6.35 kernel

arvdr:/usr/src/v4l-dvb# make
make -C /usr/src/v4l-dvb/v4l
make[1]: Entering directory `/usr/src/v4l-dvb/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-tux/build
make -C /lib/modules/2.6.35-tux/build SUBDIRS=/usr/src/v4l-dvb/v4l
 modules make[2]: Entering directory `/usr/src/linux-2.6.35'
 CC [M]  /usr/src/v4l-dvb/v4l/au0828-video.o
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_uninit_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:185: error: implicit declaration of
function 'usb_buffer_free' /usr/src/v4l-dvb/v4l/au0828-video.c: In
function 'au0828_init_isoc': /usr/src/v4l-dvb/v4l/au0828-video.c:255:
error: implicit declaration of function 'usb_buffer_alloc'
Quoted 8 lines
/usr/src/v4l-dvb/v4l/au0828-video.c:256: warning: assignment makes
pointer from integer without a cast make[3]: ***
[/usr/src/v4l-dvb/v4l/au0828-video.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

Both functions were renamed in upstream, backport created and commited, please try again.

Quoted 6 lines

Cheers
Douglas
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Is it better other way round, to rename all appearances of functions and define a macro? Like this:

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
#define usb_alloc_coherent(a, b, c, d) usb_buffer_alloc(a, b, c, d) #define usb_free_coherent(a, b, c, d) usb_buffer_free(a, b, c, d) #endif

In the end it will be more similar in code to the last kernel :)

Signature · 2 lines
Igor M. Liplianin
Microsoft Windows Free Zone - Linux used for all Computing Tasks
#5 lore raw

Hello,

2010/8/13 Igor M. Liplianin <[email protected]>:

Quoted 49 lines

В сообщении от 13 августа 2010 05:19:49 автор Douglas Schilling Landgraf написал:

Quoted 39 lines

Hello,

2010/8/11 Goga777 <[email protected]>:

Quoted 24 lines

Hi

I can't compile current v4l-dvb with new 2.6.35 kernel

arvdr:/usr/src/v4l-dvb# make
make -C /usr/src/v4l-dvb/v4l
make[1]: Entering directory `/usr/src/v4l-dvb/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-tux/build
make -C /lib/modules/2.6.35-tux/build SUBDIRS=/usr/src/v4l-dvb/v4l
 modules make[2]: Entering directory `/usr/src/linux-2.6.35'
 CC [M]  /usr/src/v4l-dvb/v4l/au0828-video.o
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_uninit_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:185: error: implicit declaration of
function 'usb_buffer_free' /usr/src/v4l-dvb/v4l/au0828-video.c: In
function 'au0828_init_isoc': /usr/src/v4l-dvb/v4l/au0828-video.c:255:
error: implicit declaration of function 'usb_buffer_alloc'
Quoted 8 lines
/usr/src/v4l-dvb/v4l/au0828-video.c:256: warning: assignment makes
pointer from integer without a cast make[3]: ***
[/usr/src/v4l-dvb/v4l/au0828-video.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

Both functions were renamed in upstream, backport created and commited, please try again.

Quoted 6 lines

Cheers
Douglas
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Is it better other way round, to rename all appearances of functions and define a macro? Like this:

Quoted 6 lines

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
#define usb_alloc_coherent(a, b, c, d) usb_buffer_alloc(a, b, c, d) #define usb_free_coherent(a, b, c, d) usb_buffer_free(a, b, c, d) #endif

In the end it will be more similar in code to the last kernel :)

Yes, agreed but all drivers must be renamed with the new function name first. Otherwise, it will keep breaking. Thanks for looking it.

Cheers
Douglas

#6 lore raw

Em 13-08-2010 09:53, Douglas Schilling Landgraf escreveu:

Quoted 57 lines

Hello,

2010/8/13 Igor M. Liplianin <[email protected]>:

Quoted 54 lines

В сообщении от 13 августа 2010 05:19:49 автор Douglas Schilling Landgraf написал:

Quoted 39 lines

Hello,

2010/8/11 Goga777 <[email protected]>:

Quoted 24 lines

Hi

I can't compile current v4l-dvb with new 2.6.35 kernel

arvdr:/usr/src/v4l-dvb# make
make -C /usr/src/v4l-dvb/v4l
make[1]: Entering directory `/usr/src/v4l-dvb/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
make -C firmware
make[2]: Entering directory `/usr/src/v4l-dvb/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/usr/src/v4l-dvb/v4l/firmware'
Kernel build directory is /lib/modules/2.6.35-tux/build
make -C /lib/modules/2.6.35-tux/build SUBDIRS=/usr/src/v4l-dvb/v4l
 modules make[2]: Entering directory `/usr/src/linux-2.6.35'
 CC [M]  /usr/src/v4l-dvb/v4l/au0828-video.o
/usr/src/v4l-dvb/v4l/au0828-video.c: In function 'au0828_uninit_isoc':
/usr/src/v4l-dvb/v4l/au0828-video.c:185: error: implicit declaration of
function 'usb_buffer_free' /usr/src/v4l-dvb/v4l/au0828-video.c: In
function 'au0828_init_isoc': /usr/src/v4l-dvb/v4l/au0828-video.c:255:
error: implicit declaration of function 'usb_buffer_alloc'
Quoted 8 lines
/usr/src/v4l-dvb/v4l/au0828-video.c:256: warning: assignment makes
pointer from integer without a cast make[3]: ***
[/usr/src/v4l-dvb/v4l/au0828-video.o] Ошибка 1
make[2]: *** [_module_/usr/src/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.35'
make[1]: *** [default] Ошибка 2
make[1]: Leaving directory `/usr/src/v4l-dvb/v4l'
make: *** [all] Ошибка 2

Both functions were renamed in upstream, backport created and commited, please try again.

Quoted 6 lines

Cheers
Douglas
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Is it better other way round, to rename all appearances of functions and define a macro? Like this:

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
#define usb_alloc_coherent(a, b, c, d) usb_buffer_alloc(a, b, c, d) #define usb_free_coherent(a, b, c, d) usb_buffer_free(a, b, c, d) #endif

Quoted 4 lines
Quoted 1 line

In the end it will be more similar in code to the last kernel :)

Yes, agreed but all drivers must be renamed with the new function name first. Otherwise, it will keep breaking. Thanks for looking it.

That's the reason why I used to first backport all upstream patches, and then work on a fix. An upstream patchset already did such change.

Quoted 7 lines

Cheers
Douglas
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html