[arch-commits] Commit in fcpcmcia/trunk (3 files)

Tobias Powalowski tpowa at archlinux.org
Sat Feb 27 17:38:42 UTC 2010


    Date: Saturday, February 27, 2010 @ 12:38:42
  Author: tpowa
Revision: 70635

upgpkg: fcpcmcia 31107-50
rebuild against .33 kernel

Added:
  fcpcmcia/trunk/kernel-2.6.33.patch
Modified:
  fcpcmcia/trunk/PKGBUILD
  fcpcmcia/trunk/fcpcmcia.install

---------------------+
 PKGBUILD            |   19 ++---
 fcpcmcia.install    |    4 -
 kernel-2.6.33.patch |  188 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 201 insertions(+), 10 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-02-27 17:34:45 UTC (rev 70634)
+++ PKGBUILD	2010-02-27 17:38:42 UTC (rev 70635)
@@ -3,17 +3,17 @@
 
 pkgname=fcpcmcia
 pkgver=31107
-pkgrel=49
-_kernver=2.6.32-ARCH
+pkgrel=50
+_kernver=2.6.33-ARCH
 pkgdesc="AVM ISDN driver for FRITZ PCMCIA isdn cards. For stock arch 2.6 kernel"
 arch=(i686 x86_64)
 license=('custom:"AVM"' 'LPGL')
 url="http://www.avm.de"
-depends=('capi4k-utils' 'kernel26>=2.6.32.3' 'kernel26<2.6.33')
-makedepends=('kernel26-headers>=2.6.32' 'kernel26-headers<2.6.33')
+depends=('capi4k-utils' 'kernel26>=2.6.33' 'kernel26<2.6.34')
+makedepends=('kernel26-headers>=2.6.33' 'kernel26-headers<2.6.34')
 if [ "$CARCH" = "i686" ]; then source=(ftp://ftp.avm.de/cardware/fritzcrd.pcm/linux/suse.93/fcpcmcia-suse93-3.11-07.tar.gz
         pcmcia-2.6.17.patch atomic.patch kernel-2.6.19.patch kernel-2.6.20.patch kernel-2.6.22.patch kernel-2.6.24.patch\
-        kernel-2.6.27.patch kernel-2.6.28.patch kernel-2.6.31.patch)
+        kernel-2.6.27.patch kernel-2.6.28.patch kernel-2.6.31.patch kernel-2.6.33.patch)
  md5sums=('96fc3e72afdc2087b4dafe41c069ec18'
          'ec21dee3a5a09203dc55b399c29bc58c'
          '258b13bb2ac46960b9c91635f02cd080'
@@ -23,11 +23,12 @@
          '21bfa466b1fb94663ed1f265948dba5e'
          'e32439084b62ee7975ae45a443b6eba9'
          'e953a90fe3d08ebbd8736f66902414dc'
-         '34f5b78b219de8ce12793b16e0171e87')
+         '34f5b78b219de8ce12793b16e0171e87'
+         '410f077bbe271e924be6d8b6b5f9540d')
 fi
 if [ "$CARCH" = "x86_64" ]; then source=(ftp://ftp.avm.de/cardware/fritzcrd.pcm/linux_64bit/suse.10.0/fcpcmcia-suse10.0-64bit-3.11-07.tar.gz
         pcmcia-2.6.17.patch atomic.patch kernel-2.6.19.patch kernel-2.6.20.patch kernel-2.6.22.patch kernel-2.6.24.patch\
-        kernel-2.6.27.patch kernel-2.6.28.patch kernel-2.6.31.patch)
+        kernel-2.6.27.patch kernel-2.6.28.patch kernel-2.6.31.patch kernel-2.6.33.patch)
 md5sums=('4f461710cf57ebf50b3c4f2842288752'
          'ec21dee3a5a09203dc55b399c29bc58c'
          '258b13bb2ac46960b9c91635f02cd080'
@@ -37,7 +38,8 @@
          '21bfa466b1fb94663ed1f265948dba5e'
          'e32439084b62ee7975ae45a443b6eba9'
          'e953a90fe3d08ebbd8736f66902414dc'
-         '34f5b78b219de8ce12793b16e0171e87')
+         '34f5b78b219de8ce12793b16e0171e87'
+         '410f077bbe271e924be6d8b6b5f9540d')
 fi
 install=(fcpcmcia.install)
 options=(!makeflags)
@@ -52,6 +54,7 @@
   patch -Np2 -i ../../kernel-2.6.27.patch || return 1
   patch -Np1 -i ../../kernel-2.6.28.patch || return 1
   patch -Np0 -i ../../kernel-2.6.31.patch || return 1
+  patch -Np0 -i ../../kernel-2.6.33.patch || return 1
 
   cd ..
   # fix from Karsten Keil <kkeil at suse.de>

Modified: fcpcmcia.install
===================================================================
--- fcpcmcia.install	2010-02-27 17:34:45 UTC (rev 70634)
+++ fcpcmcia.install	2010-02-27 17:38:42 UTC (rev 70635)
@@ -9,7 +9,7 @@
   sed -i -e 's/#fcpcmcia	-	-	-	-	-	-/fcpcmcia	-	-	-	-	-	-/g' /etc/capi.conf
     # updating module dependencies
   echo ">>> Updating module dependencies. Please wait ..."
-  KERNEL_VERSION=2.6.32-ARCH
+  KERNEL_VERSION=2.6.33-ARCH
   depmod -v $KERNEL_VERSION > /dev/null 2>&1
 }
 
@@ -24,7 +24,7 @@
   sed -i -e 's/fcpcmcia	-	-	-	-	-	-/#fcpcmcia	-	-	-	-	-	-/g' /etc/capi.conf
     # updating module dependencies
   echo ">>> Updating module dependencies. Please wait ..."
-  KERNEL_VERSION=2.6.32-ARCH
+  KERNEL_VERSION=2.6.33-ARCH
   depmod -v $KERNEL_VERSION > /dev/null 2>&1
 }
 

Added: kernel-2.6.33.patch
===================================================================
--- kernel-2.6.33.patch	                        (rev 0)
+++ kernel-2.6.33.patch	2010-02-27 17:38:42 UTC (rev 70635)
@@ -0,0 +1,188 @@
+--- fcpcmcia_cs.c~	2010-02-27 14:28:58.000000000 +0100
++++ fcpcmcia_cs.c	2010-02-27 14:28:58.000000000 +0100
+@@ -186,8 +186,6 @@
+ 	for (i = 0; (i < irq_list_count) && (default_irq_list[i] > 0); i++)
+ 	    p_dev->irq.IRQInfo2 |= 1 << default_irq_list[i];
+     }
+-#else
+-    p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID;
+ #endif
+     
+     /* General socket configuration */
+--- fcpcmcia_cs.c~	2010-02-27 14:42:09.000000000 +0100
++++ fcpcmcia_cs.c	2010-02-27 14:40:10.000000000 +0100
+@@ -175,7 +175,7 @@
+     p_dev->io.NumPorts2 = 0;
+ 
+     /* Interrupt setup */
+-    p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;
++    p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
+ 
+ #if defined (PCMCIA_IRQ_INFO2)
+     p_dev->irq.IRQInfo1 = IRQ_INFO2_VALID|IRQ_LEVEL_ID;
+@@ -325,7 +325,6 @@
+ 
+ found_port:
+ 	if (i != 0) {
+-	    cs_error(link, RequestIO, i);
+ 	    break;
+ 	}
+ 	
+@@ -334,7 +333,6 @@
+ 	 */
+ 	i = pcmcia_request_irq(link, &link->irq);
+ 	if (i != 0) {
+-	    cs_error(link, RequestIRQ, i);
+             /* undo */
+             pcmcia_disable_device(link);
+ 	    break;
+@@ -345,7 +343,6 @@
+ 	  */
+ 	i = pcmcia_request_configuration(link, &link->conf);
+ 	if (i != 0) {
+-	    cs_error(link, RequestConfiguration, i);
+             pcmcia_disable_device(link);
+ 	    break;
+ 	}
+--- fcpcmcia_cs.c~	2010-02-27 18:21:14.000000000 +0100
++++ fcpcmcia_cs.c	2010-02-27 18:21:14.000000000 +0100
+@@ -195,10 +195,9 @@
+     p_dev->conf.Present = PRESENT_OPTION;
+ 
+     /* Allocate space for private device-specific data */
+-    local = kmalloc(sizeof(local_info_t), GFP_KERNEL);
++    local = kzalloc(sizeof(local_info_t), GFP_KERNEL);
+     if (!local)
+         goto err_kfree;
+-    memset(local, 0, sizeof(local_info_t));
+     p_dev->priv = local;
+     return cs_config(p_dev);
+ 
+@@ -230,104 +229,39 @@
+     
+ ======================================================================*/
+ 
+-static int get_tuple(struct pcmcia_device *handle, tuple_t *tuple,
+-                      cisparse_t *parse)
++static int cs_configcheck(struct pcmcia_device *p_dev,
++                              cistpl_cftable_entry_t *cf,
++                              cistpl_cftable_entry_t *dflt,
++                              unsigned int vcc,
++                              void *priv_data)
+ {
+-    int i = pcmcia_get_tuple_data(handle, tuple);
+-    if (i != 0) return i;
+-    return pcmcia_parse_tuple(tuple, parse);
+-}
++       if (cf->io.nwin <= 0)
++               return -ENODEV;
+ 
+-static int first_tuple(struct pcmcia_device *handle, tuple_t *tuple,
+-		     cisparse_t *parse)
+-{
+-    int i = pcmcia_get_first_tuple(handle, tuple);
+-    if (i != 0) return i;
+-    return get_tuple(handle, tuple, parse);
+-}
+-
+-static int next_tuple(struct pcmcia_device *handle, tuple_t *tuple,
+-		     cisparse_t *parse)
+-{
+-    int i = pcmcia_get_next_tuple(handle, tuple);
+-    if (i != 0) return i;
+-    return get_tuple(handle, tuple, parse);
+-}
++       p_dev->io.BasePort1 = cf->io.win[0].base;
++       p_dev->io.NumPorts1 = cf->io.win[0].len;
++       p_dev->io.NumPorts2 = 0;
++       printk(KERN_INFO "fcpcmcia_cs: testing i/o %#x-%#x\n",
++              p_dev->io.BasePort1,
++              p_dev->io.BasePort1+p_dev->io.NumPorts1-1);
++       return pcmcia_request_io(p_dev, &p_dev->io);
++ }
+ 
+ static int cs_config(struct pcmcia_device *link)
+ {
+-    tuple_t tuple;
+-    cisparse_t parse;
+-    cistpl_cftable_entry_t *cf = &parse.cftable_entry;
+     local_info_t *dev;
+     int i;
+-    u_char buf[64];
+     char devname[128];
+     dev = link->priv;
+ 
+-    /*
+-       This reads the card's CONFIG tuple to find its configuration
+-       registers.
+-    */
+-    do {
+-	tuple.DesiredTuple = CISTPL_CONFIG;
+-	i = pcmcia_get_first_tuple(link, &tuple);
+-	if (i != 0) break;
+-	tuple.TupleData = buf;
+-	tuple.TupleDataMax = 64;
+-	tuple.TupleOffset = 0;
+-	i = pcmcia_get_tuple_data(link, &tuple);
+-	if (i != 0) break;
+-	i = pcmcia_parse_tuple(&tuple, &parse);
+-	if (i != 0) break;
+-	link->conf.ConfigBase = parse.config.base;
+-    } while (0);
+-    if (i != 0) {
+-	cs_error(link, ParseTuple, i);
+-        return -ENODEV;
+-    }
+-
+-    do {
+-
+-	tuple.Attributes = 0;
+-	tuple.TupleData = buf;
+-	tuple.TupleDataMax = 254;
+-	tuple.TupleOffset = 0;
+-	tuple.DesiredTuple = CISTPL_VERS_1;
+-
+-	devname[0] = 0;
+-	if( !first_tuple(link, &tuple, &parse) && parse.version_1.ns > 1 ) {
+-	    strlcpy(devname,parse.version_1.str + parse.version_1.ofs[1], 
+-			sizeof(devname));
+-	}
+-	/*
+-         * find IO port
+-         */
+-	tuple.TupleData = (cisdata_t *)buf;
+-	tuple.TupleOffset = 0; tuple.TupleDataMax = 255;
+-	tuple.Attributes = 0;
+-	tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
+-	i = first_tuple(link, &tuple, &parse);
+-	while (i == 0) {
+-	    if (cf->io.nwin > 0) {
+-		link->conf.ConfigIndex = cf->index;
+-		link->io.BasePort1 = cf->io.win[0].base;
+-		link->io.NumPorts1 = cf->io.win[0].len;
+-		link->io.NumPorts2 = 0;
+-                NOTE("testing i/o %#x-%#x\n",
+-			link->io.BasePort1,
+-		        link->io.BasePort1+link->io.NumPorts1-1);
+-		i = pcmcia_request_io(link, &link->io);
+-		if (i == 0) goto found_port;
+-	    }
+-	    i = next_tuple(link, &tuple, &parse);
+-	}
+-
+-found_port:
+-	if (i != 0) {
+-	    break;
+-	}
+-	
++    devname[0] = 0;
++    if (link->prod_id[1])
++           strlcpy(devname, link->prod_id[1], sizeof(devname));
++
++    if (pcmcia_loop_config(link, cs_configcheck, NULL))
++           return -ENODEV;
++
++     do {
+ 	/*
+ 	 * allocate an interrupt line
+ 	 */




More information about the arch-commits mailing list