Re: ESS 2898 Suse 10.3

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

 



Hi!  Sorry I haven't been keeping up to date with kernel revs.  I do have some 
unreleased accumulated fixes; see the attached patch.  For the "jiffies" 
compilation issue, I briefly investigated this for Barry of Puppy Linux and I 
suspect the solution is to add this:

#include <linux/jiffies.h>

at the top of "essserial_hw.c".  I don't have the right kernel to test this 
just yet :(

Hope this helps,
Jeff

On Thursday 06 March 2008 04:57:10 am Marvin Stodolsky wrote:
> Jeff,
>
> Can you help with this ess modem update problem.
>
> ratenn,
>     Your old 10.2 kernel+modules should still work under 10.3.
> So you can still get online with them while the fixes for 10.3 with
> kernel 2.6.22.5-31-default are being done.
>
> MarvS
>
> On Thu, Mar 6, 2008 at 7:37 AM,  <ratenn@xxxxxxxxxx> wrote:
> >  hello everybody
> >  Since I have updated my Suse Linux 10.2 to 10.3 I cannot use my ess
> > modem anymore.I have tried to compile the driver ess_2.6-v 0.3 again, but
> > it doesn't work.
> >  Below you will find the output of my console.
> >
> >  Raten:/tmp/ess_2.6-v0.3 # ./configure
> >  checking for running kernel version...2.6.22
> >  checking for gcc...4.2.1
> >  checking for kernel gcc version...4.2.1
> >  searching for kernel includes...found at
> > /lib/modules/2.6.22.5-31-default/build/include checking for
> > autoconf.h.../lib/modules/2.6.22.5-31-default/build/include/linux/autocon
> >f.h checking for asm/mach-default...yes
> >  checking for kernel version in utsrelease.h...UTS_RELEASE is
> > linux-2.6.22.5-31 checking type of tty_struct.count...int
> >  checking for presence of udev...present
> >  detecting your modem...found. Your modem is a ess type modem.
> >  Raten:/tmp/ess_2.6-v0.3 # make
> >  LD    binary.a
> >  make -C /lib/modules/2.6.22.5-31-default/build M=/tmp/ess_2.6-v0.3
> >  make[1]: Entering directory
> > `/usr/src/linux-2.6.22.5-31-obj/i386/default' make -C
> > ../../../linux-2.6.22.5-31 O=../linux-2.6.22.5-31-obj/i386/default LD    
> >  /tmp/ess_2.6-v0.3/built-in.o
> >  CC [M]  /tmp/ess_2.6-v0.3/essserial-2.6.o
> >  CC [M]  /tmp/ess_2.6-v0.3/essserial_pci.o
> >  /tmp/ess_2.6-v0.3/essserial_pci.c: In function 'essserial_pci_init':
> >  /tmp/ess_2.6-v0.3/essserial_pci.c:516: warning: 'pci_find_device' is
> > deprecated (declared at
> > /usr/src/linux-2.6.22.5-31/include/linux/pci.h:477) CC [M] 
> > /tmp/ess_2.6-v0.3/essserial_hw.o
> >  /tmp/ess_2.6-v0.3/essserial_hw.c: In function 'esscom_initialize':
> >  /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: 'jiffies' undeclared (first
> > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: (Each
> > undeclared identifier is reported only once
> > /tmp/ess_2.6-v0.3/essserial_hw.c:82: error: for each function it appears
> > in) /tmp/ess_2.6-v0.3/essserial_hw.c:88: error: 'HZ' undeclared (first
> > use in this function) tmp/ess_2.6-v0.3/essserial_hw.c:89: error: implicit
> > declaration of function 'time_before' /tmp/ess_2.6-v0.3/essserial_hw.c:
> > In function 'Get_System_Time': /tmp/ess_2.6-v0.3/essserial_hw.c:209:
> > error: 'HZ' undeclared (first use in this function)
> > /tmp/ess_2.6-v0.3/essserial_hw.c:209: error: 'jiffies' undeclared (first
> > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: In function
> > 'CurrentBlkTime': /tmp/ess_2.6-v0.3/essserial_hw.c:223: error: 'HZ'
> > undeclared (first use in this function)
> > /tmp/ess_2.6-v0.3/essserial_hw.c:223: error: 'jiffies' undeclared (first
> > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c: In function
> > 'systemTime':
> >  /tmp/ess_2.6-v0.3/essserial_hw.c:234: error: 'jiffies' undeclared (first
> > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:234: error: 'HZ'
> > undeclared (first use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:
> > In function 'ChkBlkTime':
> >  /tmp/ess_2.6-v0.3/essserial_hw.c:246: error: 'jiffies' undeclared (first
> > use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:246: error: 'HZ'
> > undeclared (first use in this function) /tmp/ess_2.6-v0.3/essserial_hw.c:
> > In function 'esscom_hw_timer_tick': /tmp/ess_2.6-v0.3/essserial_hw.c:489:
> > error: 'HZ' undeclared (first use in this function)
> > /tmp/ess_2.6-v0.3/essserial_hw.c:489: error: 'jiffies' undeclared (first
> > use in this function) make[4]: *** [/tmp/ess_2.6-v0.3/essserial_hw.o]
> > Error 1
> >  make[3]: *** [_module_/tmp/ess_2.6-v0.3] Fehler 2
> >  make[2]: *** [_all] Fehler 2
> >  make[1]: *** [all] Error 2
> >  make[1]: Leaving directory `/usr/src/linux-2.6.22.5-31-obj/i386/default'
> >  make: *** [all] Error 2
> >
> >  Does anyone a solution for the 2.6.22 kernel? or can you please help me
> > to change the scripts? My modem worked well with the "old 2.6.18 kernel"
> >  with many thanks in advance
> >  Ralph
> >
> >
> >  --
> >  http://www.westropolis.de -  Kultur fuer alle, Kritik von allen. Die
> > Plattform fuer Kultur im Web.


diff -Naur ess_2.6-v0.3/essserial_pci.c ess_2.6-v0.4/essserial_pci.c
--- ess_2.6-v0.3/essserial_pci.c	2007-02-21 18:33:37.000000000 -0800
+++ ess_2.6-v0.4/essserial_pci.c	2008-01-26 13:29:29.000000000 -0800
@@ -513,7 +513,11 @@
         return ret;
 
     /* Attempt to release any drivers that may have already claimed our modem */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
+    while( (dev = pci_get_device( PCI_ANY_ID, PCI_ANY_ID, dev )) != NULL )
+#else
     while( (dev = pci_find_device( PCI_ANY_ID, PCI_ANY_ID, dev )) != NULL )
+#endif
     {
       /* API changed in 2.6.13 */
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)
diff -Naur ess_2.6-v0.3/linmodem-2.6.c ess_2.6-v0.4/linmodem-2.6.c
--- ess_2.6-v0.3/linmodem-2.6.c	2007-02-21 18:33:37.000000000 -0800
+++ ess_2.6-v0.4/linmodem-2.6.c	2008-01-26 13:29:30.000000000 -0800
@@ -602,7 +602,11 @@
 int serial_link_irq_chain(struct linmodem_port *p)
 {
 	struct irq_info *i = irq_lists + p->port.irq;
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) )
+	int ret, irq_flags = p->port.flags & UPF_SHARE_IRQ ? IRQF_SHARED : 0;
+#else
 	int ret, irq_flags = p->port.flags & UPF_SHARE_IRQ ? SA_SHIRQ : 0;
+#endif
 
 	dbg();
 
@@ -777,8 +781,13 @@
 }
 
 static void
+#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) )
 linmodem_set_termios(struct uart_port *port, struct termios *termios,
 		     struct termios *old)
+#else
+linmodem_set_termios(struct uart_port *port, struct ktermios *termios,
+		     struct ktermios *old)
+#endif
 {
 	struct linmodem_port *p = (struct linmodem_port *)port;
 	unsigned char cval, fcr = 0;

[Index of Archives]     [Linux Media Development]     [Asterisk]     [DCCP]     [Netdev]     [X.org]     [Xfree86]     [Fedora Women]     [Linux USB]

  Powered by Linux