On Sat, Mar 19, 2011 at 04:45:28PM +0200, ???????? ???????????????? wrote:
> On Sat, Mar 19, 2011 at 12:36:56PM +0100, Harald Jenny wrote:
> > This error went away but there is another one now, please see attached log.
> > [...]
> >   CC [M]  /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.o
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:236:8: 
> > warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX'
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:236:1: 
> > warning: parameter names (without types) in function declaration
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c: In function 
> > 'st7554_open':
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1001:8: 
> > error: 'open_sem' undeclared (first use in this function)
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1001:8: note: 
> > each undeclared identifier is reported only once for each function it 
> > appears in
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c: In function 
> > 'st7554_probe':
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1237:2: 
> > error: implicit declaration of function 'init_MUTEX'
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1320:8: 
> > error: 'open_sem' undeclared (first use in this function)
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1336:2: 
> > warning: passing argument 2 of 'device_create' makes pointer from integer 
> > without a cast
> > include/linux/device.h:598:23: note: expected 'struct device *' but 
> > argument is of type 'int'
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1336:2: 
> > warning: passing argument 3 of 'device_create' makes integer from pointer 
> > without a cast
> > include/linux/device.h:598:23: note: expected 'dev_t' but argument is of 
> > type 'void *'
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1336:2: 
> > warning: passing argument 5 of 'device_create' makes pointer from integer 
> > without a cast
> > include/linux/device.h:598:23: note: expected 'const char *' but argument 
> > is of type 'int'
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c: In function 
> > 'st7554_disconnect':
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1367:8: 
> > error: 'open_sem' undeclared (first use in this function)
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c: At top level:
> > /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:236:8: 
> > warning: 'DECLARE_MUTEX' declared 'static' but never defined
> ---end quoted text---
> 
>   Thanks for your report, please try the attached patch.

Seems like the arguments have changed, please see attached log.

> 
> -- 
>  ??????????? ???????????????? (Ahmed El-Mahmoudy)
>   Digital design engineer
>  GPG KeyID: 0xEDDDA1B7
>  GPG Fingerprint: 8206 A196 2084 7E6D 0DF8  B176 BC19 6A94 EDDD A1B7

> Description: Fix compilation of slusb with 2.6.37
>  *_MUTEX got deprecated since kernel 2.6.37
> Author: ???????? ???????????????? (Ahmed El-Mahmoudy) <aelmahmo...@sabily.org>
> Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=613906
> Bug-Ubuntu: https://bugs.launchpad.net/bugs/737650
> --- a/drivers/st7554.c
> +++ b/drivers/st7554.c
> @@ -233,7 +233,11 @@
>  static struct class *st7554_class;
>  #endif
>  
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
>  static DECLARE_MUTEX(open_sem);
> +#else
> +static DEFINE_SEMAPHORE(open_sem);
> +#endif
>  
>  /* --------------------------------------------------------------------- */
>  
> @@ -1234,7 +1238,11 @@
>       memset(s, 0, sizeof(*s));
>  
>       spin_lock_init(&s->lock);
> +#ifdef init_MUTEX
>       init_MUTEX (&s->sem);
> +#else
> +  sema_init (&s->sem);
> +#endif
>       init_waitqueue_head(&s->wait);
>  
>       s->name = "ST7554 USB Modem";



DKMS make.log for sl-modem-2.9.11~20100718 for kernel 2.6.37-2-686 (i686)
Sat Mar 19 19:43:11 CET 2011
make: Entering directory `/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers'
doing kernel-ver::
cc -I/lib/modules/2.6.37-2-686/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.6.37-2-686
make[1]: Entering directory 
`/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers'
        obj-m=slamr.o  slusb.o 
        slamr-objs=amrmo_init.o sysdep_amr.o amrlibs.o
make modules -C /lib/modules/2.6.37-2-686/build 
SUBDIRS=/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers
make[2]: Entering directory `/usr/src/linux-headers-2.6.37-2-686'
  CC [M]  /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/amrmo_init.o
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/amrmo_init.c:517:9: 
warning: initialization from incompatible pointer type
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/amrmo_init.c: In function 
'amrmo_ioctl':
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/amrmo_init.c:450:17: 
warning: ignoring return value of 'copy_from_user', declared with attribute 
warn_unused_result
  CC [M]  /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/sysdep_amr.o
  CC [M]  /var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.o
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c: In function 
'st7554_probe':
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1244:3: error: 
too few arguments to function 'sema_init'
include/linux/semaphore.h:32:20: note: declared here
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1344:2: warning: 
passing argument 2 of 'device_create' makes pointer from integer without a cast
include/linux/device.h:598:23: note: expected 'struct device *' but argument is 
of type 'int'
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1344:2: warning: 
passing argument 3 of 'device_create' makes integer from pointer without a cast
include/linux/device.h:598:23: note: expected 'dev_t' but argument is of type 
'void *'
/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.c:1344:2: warning: 
passing argument 5 of 'device_create' makes pointer from integer without a cast
include/linux/device.h:598:23: note: expected 'const char *' but argument is of 
type 'int'
make[3]: *** [/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers/st7554.o] 
Error 1
make[2]: *** [_module_/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers] 
Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.37-2-686'
make[1]: *** [all] Error 2
make[1]: Leaving directory 
`/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers'
make: *** [all] Error 2
make: Leaving directory `/var/lib/dkms/sl-modem/2.9.11~20100718/build/drivers'
make: Entering directory 
`/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem'
make modules -C /lib/modules/2.6.37-2-686/build 
SUBDIRS=/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem
make[1]: Entering directory `/usr/src/linux-headers-2.6.37-2-686'
  CC [M]  
/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem/ungrab-winmodem.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      
/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem/ungrab-winmodem.mod.o
  LD [M]  
/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem/ungrab-winmodem.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.37-2-686'
make: Leaving directory 
`/var/lib/dkms/sl-modem/2.9.11~20100718/build/ungrab-winmodem'

Reply via email to