From olof at lixom.net  Wed Sep  5 10:27:43 2007
From: olof at lixom.net (Olof Johansson)
Date: Wed, 5 Sep 2007 09:27:43 -0500
Subject: [PATCH] pcmcia: Convert io_req_t to use kio_addr_t
Message-ID: <20070905142742.GA1760@lixom.net>

Convert the io_req_t members to kio_addr_t, to allow use on machines with
more than 16 bits worth of IO port address space (ppc64 in this case,
but it applies to others as well).
    
Signed-off-by: Olof Johansson <olof at lixom.net>


---

I'm not at home in the PCMCIA stack, so I'd appreciate some extra eyes
on it to avoid regressions. As far as I can tell, the io_req_t structure
is not exported through any userspace interface and only used internally.

This supersedes the earlier (rejected) "increase ioaddr_t to 32-bits"
patch (http://patchwork.ozlabs.org/linuxppc/patch?id=11908) for ppc64,
since with this change that would not be needed.


Thanks,

Olof

diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 0ce39de..585c14b 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -65,8 +65,8 @@ extern int ds_pc_debug;
  * Special stuff for managing IO windows, because they are scarce
  */
 
-static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
-			  ioaddr_t num, u_int lines)
+static int alloc_io_space(struct pcmcia_socket *s, u_int attr, kio_addr_t *base,
+			  kio_addr_t num, u_int lines)
 {
 	int i;
 	kio_addr_t try, align;
@@ -74,14 +74,14 @@ static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
 	align = (*base) ? (lines ? 1<<lines : 0) : 1;
 	if (align && (align < num)) {
 		if (*base) {
-			ds_dbg(s, 0, "odd IO request: num %#x align %#lx\n",
+			ds_dbg(s, 0, "odd IO request: num %#lx align %#lx\n",
 			       num, align);
 			align = 0;
 		} else
 			while (align && (align < num)) align <<= 1;
 	}
 	if (*base & ~(align-1)) {
-		ds_dbg(s, 0, "odd IO request: base %#x align %#lx\n",
+		ds_dbg(s, 0, "odd IO request: base %#lx align %#lx\n",
 		       *base, align);
 		align = 0;
 	}
@@ -132,8 +132,8 @@ static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
 } /* alloc_io_space */
 
 
-static void release_io_space(struct pcmcia_socket *s, ioaddr_t base,
-			     ioaddr_t num)
+static void release_io_space(struct pcmcia_socket *s, kio_addr_t base,
+			     kio_addr_t num)
 {
 	int i;
 
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index d5838c3..657d653 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -147,11 +147,11 @@ typedef struct config_req_t {
 
 /* For RequestIO and ReleaseIO */
 typedef struct io_req_t {
-    ioaddr_t	BasePort1;
-    ioaddr_t	NumPorts1;
+    kio_addr_t	BasePort1;
+    kio_addr_t	NumPorts1;
     u_int	Attributes1;
-    ioaddr_t	BasePort2;
-    ioaddr_t	NumPorts2;
+    kio_addr_t	BasePort2;
+    kio_addr_t	NumPorts2;
     u_int	Attributes2;
     u_int	IOAddrLines;
 } io_req_t;


From eric at inl.fr  Wed Sep  5 16:15:59 2007
From: eric at inl.fr (Eric Leblond)
Date: Wed, 05 Sep 2007 22:15:59 +0200
Subject: [Patch] Add support for PCMCIA card Sierra WIreless AC850
Message-ID: <1189023359.4228.6.camel@ghlodit.inl.fr>

Hi,

This patch adds support for Sierra Wireless AC850 which has the same Ids
as the AC710/750 but has a different firmware.

PS: Please CC answer as I've not subscribed to the list.

BR,
-- 
Eric Leblond <eric at inl.fr>
INL SARL
-------------- next part --------------
Signed-off-by: Eric Leblond <eric at inl.fr>
---
 drivers/serial/serial_cs.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index a0ea435..f0e9ba6 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -911,6 +911,7 @@ static struct pcmcia_device_id serial_ids[] = {
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_DEVICE_CIS_PROD_ID12("Sierra Wireless", "AC850", 0xd85f6206, 0x42a2c018, "SW_8xx_SER.cis"),  /* Sierra Wireless AC850 3G Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- pre update */
 	PCMCIA_DEVICE_CIS_MANF_CARD(0x013f, 0xa555, "SW_555_SER.cis"),  /* Sierra Aircard 555 CDMA 1xrtt Modem -- post update */
-- 
1.4.4.4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20070905/5f2f6342/attachment.bin 

From junkxamindar at gmail.com  Mon Sep 10 05:28:31 2007
From: junkxamindar at gmail.com (Xamindar)
Date: Mon, 10 Sep 2007 02:28:31 -0700
Subject: CF GPS unit trouble.
Message-ID: <46E50E3F.7040905@gmail.com>

Hello, I hope this is the right place to ask.  I have been searching and 
asking around in other places for two weeks now and haven't found a 
solution.

Here is my issue:  I have an ambicom compact flash gps card that I would 
like to use on a laptop plugged into the pcmcia port via a cf to pcmcia 
adapter.  At this point I am able to plug it in and dmesg reports the 
following (first time plugged in):


pccard: PCMCIA card inserted into slot 1
cs: memory probe 0xf4000000-0xfbffffff: excluding 0xf4000000-0xf8ffffff 
0xfa000000-0xfbffffff
pcmcia: registering new device pcmcia1.0
1.0: ttyS1 at I/O 0x3f8 (irq = 3) is a 16550A


I can not cat /dev/ttyS1 and receive any data (should be able to see 
data) or get gpsd to use it.  Isn't ttyS0 and ttyS1 used for the 
internal serial ports anyway?  Something is wrong with the way this card 
is configured when it is plugged in.  I tested it not only on this 
laptop running Gentoo Linux but also on another laptop with Gentoo and 
Ubuntu live cds with the same result.  But the card DOES work in 
windows, tested on second laptop.

Here is a list of loaded modules on this laptop:


  lsmod
Module                  Size  Used by
serial_cs              20100  1
rfcomm                 32796  1
l2cap                  20100  9 rfcomm
ndiswrapper           163612  0
radeon                121248  3
drm                    72852  4 radeon
intel_agp              21140  1
agpgart                26416  2 drm,intel_agp
pcmcia                 32676  1 serial_cs
pcspkr                  2432  0
yenta_socket           22924  4
rsrc_nonstatic         11264  1 yenta_socket
pcmcia_core            32528  4 serial_cs,pcmcia,yenta_socket,rsrc_nonstatic
snd_intel8x0           28316  0
snd_intel8x0m          13708  0
snd_ac97_codec         94240  2 snd_intel8x0,snd_intel8x0m
ac97_bus                2048  1 snd_ac97_codec
tsdev                   6336  0




These are the facts:
1: The gps card works fine on my Zaurus (explained below)
2: The gps card does not work in modern linux, same symptoms on all tested.
3: The card does work in windows, so the adapter is not broken.

This card works great on a Sharp Zaurus which is running a 2.4 kernel. 
Here is what dmesg reports on the zaurus:


ttyS03 at port 0xf60003f8 (irq = 135) is a 16550A


and that is it.  I think serial_cs is built into the kernel on the 
zaurus if that is really the driver this card should be using.  Now the 
strange thing about the zaurus is even though dmesg shows "ttyS03", I 
access the card by /dev/ttyS3.  There is no ttyS03.  This leads me to 
not even trust what dmesg says on the laptops.

I hope someone on this list can point me in the right direction.

Here is some more info on the card and laptop:

pccardctl ident
Socket 0:
   no product info available
Socket 1:
   product info: "CFGPS", "LPV1.0", "", ""
   manfid: 0x0104, 0x0060
   function: 2 (serial)

pccardctl status
Socket 0:
   no card
Socket 1:
   3.3V 16-bit PC Card
   Subdevice 0 (function 0) bound to driver "serial_cs"


cardctl status
Socket 0:
   no card
Socket 1:
   3.3V 16-bit PC Card
   function 0: [ready], [req attn]

Note: [req attn] does not show on the zaurus.  I can't figure out what 
that means.  I know cardctl is depricated so maybe it has something to 
do with that?





From junkxamindar at gmail.com  Tue Sep 11 14:20:53 2007
From: junkxamindar at gmail.com (Xamindar)
Date: Tue, 11 Sep 2007 11:20:53 -0700
Subject: CF GPS unit trouble.
In-Reply-To: <46E50E3F.7040905@gmail.com>
References: <46E50E3F.7040905@gmail.com>
Message-ID: <46E6DC85.3040809@gmail.com>

Am I sending to the right place?  Anyone on this list?


From Lamb_Bobbi at insert.net.pl  Tue Sep 11 17:55:14 2007
From: Lamb_Bobbi at insert.net.pl (Reilly gad)
Date: Tue, 11 Sep 2007 20:55:14 -0100
Subject: directory of american physical therapists
Message-ID: <283277t5sup0$g6924sa0$7507x5f0@Delldim5150




Sep 10 - 14: With every purchase of our Medical Doctor List comes completely free! a Contact List for Dentists, Nursing Homes and Hospitals


Licensed Medical Doctors in the USA 

788,853 in total ? 17,400 emails

Coverage in many different areas of medicine such as Endocrinology, Pathology, Urology, Neurology, Plastic Surgery, Psychiatry, Cardiology and much more 

16 different sortable fields

Special Price: $356


*** BONUS: Get the 3 lists below as a bonus when you order the MD data ***

Hospitals in the USA
23,000 Admins in more than 7,000 hospitals {a $399 value]

Dentists in the USA
A complete Directory or dentists and related services (valued at $299)

Nursing Homes in the USA
Full data for CFO, Nursing Directors, Senior Admins [ worth $249 alone ]

email to:   docbizdata at hotmail.com




if you send us an email with "block" in the subject we will not include you in future mail


From akpm at linux-foundation.org  Fri Sep 14 06:48:54 2007
From: akpm at linux-foundation.org (Andrew Morton)
Date: Fri, 14 Sep 2007 03:48:54 -0700
Subject: [PATCH] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070905142742.GA1760@lixom.net>
References: <20070905142742.GA1760@lixom.net>
Message-ID: <20070914034854.1658a9cf.akpm@linux-foundation.org>

On Wed, 5 Sep 2007 09:27:43 -0500 Olof Johansson <olof at lixom.net> wrote:

> Convert the io_req_t members to kio_addr_t, to allow use on machines with
> more than 16 bits worth of IO port address space (ppc64 in this case,
> but it applies to others as well).

drivers/usb/host/sl811_cs.c: In function 'sl811_cs_config':
drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'kio_addr_t'
drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'

That's not just a cosmetic thing - the printk can print junk and if there's
a %s in the control string after the %x's, printk() will crash.

I don't know how many instances of this are in the tree, but they'll all
need to be found and fixed.



From olof at lixom.net  Fri Sep 14 12:52:33 2007
From: olof at lixom.net (Olof Johansson)
Date: Fri, 14 Sep 2007 11:52:33 -0500
Subject: [PATCH] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070914034854.1658a9cf.akpm@linux-foundation.org>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
Message-ID: <20070914165233.GA3045@lixom.net>

On Fri, Sep 14, 2007 at 03:48:54AM -0700, Andrew Morton wrote:
> On Wed, 5 Sep 2007 09:27:43 -0500 Olof Johansson <olof at lixom.net> wrote:
> 
> > Convert the io_req_t members to kio_addr_t, to allow use on machines with
> > more than 16 bits worth of IO port address space (ppc64 in this case,
> > but it applies to others as well).
> 
> drivers/usb/host/sl811_cs.c: In function 'sl811_cs_config':
> drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'kio_addr_t'
> drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
> 
> That's not just a cosmetic thing - the printk can print junk and if there's
> a %s in the control string after the %x's, printk() will crash.
> 
> I don't know how many instances of this are in the tree, but they'll all
> need to be found and fixed.

A crap, I completely forgot to check drivers/, and my default builds
don't contain many of them. My bad.

I'll do a full pass and review all references to the changed variables. So
far I've only noticed printk stuff, but I'm not done. There's a fair
amount lot of places where they're cast into ints instead of longs,
but that's a whole other ball of wax (and shouldn't cause regressions
like the printk ones could).


-Olof


From James.Bottomley at SteelEye.com  Sun Sep 16 13:12:35 2007
From: James.Bottomley at SteelEye.com (James Bottomley)
Date: Sun, 16 Sep 2007 12:12:35 -0500
Subject: AMD64 dma_alloc_coherent crashes on non PCI device (was SATA
	open bugs) II
In-Reply-To: <20070810202718.GB11892@one.firstfloor.org>
References: <20070809233458.12d8447c@the-village.bc.nu>
	<20070809224305.GA1611@one.firstfloor.org>
	<20070810001443.610185e1@the-village.bc.nu>
	<20070809231141.GB1845@one.firstfloor.org>
	<20070810002453.384a9b4c@the-village.bc.nu>
	<p73sl6rencd.fsf@bingen.suse.de>
	<20070810145430.17d72a76@the-village.bc.nu>
	<1186757538.3335.3.camel@localhost.localdomain>
	<20070810175808.52b5446a@the-village.bc.nu>
	<1186770505.6334.3.camel@localhost.localdomain>
	<20070810202718.GB11892@one.firstfloor.org>
Message-ID: <1189962755.3383.5.camel@localhost.localdomain>

On Fri, 2007-08-10 at 22:27 +0200, Andi Kleen wrote:
> > Surely we don't need to wait until then?  This is the correct fix, isn't
> > it?  (Obviously I'll split it into a generic and a pcmcia specific piece
> > if it looks OK to everyone).
> > 
> > It sets the PCMCIA dma_mask up correctly and introduces a DMA_MASK_NONE
> > (I prefer that to DMA_0BIT_MASK but I can add that too if people want)
> > and gives Alan his is_device_dma_capable() API.
> 
> Patch looks good to me.

No one else has commented ... shall I just submit the following two for
the merge window?

James




From James.Bottomley at SteelEye.com  Sun Sep 16 13:15:12 2007
From: James.Bottomley at SteelEye.com (James Bottomley)
Date: Sun, 16 Sep 2007 12:15:12 -0500
Subject: [PATCH 1/1] introduce DMA_MASK_NONE as a signal for unable to do DMA
In-Reply-To: <1189962755.3383.5.camel@localhost.localdomain>
References: <20070809233458.12d8447c@the-village.bc.nu>
	<20070809224305.GA1611@one.firstfloor.org>
	<20070810001443.610185e1@the-village.bc.nu>
	<20070809231141.GB1845@one.firstfloor.org>
	<20070810002453.384a9b4c@the-village.bc.nu>
	<p73sl6rencd.fsf@bingen.suse.de>
	<20070810145430.17d72a76@the-village.bc.nu>
	<1186757538.3335.3.camel@localhost.localdomain>
	<20070810175808.52b5446a@the-village.bc.nu>
	<1186770505.6334.3.camel@localhost.localdomain>
	<20070810202718.GB11892@one.firstfloor.org>
	<1189962755.3383.5.camel@localhost.localdomain>
Message-ID: <1189962913.3383.9.camel@localhost.localdomain>

Some devices are incapable of DMA and need to be recognised as such.
Introduce a NONE dma mask to facilitate this plus an inline function:
is_device_dma_capable() to check this.

Signed-off-by: James Bottomley <James.Bottomley at SteelEye.com>

diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index 2dc21cb..0ebfafb 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -24,6 +24,8 @@ enum dma_data_direction {
 #define DMA_28BIT_MASK	0x000000000fffffffULL
 #define DMA_24BIT_MASK	0x0000000000ffffffULL
 
+#define DMA_MASK_NONE	0x0ULL
+
 static inline int valid_dma_direction(int dma_direction)
 {
 	return ((dma_direction == DMA_BIDIRECTIONAL) ||
@@ -31,6 +33,11 @@ static inline int valid_dma_direction(int dma_direction)
 		(dma_direction == DMA_FROM_DEVICE));
 }
 
+static inline int is_device_dma_capable(struct device *dev)
+{
+	return dev->dma_mask != NULL && *dev->dma_mask != DMA_MASK_NONE;
+}
+
 #ifdef CONFIG_HAS_DMA
 #include <asm/dma-mapping.h>
 #else
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index 90ef552..f047a1f 100644




From James.Bottomley at SteelEye.com  Sun Sep 16 13:16:39 2007
From: James.Bottomley at SteelEye.com (James Bottomley)
Date: Sun, 16 Sep 2007 12:16:39 -0500
Subject: [Patch 2/2] pcmcia: use DMA_MASK_NONE for the default for all
	pcmcia devices
In-Reply-To: <1189962755.3383.5.camel@localhost.localdomain>
References: <20070809233458.12d8447c@the-village.bc.nu>
	<20070809224305.GA1611@one.firstfloor.org>
	<20070810001443.610185e1@the-village.bc.nu>
	<20070809231141.GB1845@one.firstfloor.org>
	<20070810002453.384a9b4c@the-village.bc.nu>
	<p73sl6rencd.fsf@bingen.suse.de>
	<20070810145430.17d72a76@the-village.bc.nu>
	<1186757538.3335.3.camel@localhost.localdomain>
	<20070810175808.52b5446a@the-village.bc.nu>
	<1186770505.6334.3.camel@localhost.localdomain>
	<20070810202718.GB11892@one.firstfloor.org>
	<1189962755.3383.5.camel@localhost.localdomain>
Message-ID: <1189962999.3383.12.camel@localhost.localdomain>

Most non cardbus devices can't do dma, so flag them as such in the
device creation routine.

Signed-off-by: James Bottomley <James.Bottomley at SteelEye.com>

diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index a996071..b3837d3 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -23,6 +23,7 @@
 #include <linux/crc32.h>
 #include <linux/firmware.h>
 #include <linux/kref.h>
+#include <linux/dma-mapping.h>
 
 #define IN_CARD_SERVICES
 #include <pcmcia/cs_types.h>
@@ -670,6 +671,9 @@ struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int f
 	p_dev->dev.bus = &pcmcia_bus_type;
 	p_dev->dev.parent = s->dev.parent;
 	p_dev->dev.release = pcmcia_release_dev;
+	/* by default don't allow DMA */
+	p_dev->dma_mask = DMA_MASK_NONE;
+	p_dev->dev.dma_mask = &p_dev->dma_mask;
 	bus_id_len = sprintf (p_dev->dev.bus_id, "%d.%d", p_dev->socket->sock, p_dev->device_no);
 
 	p_dev->devname = kmalloc(6 + bus_id_len + 1, GFP_KERNEL);
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index 90ef552..f047a1f 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -184,6 +184,7 @@ struct pcmcia_device {
 
 	char *			prod_id[4];
 
+	u64			dma_mask;
 	struct device		dev;
 
 #ifdef CONFIG_PCMCIA_IOCTL




From gerald.willmann at econ.kuleuven.be  Mon Sep 17 08:57:31 2007
From: gerald.willmann at econ.kuleuven.be (Gerald Willmann)
Date: Mon, 17 Sep 2007 14:57:31 +0200 (CEST)
Subject: speedstream wlan card
Message-ID: <Pine.LNX.4.63.0709171452210.14002@willmann.bwl.uni-kiel.de>

hi there:  I've used a speedstream pcmcia wlan card successfully on my 
debian laptop for yrs.  Recently upgraded from sarge to etch (ie 2.4 to
2.6) and now it doesn't work anymore.
For pcmcia-cs I had the following entry in /etc/pcmcia/config

card "SpeedStream SS1021 Wireless Adapter"
   version "Siemens", "SpeedStream Wireless PCMCIA"
   #manfid 0x02ac, 0x0002
   manfid 0x02ac, 0x3021
   bind "orinoco_cs"

Now, lspcmcia lists

Socket 0 Device 0:      [-- no driver --]       (bus ID: 0.0)
         Configuration:  state: on
         Product Name:   Siemens SpeedStream Wireless PCMCIA
         Identification: manf_id: 0x02ac card_id: 0x3021
                         function: 6 (network)
                         prod_id(1): "Siemens" (0xd936153f)
                         prod_id(2): "SpeedStream Wireless PCMCIA"
(0xbe6a5a90)
                         prod_id(3): --- (---)
                         prod_id(4): --- (---)

but no driver gets loaded and if I modprobe orinoco_cs by hand it doesn't 
seem to find the card.  Could someone pls point me in the right direction 
towards getting this to work again.  Many thanks,  Gerald


From stuge-linux-pcmcia at cdy.org  Mon Sep 17 13:07:46 2007
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Mon, 17 Sep 2007 19:07:46 +0200
Subject: speedstream wlan card
In-Reply-To: <Pine.LNX.4.63.0709171452210.14002@willmann.bwl.uni-kiel.de>
References: <Pine.LNX.4.63.0709171452210.14002@willmann.bwl.uni-kiel.de>
Message-ID: <20070917170746.26122.qmail@cdy.org>

Hi Gerald,

On Mon, Sep 17, 2007 at 02:57:31PM +0200, Gerald Willmann wrote:
> prod_id(1): "Siemens" (0xd936153f)
> prod_id(2): "SpeedStream Wireless PCMCIA" (0xbe6a5a90)
> 
> but no driver gets loaded and if I modprobe orinoco_cs by hand it
> doesn't seem to find the card.  Could someone pls point me in the
> right direction towards getting this to work again.  Many thanks,

Those two CRC32 checksums in paratheses need to be added to the
driver so the driver knows it works with this card.

Please send a patch once you've got it working. Thanks!


//Peter


From stuge-linux-pcmcia at cdy.org  Mon Sep 17 18:14:02 2007
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Tue, 18 Sep 2007 00:14:02 +0200
Subject: speedstream wlan card
In-Reply-To: <Pine.LNX.4.63.0709172102040.15806@willmann.bwl.uni-kiel.de>
References: <Pine.LNX.4.63.0709172102040.15806@willmann.bwl.uni-kiel.de>
Message-ID: <20070917221402.21527.qmail@cdy.org>

Hi Gerald,

On Mon, Sep 17, 2007 at 09:04:11PM +0200, Gerald Willmann wrote:
> Hi Peter:  thanks for your reply.  I have to admit that I'm just a
> simple user.

It is polite to keep the discussion on the mailing list. I write to
the list partly in order to help people who ask for help, but more
importantly to help people who search the archives in the future.
This only works when the mailing list forum is respected.


> How would I add those checksums to the driver. Looked at modinfo
> orinoco_cs but that did help me.

It requires making a one line addition to the driver source code.
If you don't think you can do it all on your own I'd be happy to make
a patch for you - which you could apply to your kernel sources and
after a rebuild of your kernel and reboot/driver reload the driver
should bind to the card.

If this is all too much then I guess you're stuck waiting for the
patch to first make it into the upstream kernel branch, and then from
there into your distribution of choice - which probably takes a
couple of months.

Again, please make sure to keep the discussion on the mailing list.
This goes for every single open source project. Mailing lists will
usually have headers in the email message that allow smart email
programs to recognize that the message came from a list, and offer
a special list reply function. Very useful feature but unfortunately
not ubiquituos quite yet.


//Peter


From JamesIgnacio at wittemoeller.com  Mon Sep 17 22:14:57 2007
From: JamesIgnacio at wittemoeller.com (prong)
Date: Mon, 17 Sep 2007 23:14:57 -0300
Subject: lists of the medical profession
Message-ID: <035998l6iir0$b4915qj0$6709r0y0@Delldim5150




Sep 17 - 21 - When you buy our Doctor Contact List you will receive completely free! a List for Dentists, Nursing Homes, Hospitals and Chiropractors


Licensed Doctors in the USA 

788,148 in total ? 17,400 emails

Lots of Doctors in specialties like Orthopedics, Surgery, Radiology, Dermatology, Neurology, General Practice etc..

Sort by over a dozen different fields

Price Just Lowered -  $383


*** BONUS: Get the 4 lists below as a bonus when you order the MD data ***

American Hospitals
more than 23k hospital administrators in over 7k hospitals [worth over $300 alone)

Dentists in the USA
More than half a million listings [worth $299 alone!]

US Nursing Home Listing
includes over 31,589 Senior administrators, 11,288 Nursing Directors in over 14,706 Nursing Homes in the United States. (value: $249)

US Chiropractor List
100k Chiropractors offices with full contact data including email, postal address, phone and fax

Email us at: drdata2007 at hotmail.com or call: 206-339-6160




if you send us an email with "block" in the subject we will not include you in future mail


From gerald.willmann at econ.kuleuven.be  Wed Sep 19 03:03:56 2007
From: gerald.willmann at econ.kuleuven.be (Gerald Willmann)
Date: Wed, 19 Sep 2007 09:03:56 +0200 (CEST)
Subject: linux-pcmcia Digest, Vol 54, Issue 8
In-Reply-To: <mailman.3.1190131208.18755.linux-pcmcia@lists.infradead.org>
References: <mailman.3.1190131208.18755.linux-pcmcia@lists.infradead.org>
Message-ID: <Pine.LNX.4.63.0709190858370.19749@willmann.bwl.uni-kiel.de>

> From: Peter Stuge <stuge-linux-pcmcia at cdy.org>
> Subject: Re: speedstream wlan card
>
> It is polite to keep the discussion on the mailing list.

Hi Peter:  sorry for that - opted for the daily digest when signing up and 
wasn't sure how to reply a single message, but here goes ...

> It requires making a one line addition to the driver source code.
> If you don't think you can do it all on your own I'd be happy to make
> a patch for you - which you could apply to your kernel sources and
> after a rebuild of your kernel and reboot/driver reload the driver
> should bind to the card.

I've installed the source and found the corresponding line.
Will either modify it or duplicate/modify it and see that I get it 
compiled and running.  Seems that debian allows you to do this via 
make-kpkg which should help.  Will report back whether it works once
I've found the time - hopefully next week.
 						many thanks,  Gerald


From olof at lixom.net  Fri Sep 21 18:15:16 2007
From: olof at lixom.net (Olof Johansson)
Date: Fri, 21 Sep 2007 17:15:16 -0500
Subject: [PATCH v2] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070914034854.1658a9cf.akpm@linux-foundation.org>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
Message-ID: <20070921221516.GA7926@lixom.net>

Convert the io_req_t members to kio_addr_t, to allow use on machines with
more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc).
    
I've also gone through the drivers, changed the few occurrances of
ioaddr_t to kio_addr_t where relevant, and changed format strings for
printk() and friends.
    
There are still places where a kio_addr_t is casted to an int, but at
the moment that's not causing problems. It should be cleaned up at some
point in the future though.

    
Signed-off-by: Olof Johansson <olof at lixom.net>


---

On Fri, Sep 14, 2007 at 03:48:54AM -0700, Andrew Morton wrote:
> On Wed, 5 Sep 2007 09:27:43 -0500 Olof Johansson <olof at lixom.net> wrote:
> 
> > Convert the io_req_t members to kio_addr_t, to allow use on machines with
> > more than 16 bits worth of IO port address space (ppc64 in this case,
> > but it applies to others as well).
> 
> drivers/usb/host/sl811_cs.c: In function 'sl811_cs_config':
> drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'kio_addr_t'
> drivers/usb/host/sl811_cs.c:263: warning: format '%04x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
> 
> That's not just a cosmetic thing - the printk can print junk and if there's
> a %s in the control string after the %x's, printk() will crash.
> 
> I don't know how many instances of this are in the tree, but they'll all
> need to be found and fixed.

I think I caught them all by now.


Thanks,

-Olof


diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index 4177f6d..b4f6036 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -308,7 +308,7 @@ static unsigned int calc_baudv(unsigned char fidi)
 	return (wcrcf / wbrcf);
 }
 
-static unsigned short io_read_num_rec_bytes(ioaddr_t iobase, unsigned short *s)
+static unsigned short io_read_num_rec_bytes(kio_addr_t iobase, unsigned short *s)
 {
 	unsigned short tmp;
 
@@ -426,7 +426,7 @@ static struct card_fixup card_fixups[] = {
 static void set_cardparameter(struct cm4000_dev *dev)
 {
 	int i;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 	u_int8_t stopbits = 0x02; /* ISO default */
 
 	DEBUGP(3, dev, "-> set_cardparameter\n");
@@ -459,7 +459,7 @@ static int set_protocol(struct cm4000_dev *dev, struct ptsreq *ptsreq)
 	unsigned short num_bytes_read;
 	unsigned char pts_reply[4];
 	ssize_t rc;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 
 	rc = 0;
 
@@ -610,7 +610,7 @@ exit_setprotocol:
 	return rc;
 }
 
-static int io_detect_cm4000(ioaddr_t iobase, struct cm4000_dev *dev)
+static int io_detect_cm4000(kio_addr_t iobase, struct cm4000_dev *dev)
 {
 
 	/* note: statemachine is assumed to be reset */
@@ -671,7 +671,7 @@ static void terminate_monitor(struct cm4000_dev *dev)
 static void monitor_card(unsigned long p)
 {
 	struct cm4000_dev *dev = (struct cm4000_dev *) p;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 	unsigned short s;
 	struct ptsreq ptsreq;
 	int i, atrc;
@@ -933,7 +933,7 @@ static ssize_t cmm_read(struct file *filp, __user char *buf, size_t count,
 			loff_t *ppos)
 {
 	struct cm4000_dev *dev = filp->private_data;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 	ssize_t rc;
 	int i, j, k;
 
@@ -1054,7 +1054,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
 			 size_t count, loff_t *ppos)
 {
 	struct cm4000_dev *dev = (struct cm4000_dev *) filp->private_data;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 	unsigned short s;
 	unsigned char tmp;
 	unsigned char infolen;
@@ -1408,7 +1408,7 @@ static int cmm_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
 		     unsigned long arg)
 {
 	struct cm4000_dev *dev = filp->private_data;
-	ioaddr_t iobase = dev->p_dev->io.BasePort1;
+	kio_addr_t iobase = dev->p_dev->io.BasePort1;
 	struct pcmcia_device *link;
 	int size;
 	int rc;
diff --git a/drivers/char/pcmcia/cm4040_cs.c b/drivers/char/pcmcia/cm4040_cs.c
index b24a3e7..3ecfc33 100644
--- a/drivers/char/pcmcia/cm4040_cs.c
+++ b/drivers/char/pcmcia/cm4040_cs.c
@@ -586,7 +586,7 @@ static int reader_config(struct pcmcia_device *link, int devno)
 	dev->node.minor = devno;
 	dev->node.next = &dev->node;
 
-	DEBUGP(2, dev, "device " DEVICE_NAME "%d at 0x%.4x-0x%.4x\n", devno,
+	DEBUGP(2, dev, "device " DEVICE_NAME "%d at 0x%.4lx-0x%.4lx\n", devno,
 	      link->io.BasePort1, link->io.BasePort1+link->io.NumPorts1);
 	DEBUGP(2, dev, "<- reader_config (succ)\n");
 
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 2b88931..7be068f 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -665,7 +665,7 @@ static int mgslpc_config(struct pcmcia_device *link)
     if (link->conf.Attributes & CONF_ENABLE_IRQ)
 	    printk(", irq %d", link->irq.AssignedIRQ);
     if (link->io.NumPorts1)
-	    printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+	    printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 		   link->io.BasePort1+link->io.NumPorts1-1);
     printk("\n");
     return 0;
diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/isdn/hardware/avm/avm_cs.c
index a5b941c..820853a 100644
--- a/drivers/isdn/hardware/avm/avm_cs.c
+++ b/drivers/isdn/hardware/avm/avm_cs.c
@@ -211,7 +211,7 @@ static int avmcs_config(struct pcmcia_device *link)
 		link->io.BasePort1 = cf->io.win[0].base;
 		link->io.NumPorts1 = cf->io.win[0].len;
 		link->io.NumPorts2 = 0;
-                printk(KERN_INFO "avm_cs: testing i/o %#x-%#x\n",
+                printk(KERN_INFO "avm_cs: testing i/o %#lx-%#lx\n",
 			link->io.BasePort1,
 		        link->io.BasePort1+link->io.NumPorts1-1);
 		i = pcmcia_request_io(link, &link->io);
@@ -288,7 +288,7 @@ found_port:
         case AVM_CARDTYPE_B1: addcard = b1pcmcia_addcard_b1; break;
     }
     if ((i = (*addcard)(link->io.BasePort1, link->irq.AssignedIRQ)) < 0) {
-        printk(KERN_ERR "avm_cs: failed to add AVM-%s-Controller at i/o %#x, irq %d\n",
+        printk(KERN_ERR "avm_cs: failed to add AVM-%s-Controller at i/o %#lx, irq %d\n",
 		dev->node.dev_name, link->io.BasePort1, link->irq.AssignedIRQ);
 	avmcs_release(link);
 	return -ENODEV;
diff --git a/drivers/isdn/hisax/avma1_cs.c b/drivers/isdn/hisax/avma1_cs.c
index fc6cc2c..6a75ba6 100644
--- a/drivers/isdn/hisax/avma1_cs.c
+++ b/drivers/isdn/hisax/avma1_cs.c
@@ -233,7 +233,7 @@ static int avma1cs_config(struct pcmcia_device *link)
 		link->io.BasePort1 = cf->io.win[0].base;
 		link->io.NumPorts1 = cf->io.win[0].len;
 		link->io.NumPorts2 = 0;
-		printk(KERN_INFO "avma1_cs: testing i/o %#x-%#x\n",
+		printk(KERN_INFO "avma1_cs: testing i/o %#lx-%#lx\n",
 			link->io.BasePort1,
 			link->io.BasePort1+link->io.NumPorts1 - 1);
 		i = pcmcia_request_io(link, &link->io);
@@ -285,7 +285,7 @@ found_port:
 	return -ENODEV;
     }
 
-    printk(KERN_NOTICE "avma1_cs: checking at i/o %#x, irq %d\n",
+    printk(KERN_NOTICE "avma1_cs: checking at i/o %#lx, irq %d\n",
 				link->io.BasePort1, link->irq.AssignedIRQ);
 
     icard.para[0] = link->irq.AssignedIRQ;
@@ -295,7 +295,7 @@ found_port:
     
     i = hisax_init_pcmcia(link, &busy, &icard);
     if (i < 0) {
-    	printk(KERN_ERR "avma1_cs: failed to initialize AVM A1 PCMCIA %d at i/o %#x\n", i, link->io.BasePort1);
+    	printk(KERN_ERR "avma1_cs: failed to initialize AVM A1 PCMCIA %d at i/o %#lx\n", i, link->io.BasePort1);
 	avma1cs_release(link);
 	return -ENODEV;
     }
diff --git a/drivers/isdn/hisax/elsa_cs.c b/drivers/isdn/hisax/elsa_cs.c
index db7e644..6d2b338 100644
--- a/drivers/isdn/hisax/elsa_cs.c
+++ b/drivers/isdn/hisax/elsa_cs.c
@@ -296,10 +296,10 @@ static int elsa_cs_config(struct pcmcia_device *link)
     if (link->conf.Attributes & CONF_ENABLE_IRQ)
         printk(", irq %d", link->irq.AssignedIRQ);
     if (link->io.NumPorts1)
-        printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+        printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
                link->io.BasePort1+link->io.NumPorts1-1);
     if (link->io.NumPorts2)
-        printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+        printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
                link->io.BasePort2+link->io.NumPorts2-1);
     printk("\n");
 
@@ -310,7 +310,7 @@ static int elsa_cs_config(struct pcmcia_device *link)
     
     i = hisax_init_pcmcia(link, &(((local_info_t*)link->priv)->busy), &icard);
     if (i < 0) {
-    	printk(KERN_ERR "elsa_cs: failed to initialize Elsa PCMCIA %d at i/o %#x\n",
+    	printk(KERN_ERR "elsa_cs: failed to initialize Elsa PCMCIA %d at i/o %#lx\n",
     		i, link->io.BasePort1);
     	elsa_cs_release(link);
     } else
diff --git a/drivers/isdn/hisax/sedlbauer_cs.c b/drivers/isdn/hisax/sedlbauer_cs.c
index 439cb53..fdead4c 100644
--- a/drivers/isdn/hisax/sedlbauer_cs.c
+++ b/drivers/isdn/hisax/sedlbauer_cs.c
@@ -381,10 +381,10 @@ static int sedlbauer_config(struct pcmcia_device *link)
     if (link->conf.Attributes & CONF_ENABLE_IRQ)
 	printk(", irq %d", link->irq.AssignedIRQ);
     if (link->io.NumPorts1)
-	printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+	printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 	       link->io.BasePort1+link->io.NumPorts1-1);
     if (link->io.NumPorts2)
-	printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+	printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
 	       link->io.BasePort2+link->io.NumPorts2-1);
     if (link->win)
 	printk(", mem 0x%06lx-0x%06lx", req.Base,
@@ -398,7 +398,7 @@ static int sedlbauer_config(struct pcmcia_device *link)
     
     last_ret = hisax_init_pcmcia(link, &(((local_info_t*)link->priv)->stop), &icard);
     if (last_ret < 0) {
-    	printk(KERN_ERR "sedlbauer_cs: failed to initialize SEDLBAUER PCMCIA %d at i/o %#x\n",
+    	printk(KERN_ERR "sedlbauer_cs: failed to initialize SEDLBAUER PCMCIA %d at i/o %#lx\n",
     		last_ret, link->io.BasePort1);
     	sedlbauer_release(link);
 	return -ENODEV;
diff --git a/drivers/isdn/hisax/teles_cs.c b/drivers/isdn/hisax/teles_cs.c
index ab4bd45..e492bd2 100644
--- a/drivers/isdn/hisax/teles_cs.c
+++ b/drivers/isdn/hisax/teles_cs.c
@@ -286,10 +286,10 @@ static int teles_cs_config(struct pcmcia_device *link)
     if (link->conf.Attributes & CONF_ENABLE_IRQ)
         printk(", irq %d", link->irq.AssignedIRQ);
     if (link->io.NumPorts1)
-        printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+        printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
                link->io.BasePort1+link->io.NumPorts1-1);
     if (link->io.NumPorts2)
-        printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+        printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
                link->io.BasePort2+link->io.NumPorts2-1);
     printk("\n");
 
@@ -300,7 +300,7 @@ static int teles_cs_config(struct pcmcia_device *link)
     
     i = hisax_init_pcmcia(link, &(((local_info_t*)link->priv)->busy), &icard);
     if (i < 0) {
-    	printk(KERN_ERR "teles_cs: failed to initialize Teles PCMCIA %d at i/o %#x\n",
+    	printk(KERN_ERR "teles_cs: failed to initialize Teles PCMCIA %d at i/o %#lx\n",
     		i, link->io.BasePort1);
     	teles_cs_release(link);
 	return -ENODEV;
diff --git a/drivers/net/pcmcia/com20020_cs.c b/drivers/net/pcmcia/com20020_cs.c
index ea9414c..f5351c0 100644
--- a/drivers/net/pcmcia/com20020_cs.c
+++ b/drivers/net/pcmcia/com20020_cs.c
@@ -259,7 +259,7 @@ static int com20020_config(struct pcmcia_device *link)
 
     DEBUG(0, "com20020_config(0x%p)\n", link);
 
-    DEBUG(1,"arcnet: baseport1 is %Xh\n", link->io.BasePort1);
+    DEBUG(1,"arcnet: baseport1 is %lXh\n", link->io.BasePort1);
     i = !CS_SUCCESS;
     if (!link->io.BasePort1)
     {
diff --git a/drivers/net/wireless/airo_cs.c b/drivers/net/wireless/airo_cs.c
index f123553..2a3544f 100644
--- a/drivers/net/wireless/airo_cs.c
+++ b/drivers/net/wireless/airo_cs.c
@@ -356,10 +356,10 @@ static int airo_config(struct pcmcia_device *link)
 	if (link->conf.Attributes & CONF_ENABLE_IRQ)
 		printk(", irq %d", link->irq.AssignedIRQ);
 	if (link->io.NumPorts1)
-		printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+		printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 		       link->io.BasePort1+link->io.NumPorts1-1);
 	if (link->io.NumPorts2)
-		printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+		printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
 		       link->io.BasePort2+link->io.NumPorts2-1);
 	if (link->win)
 		printk(", mem 0x%06lx-0x%06lx", req.Base,
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c
index 30e723f..93c6b0b 100644
--- a/drivers/net/wireless/hostap/hostap_cs.c
+++ b/drivers/net/wireless/hostap/hostap_cs.c
@@ -721,10 +721,10 @@ static int prism2_config(struct pcmcia_device *link)
 	if (link->conf.Attributes & CONF_ENABLE_IRQ)
 		printk(", irq %d", link->irq.AssignedIRQ);
 	if (link->io.NumPorts1)
-		printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+		printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 		       link->io.BasePort1+link->io.NumPorts1-1);
 	if (link->io.NumPorts2)
-		printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+		printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
 		       link->io.BasePort2+link->io.NumPorts2-1);
 	printk("\n");
 
diff --git a/drivers/net/wireless/orinoco_cs.c b/drivers/net/wireless/orinoco_cs.c
index d1e5022..80bd2f6 100644
--- a/drivers/net/wireless/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco_cs.c
@@ -332,7 +332,7 @@ orinoco_cs_config(struct pcmcia_device *link)
 
 	/* Finally, report what we've done */
 	printk(KERN_DEBUG "%s: " DRIVER_NAME " at %s, irq %d, io "
-	       "0x%04x-0x%04x\n", dev->name, dev->dev.parent->bus_id,
+	       "0x%04lx-0x%04lx\n", dev->name, dev->dev.parent->bus_id,
 	       link->irq.AssignedIRQ, link->io.BasePort1,
 	       link->io.BasePort1 + link->io.NumPorts1 - 1);
 
diff --git a/drivers/net/wireless/spectrum_cs.c b/drivers/net/wireless/spectrum_cs.c
index af70460..b87185e 100644
--- a/drivers/net/wireless/spectrum_cs.c
+++ b/drivers/net/wireless/spectrum_cs.c
@@ -806,7 +806,7 @@ spectrum_cs_config(struct pcmcia_device *link)
 
 	/* Finally, report what we've done */
 	printk(KERN_DEBUG "%s: " DRIVER_NAME " at %s, irq %d, io "
-	       "0x%04x-0x%04x\n", dev->name, dev->dev.parent->bus_id,
+	       "0x%04lx-0x%04lx\n", dev->name, dev->dev.parent->bus_id,
 	       link->irq.AssignedIRQ, link->io.BasePort1,
 	       link->io.BasePort1 + link->io.NumPorts1 - 1);
 
diff --git a/drivers/parport/parport_cs.c b/drivers/parport/parport_cs.c
index 802a81d..17a4cfb 100644
--- a/drivers/parport/parport_cs.c
+++ b/drivers/parport/parport_cs.c
@@ -203,7 +203,7 @@ static int parport_config(struct pcmcia_device *link)
 			      &link->dev);
     if (p == NULL) {
 	printk(KERN_NOTICE "parport_cs: parport_pc_probe_port() at "
-	       "0x%3x, irq %u failed\n", link->io.BasePort1,
+	       "0x%3lx, irq %u failed\n", link->io.BasePort1,
 	       link->irq.AssignedIRQ);
 	goto failed;
     }
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 0ce39de..585c14b 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -65,8 +65,8 @@ extern int ds_pc_debug;
  * Special stuff for managing IO windows, because they are scarce
  */
 
-static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
-			  ioaddr_t num, u_int lines)
+static int alloc_io_space(struct pcmcia_socket *s, u_int attr, kio_addr_t *base,
+			  kio_addr_t num, u_int lines)
 {
 	int i;
 	kio_addr_t try, align;
@@ -74,14 +74,14 @@ static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
 	align = (*base) ? (lines ? 1<<lines : 0) : 1;
 	if (align && (align < num)) {
 		if (*base) {
-			ds_dbg(s, 0, "odd IO request: num %#x align %#lx\n",
+			ds_dbg(s, 0, "odd IO request: num %#lx align %#lx\n",
 			       num, align);
 			align = 0;
 		} else
 			while (align && (align < num)) align <<= 1;
 	}
 	if (*base & ~(align-1)) {
-		ds_dbg(s, 0, "odd IO request: base %#x align %#lx\n",
+		ds_dbg(s, 0, "odd IO request: base %#lx align %#lx\n",
 		       *base, align);
 		align = 0;
 	}
@@ -132,8 +132,8 @@ static int alloc_io_space(struct pcmcia_socket *s, u_int attr, ioaddr_t *base,
 } /* alloc_io_space */
 
 
-static void release_io_space(struct pcmcia_socket *s, ioaddr_t base,
-			     ioaddr_t num)
+static void release_io_space(struct pcmcia_socket *s, kio_addr_t base,
+			     kio_addr_t num)
 {
 	int i;
 
diff --git a/drivers/scsi/pcmcia/fdomain_stub.c b/drivers/scsi/pcmcia/fdomain_stub.c
index 4b82b20..42611e6 100644
--- a/drivers/scsi/pcmcia/fdomain_stub.c
+++ b/drivers/scsi/pcmcia/fdomain_stub.c
@@ -160,7 +160,7 @@ static int fdomain_config(struct pcmcia_device *link)
     release_region(link->io.BasePort1, link->io.NumPorts1);
 
     /* Set configuration options for the fdomain driver */
-    sprintf(str, "%d,%d", link->io.BasePort1, link->irq.AssignedIRQ);
+    sprintf(str, "%ld,%d", link->io.BasePort1, link->irq.AssignedIRQ);
     fdomain_setup(str);
 
     host = __fdomain_16x0_detect(&fdomain_driver_template);
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index 445cfbb..7e9a897 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -1896,11 +1896,11 @@ static int nsp_cs_config(struct pcmcia_device *link)
 		printk(", irq %d", link->irq.AssignedIRQ);
 	}
 	if (link->io.NumPorts1) {
-		printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+		printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 		       link->io.BasePort1+link->io.NumPorts1-1);
 	}
 	if (link->io.NumPorts2)
-		printk(" & 0x%04x-0x%04x", link->io.BasePort2,
+		printk(" & 0x%04lx-0x%04lx", link->io.BasePort2,
 		       link->io.BasePort2+link->io.NumPorts2-1);
 	if (link->win)
 		printk(", mem 0x%06lx-0x%06lx", req.Base,
diff --git a/drivers/usb/host/sl811_cs.c b/drivers/usb/host/sl811_cs.c
index 5da63f5..062fba6 100644
--- a/drivers/usb/host/sl811_cs.c
+++ b/drivers/usb/host/sl811_cs.c
@@ -259,7 +259,7 @@ next_entry:
 	if (link->conf.Vpp)
 		printk(", Vpp %d.%d", link->conf.Vpp/10, link->conf.Vpp%10);
 	printk(", irq %d", link->irq.AssignedIRQ);
-	printk(", io 0x%04x-0x%04x", link->io.BasePort1,
+	printk(", io 0x%04lx-0x%04lx", link->io.BasePort1,
 	       link->io.BasePort1+link->io.NumPorts1-1);
 	printk("\n");
 
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index d5838c3..657d653 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -147,11 +147,11 @@ typedef struct config_req_t {
 
 /* For RequestIO and ReleaseIO */
 typedef struct io_req_t {
-    ioaddr_t	BasePort1;
-    ioaddr_t	NumPorts1;
+    kio_addr_t	BasePort1;
+    kio_addr_t	NumPorts1;
     u_int	Attributes1;
-    ioaddr_t	BasePort2;
-    ioaddr_t	NumPorts2;
+    kio_addr_t	BasePort2;
+    kio_addr_t	NumPorts2;
     u_int	Attributes2;
     u_int	IOAddrLines;
 } io_req_t;


From alan at lxorguk.ukuu.org.uk  Fri Sep 21 18:39:36 2007
From: alan at lxorguk.ukuu.org.uk (Alan Cox)
Date: Fri, 21 Sep 2007 23:39:36 +0100
Subject: [PATCH v2] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070921221516.GA7926@lixom.net>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
	<20070921221516.GA7926@lixom.net>
Message-ID: <20070921233936.2aeb2504@the-village.bc.nu>

On Fri, 21 Sep 2007 17:15:16 -0500
Olof Johansson <olof at lixom.net> wrote:

> Convert the io_req_t members to kio_addr_t, to allow use on machines with
> more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc).

What about the formatting and field widths ?

ulong would probably be a lot saner than kio_addr_t and yet more type
obfuscation.

Otherwise looks sensible to me


From matthew at wil.cx  Sat Sep 22 02:25:51 2007
From: matthew at wil.cx (Matthew Wilcox)
Date: Sat, 22 Sep 2007 00:25:51 -0600
Subject: [PATCH v2] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070921233936.2aeb2504@the-village.bc.nu>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
	<20070921221516.GA7926@lixom.net>
	<20070921233936.2aeb2504@the-village.bc.nu>
Message-ID: <20070922062551.GE10625@parisc-linux.org>

On Fri, Sep 21, 2007 at 11:39:36PM +0100, Alan Cox wrote:
> On Fri, 21 Sep 2007 17:15:16 -0500
> Olof Johansson <olof at lixom.net> wrote:
> 
> > Convert the io_req_t members to kio_addr_t, to allow use on machines with
> > more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc).
> 
> What about the formatting and field widths ?
> 
> ulong would probably be a lot saner than kio_addr_t and yet more type
> obfuscation.

I don't think anyone uses ioports > 32bit.  Certainly i386 takes an int
port as parameter to {in,out}[bwl] (and it really only uses 16-bits).
parisc uses 24 bits.  I don't know what the various ppcs do, but pci
bars can only be 32-bit for ioports.  So my opinion is that ioports
should be uint, not ulong.

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."


From hch at lst.de  Sat Sep 22 05:13:03 2007
From: hch at lst.de (Christoph Hellwig)
Date: Sat, 22 Sep 2007 11:13:03 +0200
Subject: [PATCH v2] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070922062551.GE10625@parisc-linux.org>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
	<20070921221516.GA7926@lixom.net>
	<20070921233936.2aeb2504@the-village.bc.nu>
	<20070922062551.GE10625@parisc-linux.org>
Message-ID: <20070922091303.GA12525@lst.de>

On Sat, Sep 22, 2007 at 12:25:51AM -0600, Matthew Wilcox wrote:
> > What about the formatting and field widths ?
> > 
> > ulong would probably be a lot saner than kio_addr_t and yet more type
> > obfuscation.
> 
> I don't think anyone uses ioports > 32bit.  Certainly i386 takes an int
> port as parameter to {in,out}[bwl] (and it really only uses 16-bits).
> parisc uses 24 bits.  I don't know what the various ppcs do, but pci
> bars can only be 32-bit for ioports.  So my opinion is that ioports
> should be uint, not ulong.

The kernel seems to mostly use int, sometimes uint.  I never quite got
why pcmcia had to have it's own strange typedef for them.



From olof at lixom.net  Sat Sep 22 11:11:48 2007
From: olof at lixom.net (Olof Johansson)
Date: Sat, 22 Sep 2007 10:11:48 -0500
Subject: [PATCH v2] pcmcia: Convert io_req_t to use kio_addr_t
In-Reply-To: <20070922062551.GE10625@parisc-linux.org>
References: <20070905142742.GA1760@lixom.net>
	<20070914034854.1658a9cf.akpm@linux-foundation.org>
	<20070921221516.GA7926@lixom.net>
	<20070921233936.2aeb2504@the-village.bc.nu>
	<20070922062551.GE10625@parisc-linux.org>
Message-ID: <20070922151148.GA19776@lixom.net>

On Sat, Sep 22, 2007 at 12:25:51AM -0600, Matthew Wilcox wrote:
> On Fri, Sep 21, 2007 at 11:39:36PM +0100, Alan Cox wrote:
> > On Fri, 21 Sep 2007 17:15:16 -0500
> > Olof Johansson <olof at lixom.net> wrote:
> > 
> > > Convert the io_req_t members to kio_addr_t, to allow use on machines with
> > > more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc).
> > 
> > What about the formatting and field widths ?
> > 
> > ulong would probably be a lot saner than kio_addr_t and yet more type
> > obfuscation.
> 
> I don't think anyone uses ioports > 32bit.  Certainly i386 takes an int
> port as parameter to {in,out}[bwl] (and it really only uses 16-bits).
> parisc uses 24 bits.  I don't know what the various ppcs do, but pci
> bars can only be 32-bit for ioports.  So my opinion is that ioports
> should be uint, not ulong.

PPC would do just fine with 32-bit as well, which is what I wanted in
the first place. I just went with the local coding standard of pcmcia
and switched to kio_addr_t.

I suppose it's a janitorial todo item but with the maintainer MIA I
don't want to mess around with it too much, since I can't really test
much besides the PPC stuff I have.

As for the formatting/padding widths: Some platforms had ioaddr_t's
that were 32 bit already, so it was already broken on those, and the
only drawback is missing 0-padding. It'd look a bit silly to pad to 16
0:s anyway at the moment, so I think I'd prefer to keep it the way it is.


-Olof


From cpkotltxfbfrc at qstab.com  Wed Sep 26 03:03:43 2007
From: cpkotltxfbfrc at qstab.com (freud)
Date: Wed, 26 Sep 2007 00:03:43 -0700
Subject: medical directories
Message-ID: <128751m8acw0$t0141yk0$9250x3x0@Delldim5150




Sep 24 - 28 - When you buy our Doctor List you will receive at no charge a Contact List for Dentists, Nursing Homes, Hospitals and Chiropractors


Licensed Doctors in the USA 

788,217 in total ? 17,400 emails

Many different medical specialties

Can easily be sorted by 16 different fields

Price Just Lowered -  $387


*** FREE OFFER: Get the 4 directories below for FREE with the purchase of the Doctor data ***

American Hospital Listing
complete contact information for CEO's, CFO's, Directors and more - over 23,000 listings in total for more than 7,000 hospitals in the USA

Directory of American Dentists
597,000 dentists and dental services ( a $300 value!) 

Contact List of US Nursing Homes
Full data for CFO, Nursing Directors, Senior Admins [ worth $249 alone ]

Database of US Chiropractors
Complete data for all chiropractors in the USA (a $249 value)

send us an email: medlistmaster at hotmail.com




an email with "kill" in the subject will assure no further emails


From Roach_Fern at ahhcbiz.com  Sun Sep 30 22:22:58 2007
From: Roach_Fern at ahhcbiz.com (Gail G Dick)
Date: Sun, 30 Sep 2007 23:22:58 -0300
Subject: get more leads with these healthcare lists
Message-ID: <503793y2fvo0$c2276xr0$5706e2t0@Delldim5150




Up until Oct 6 - With every purchase of the Physician Database you will receive Pharmaceutical Company Decision Makers data without charge


Licensed Physicians in the USA 

788,708 in total ? 17,400 emails

34 primary and secondary specialties

Many unique fields like 'medical school attended' and 'location of residency training'

This week's special price =  $254


*** Recieve the data below absolutely FREE when you buy the Physician Contact List above ***

American Pharmaceutical Company bigwigs
5,000 names and emails of the major players

email to:   datamedsource at hotmail.com  reply by phone: (206) 888-2235




to manage your subscription settings send an email to the address above with 987 in the subject


