From chris.bainbridge at gmail.com  Fri Feb  1 14:03:30 2008
From: chris.bainbridge at gmail.com (Chris Bainbridge)
Date: Fri, 1 Feb 2008 19:03:30 +0000
Subject: cardbus card on Thinkpad T42 "pauses" system
Message-ID: <623652d50802011103u728e603ao7b4355bfffbda0ff@mail.gmail.com>

I have a standard IBM Thinkpad T42. I have never used a PCMCIA card
with this laptop before. I bought a 32bit cardbus SATA adaptor. When I
plug it in the whole system pauses - caps lock doesn't work etc. When
I eject, normal operation resumes and all the key presses etc are
processed. Could it be some problem with interrupts? I have tried
2.6.2[34] kernels, added yenta-socket and both ibm pci hotplug and
acpi pci hotplug (not sure which to use). To try and eliminate my
kernel config as source of the problem I tried both gentoo and ubuntu
live CDs and observed the same behaviour. I enabled debugging and got:

Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: insert
Feb  1 16:14:28 hostx cs: pcmcia_socket1: setup
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: shutdown
Feb  1 16:14:28 hostx cs: pcmcia_socket1: remove_drivers
Feb  1 16:14:28 hostx cs: pcmcia_socket1: send_event(event 8, pri 1,
callback 0xc0495c18)
Feb  1 16:14:28 hostx ds: ds_event(0x000008, 1, 0xf7f08028)
Feb  1 16:14:28 hostx ds: pcmcia_card_remove(1)
Feb  1 16:14:28 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:28 hostx cs: pcmcia_socket1: insert
Feb  1 16:14:28 hostx cs: pcmcia_socket1: setup
Feb  1 16:14:29 hostx cs: pcmcia_socket1: reset
Feb  1 16:14:29 hostx pccard: CardBus card inserted into slot 1
Feb  1 16:14:29 hostx cs: pcmcia_socket1: insert done
Feb  1 16:14:29 hostx cs: pcmcia_socket1: parse_events: events 00000080
Feb  1 16:14:29 hostx pccard: card ejected from slot 1
Feb  1 16:14:29 hostx cs: pcmcia_socket1: shutdown
Feb  1 16:14:29 hostx cs: pcmcia_socket1: remove_drivers

I've spent a few hours on this so far and would really appreciate any
hints. This is quite a popular laptop but I haven't been able to track
down any other reports of this strange pausing. I've tried
"pci=routeirq" and "pci=assign-busses" to no avail. The pausing only
happens when the yenta-socket module is loaded, if the module isn't
loaded or builtin I can plug and unplug the card without pausing, so I
don't think it's an electrical problem.

Thanks,

Chris


From Alexander.Mader at niles.de  Mon Feb  4 09:01:44 2008
From: Alexander.Mader at niles.de (Mader, Alexander (N-MSR))
Date: Mon, 04 Feb 2008 15:01:44 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
Message-ID: <47A71AC8.3040601@niles.de>

Hello,

I hope I am contacting the appropriate list for this. Please, let me 
know if I should search somewhere else.

There seems to be a problem accessing PCMCIA cards with O2 Micro 
OZ711MP1/MS1 Controller and it would be really great if I could get some 
hints from this list to get around it.

On a Fujitsu Siemens Celsius H240 a 2.6.22-3-amd64 kernel from Debian 
testing is in use. PCMCIA utilities for Linux 2.6 version 014-4 are 
installed. I concatenated the the output of lspci and lshal below.

When I insert a CardBus adapter, for instance a CNET CNF401 fast 
ethernet, everything works fine and the adapter becomes available to the 
system -- in this example the NIC with working LAN access. The lspci and 
lshal output then reflects the new hardware.

When I insert a PCMCIA adapter, for instance a 3com 3CCE589EC or an 
compact flash adapter, almost nothing happens: In the case of the 3com I 
just get (dmesg):

	pccard: PCMCIA card inserted into slot 0

In the case of the compact flash adapter at the first insert dmesg gives:

pccard: PCMCIA card inserted into slot 0
cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xfffff
cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
cs: memory probe 0x88000000-0x8fffffff: excluding 0x88000000-0x8fffffff
cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff
cs: memory probe 0xf0300000-0xf03fffff: excluding 0xf0300000-0xf03fffff

Later dmesg issues just "pccard: PCMCIA card inserted into slot 0"

In both PCMCIA examples the lshal output doesn't change, in the lspci 
output the original line:

	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+
	PostWrite+                                  ^^^^^^

changes to:

	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+
	PostWrite+                                  ^^^^^^

In the case of the compact flash neither "modprobe ide_cs" nor "modprobe 
pata_pcmcia" yield anything -- not even in dmesg.

As I do not want to access a SmartCard I did not try the o2scr driver 
from gna.org/projects/o2scr.

Now the command output will follow, but before that:

Best regards, Alexander.
========================================================================

According to lspci -vv the card reader is:

8< ------------------------------------------------------------------ >8
08:03.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus 
Controller (rev 21)
	Subsystem: Fujitsu Limited. Unknown device 131e
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
	Latency: 168
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at f0303000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=08, secondary=09, subordinate=0c, sec-latency=176
	Memory window 0: 88000000-8bfff000 (prefetchable)
	Memory window 1: 94000000-97fff000
	I/O window 0: 00004000-000040ff
	I/O window 1: 00004400-000044ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001
	Kernel driver in use: yenta_cardbus
	Kernel modules: yenta_socket

08:03.1 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus 
Controller (rev 21)
	Subsystem: Fujitsu Limited. Unknown device 131e
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
	Latency: 168
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at f0304000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=08, secondary=0d, subordinate=10, sec-latency=176
	Memory window 0: 8c000000-8ffff000 (prefetchable)
	Memory window 1: 98000000-9bfff000
	I/O window 0: 00004800-000048ff
	I/O window 1: 00004c00-00004cff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001
	Kernel driver in use: yenta_cardbus
	Kernel modules: yenta_socket

8< ------------------------------------------------------------------ >8

According to lshal -vv we have:

8< ------------------------------------------------------------------ >8
udi = '/org/freedesktop/Hal/devices/pci_1217_7134_0'
   info.bus = 'pci'  (string)
   info.linux.driver = 'yenta_cardbus'  (string)
   info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448'  (string)
   info.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
   info.subsystem = 'pci'  (string)
   info.udi = '/org/freedesktop/Hal/devices/pci_1217_7134_0'  (string)
   info.vendor = 'O2 Micro, Inc.'  (string)
   linux.hotplug_type = 2  (0x2)  (int)
   linux.subsystem = 'pci'  (string)
   linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1'  (string)
   pci.device_class = 6  (0x6)  (int)
   pci.device_protocol = 0  (0x0)  (int)
   pci.device_subclass = 7  (0x7)  (int)
   pci.linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1'  (string)
   pci.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
   pci.product_id = 28980  (0x7134)  (int)
   pci.subsys_product_id = 4894  (0x131e)  (int)
   pci.subsys_vendor = 'Fujitsu Limited.'  (string)
   pci.subsys_vendor_id = 4303  (0x10cf)  (int)
   pci.vendor = 'O2 Micro, Inc.'  (string)
   pci.vendor_id = 4631  (0x1217)  (int)

udi = '/org/freedesktop/Hal/devices/pcmcia__1__1'
   info.bus = 'pcmcia'  (string)
   info.parent = '/org/freedesktop/Hal/devices/pci_1217_7134_0'  (string)
   info.product = 'SmartCardBus Reader'  (string)
   info.subsystem = 'pcmcia'  (string)
   info.udi = '/org/freedesktop/Hal/devices/pcmcia__1__1'  (string)
   info.vendor = 'O2Micro'  (string)
   linux.hotplug_type = 2  (0x2)  (int)
   linux.subsystem = 'pcmcia'  (string)
   linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1/1.0'  (string)
   pcmcia.card_id = 1  (0x1)  (int)
   pcmcia.manf_id = 65535  (0xffff)  (int)
   pcmcia.prod_id1 = 'O2Micro'  (string)
   pcmcia.prod_id2 = 'SmartCardBus Reader'  (string)
   pcmcia.prod_id3 = 'V1.0'  (string)
   pcmcia.product = 'O2Micro'  (string)
   pcmcia.socket_number = 1  (0x1)  (int)
   pcmcia.vendor = 'O2Micro'  (string)

udi = '/org/freedesktop/Hal/devices/pci_1217_7134'
   info.bus = 'pci'  (string)
   info.linux.driver = 'yenta_cardbus'  (string)
   info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448'  (string)
   info.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
   info.subsystem = 'pci'  (string)
   info.udi = '/org/freedesktop/Hal/devices/pci_1217_7134'  (string)
   info.vendor = 'O2 Micro, Inc.'  (string)
   linux.hotplug_type = 2  (0x2)  (int)
   linux.subsystem = 'pci'  (string)
   linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.0'  (string)
   pci.device_class = 6  (0x6)  (int)
   pci.device_protocol = 0  (0x0)  (int)
   pci.device_subclass = 7  (0x7)  (int)
   pci.linux.sysfs_path = 
'/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.0'  (string)
   pci.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
   pci.product_id = 28980  (0x7134)  (int)
   pci.subsys_product_id = 4894  (0x131e)  (int)
   pci.subsys_vendor = 'Fujitsu Limited.'  (string)
   pci.subsys_vendor_id = 4303  (0x10cf)  (int)
   pci.vendor = 'O2 Micro, Inc.'  (string)
   pci.vendor_id = 4631  (0x1217)  (int)
8< ------------------------------------------------------------------ >8

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3674 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080204/baf50ff9/attachment.bin 

From stuge-linux-pcmcia at cdy.org  Mon Feb  4 10:40:43 2008
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Mon, 4 Feb 2008 16:40:43 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <47A71AC8.3040601@niles.de>
References: <47A71AC8.3040601@niles.de>
Message-ID: <20080204154043.15482.qmail@cdy.org>

On Mon, Feb 04, 2008 at 03:01:44PM +0100, Mader, Alexander (N-MSR) wrote:
> I hope I am contacting the appropriate list for this. Please, let
> me know if I should search somewhere else.

This is probably the right place, but I'm afraid you probably will
not get much help since there is not a lot of activity here.

You could also try sending a message to lkml, with just a summary of
the problem. Perhaps someone there knows more about it.


//Peter


From kristoffer.ericson at gmail.com  Mon Feb  4 11:11:00 2008
From: kristoffer.ericson at gmail.com (Kristoffer Ericson)
Date: Mon, 4 Feb 2008 17:11:00 +0100
Subject: Where to send new pcmcia driver?
Message-ID: <20080204171100.e9aff4a5.Kristoffer.ericson@gmail.com>

Greetings,
Im almost finished with my pcmcia driver for the h64461 chipset, it works fine just need to clean it up.

Now looking at the MAINTAINER list it doesn't reference anyone special as the maintainer for pcmcia subsystem.
So in short where should I send the patch?

Also, I've tried on numerous occasions to seek help on pcmcia list and besides some helpful replies from Peter Stuge, it's been
silent. Perhaps linux-pcmcia mailinglist would be better off getting merged into linux-main list?

Best wishes
Kristoffer


From kristoffer.ericson at gmail.com  Mon Feb  4 11:28:58 2008
From: kristoffer.ericson at gmail.com (Kristoffer Ericson)
Date: Mon, 4 Feb 2008 17:28:58 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <47A71AC8.3040601@niles.de>
References: <47A71AC8.3040601@niles.de>
Message-ID: <20080204172858.ebff6da1.Kristoffer.ericson@gmail.com>

On Mon, 04 Feb 2008 15:01:44 +0100
"Mader, Alexander (N-MSR)" <Alexander.Mader at niles.de> wrote:

> Hello,
> 
> I hope I am contacting the appropriate list for this. Please, let me 
> know if I should search somewhere else.
> 
> There seems to be a problem accessing PCMCIA cards with O2 Micro 
> OZ711MP1/MS1 Controller and it would be really great if I could get some 
> hints from this list to get around it.
> 
> On a Fujitsu Siemens Celsius H240 a 2.6.22-3-amd64 kernel from Debian 
> testing is in use. PCMCIA utilities for Linux 2.6 version 014-4 are 
> installed. I concatenated the the output of lspci and lshal below.
> 
> When I insert a CardBus adapter, for instance a CNET CNF401 fast 
> ethernet, everything works fine and the adapter becomes available to the 
> system -- in this example the NIC with working LAN access. The lspci and 
> lshal output then reflects the new hardware.
> 
> When I insert a PCMCIA adapter, for instance a 3com 3CCE589EC or an 
> compact flash adapter, almost nothing happens: In the case of the 3com I 
> just get (dmesg):

Just out of interest, have you tried any other besides 3com 3CCE589EC?

> 
> 	pccard: PCMCIA card inserted into slot 0
> 
> In the case of the compact flash adapter at the first insert dmesg gives:
> 
> pccard: PCMCIA card inserted into slot 0
> cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xfffff
> cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
> cs: memory probe 0x88000000-0x8fffffff: excluding 0x88000000-0x8fffffff
> cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff
> cs: memory probe 0xf0300000-0xf03fffff: excluding 0xf0300000-0xf03fffff
> 
> Later dmesg issues just "pccard: PCMCIA card inserted into slot 0"
> 
> In both PCMCIA examples the lshal output doesn't change, in the lspci 
> output the original line:
> 
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+
> 	PostWrite+                                  ^^^^^^
> 
> changes to:
> 
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+
> 	PostWrite+                                  ^^^^^^
> 
> In the case of the compact flash neither "modprobe ide_cs" nor "modprobe 
> pata_pcmcia" yield anything -- not even in dmesg.
> 
> As I do not want to access a SmartCard I did not try the o2scr driver 
> from gna.org/projects/o2scr.
> 
> Now the command output will follow, but before that:
> 
> Best regards, Alexander.
> ========================================================================
> 
> According to lspci -vv the card reader is:
> 
> 8< ------------------------------------------------------------------ >8
> 08:03.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus 
> Controller (rev 21)
> 	Subsystem: Fujitsu Limited. Unknown device 131e
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
> Stepping+ SERR- FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- 
> <MAbort- >SERR- <PERR- INTx-
> 	Latency: 168
> 	Interrupt: pin A routed to IRQ 16
> 	Region 0: Memory at f0303000 (32-bit, non-prefetchable) [size=4K]
> 	Bus: primary=08, secondary=09, subordinate=0c, sec-latency=176
> 	Memory window 0: 88000000-8bfff000 (prefetchable)
> 	Memory window 1: 94000000-97fff000
> 	I/O window 0: 00004000-000040ff
> 	I/O window 1: 00004400-000044ff
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
> 	16-bit legacy interface ports at 0001
> 	Kernel driver in use: yenta_cardbus
> 	Kernel modules: yenta_socket
> 
> 08:03.1 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus 
> Controller (rev 21)
> 	Subsystem: Fujitsu Limited. Unknown device 131e
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
> Stepping+ SERR- FastB2B- DisINTx-
> 	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- 
> <MAbort- >SERR- <PERR- INTx-
> 	Latency: 168
> 	Interrupt: pin A routed to IRQ 16
> 	Region 0: Memory at f0304000 (32-bit, non-prefetchable) [size=4K]
> 	Bus: primary=08, secondary=0d, subordinate=10, sec-latency=176
> 	Memory window 0: 8c000000-8ffff000 (prefetchable)
> 	Memory window 1: 98000000-9bfff000
> 	I/O window 0: 00004800-000048ff
> 	I/O window 1: 00004c00-00004cff
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
> 	16-bit legacy interface ports at 0001
> 	Kernel driver in use: yenta_cardbus
> 	Kernel modules: yenta_socket
> 
> 8< ------------------------------------------------------------------ >8
> 
> According to lshal -vv we have:
> 
> 8< ------------------------------------------------------------------ >8
> udi = '/org/freedesktop/Hal/devices/pci_1217_7134_0'
>    info.bus = 'pci'  (string)
>    info.linux.driver = 'yenta_cardbus'  (string)
>    info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448'  (string)
>    info.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
>    info.subsystem = 'pci'  (string)
>    info.udi = '/org/freedesktop/Hal/devices/pci_1217_7134_0'  (string)
>    info.vendor = 'O2 Micro, Inc.'  (string)
>    linux.hotplug_type = 2  (0x2)  (int)
>    linux.subsystem = 'pci'  (string)
>    linux.sysfs_path = 
> '/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1'  (string)
>    pci.device_class = 6  (0x6)  (int)
>    pci.device_protocol = 0  (0x0)  (int)
>    pci.device_subclass = 7  (0x7)  (int)
>    pci.linux.sysfs_path = 
> '/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1'  (string)
>    pci.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
>    pci.product_id = 28980  (0x7134)  (int)
>    pci.subsys_product_id = 4894  (0x131e)  (int)
>    pci.subsys_vendor = 'Fujitsu Limited.'  (string)
>    pci.subsys_vendor_id = 4303  (0x10cf)  (int)
>    pci.vendor = 'O2 Micro, Inc.'  (string)
>    pci.vendor_id = 4631  (0x1217)  (int)
> 
> udi = '/org/freedesktop/Hal/devices/pcmcia__1__1'
>    info.bus = 'pcmcia'  (string)
>    info.parent = '/org/freedesktop/Hal/devices/pci_1217_7134_0'  (string)
>    info.product = 'SmartCardBus Reader'  (string)
>    info.subsystem = 'pcmcia'  (string)
>    info.udi = '/org/freedesktop/Hal/devices/pcmcia__1__1'  (string)
>    info.vendor = 'O2Micro'  (string)
>    linux.hotplug_type = 2  (0x2)  (int)
>    linux.subsystem = 'pcmcia'  (string)
>    linux.sysfs_path = 
> '/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.1/1.0'  (string)
>    pcmcia.card_id = 1  (0x1)  (int)
>    pcmcia.manf_id = 65535  (0xffff)  (int)
>    pcmcia.prod_id1 = 'O2Micro'  (string)
>    pcmcia.prod_id2 = 'SmartCardBus Reader'  (string)
>    pcmcia.prod_id3 = 'V1.0'  (string)
>    pcmcia.product = 'O2Micro'  (string)
>    pcmcia.socket_number = 1  (0x1)  (int)
>    pcmcia.vendor = 'O2Micro'  (string)
> 
> udi = '/org/freedesktop/Hal/devices/pci_1217_7134'
>    info.bus = 'pci'  (string)
>    info.linux.driver = 'yenta_cardbus'  (string)
>    info.parent = '/org/freedesktop/Hal/devices/pci_8086_2448'  (string)
>    info.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
>    info.subsystem = 'pci'  (string)
>    info.udi = '/org/freedesktop/Hal/devices/pci_1217_7134'  (string)
>    info.vendor = 'O2 Micro, Inc.'  (string)
>    linux.hotplug_type = 2  (0x2)  (int)
>    linux.subsystem = 'pci'  (string)
>    linux.sysfs_path = 
> '/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.0'  (string)
>    pci.device_class = 6  (0x6)  (int)
>    pci.device_protocol = 0  (0x0)  (int)
>    pci.device_subclass = 7  (0x7)  (int)
>    pci.linux.sysfs_path = 
> '/sys/devices/pci0000:00/0000:00:1e.0/0000:08:03.0'  (string)
>    pci.product = 'OZ711MP1/MS1 MemoryCardBus Controller'  (string)
>    pci.product_id = 28980  (0x7134)  (int)
>    pci.subsys_product_id = 4894  (0x131e)  (int)
>    pci.subsys_vendor = 'Fujitsu Limited.'  (string)
>    pci.subsys_vendor_id = 4303  (0x10cf)  (int)
>    pci.vendor = 'O2 Micro, Inc.'  (string)
>    pci.vendor_id = 4631  (0x1217)  (int)
> 8< ------------------------------------------------------------------ >8
> 
> 


From marcel at holtmann.org  Mon Feb  4 11:52:44 2008
From: marcel at holtmann.org (Marcel Holtmann)
Date: Mon, 04 Feb 2008 17:52:44 +0100
Subject: Where to send new pcmcia driver?
In-Reply-To: <20080204171100.e9aff4a5.Kristoffer.ericson@gmail.com>
References: <20080204171100.e9aff4a5.Kristoffer.ericson@gmail.com>
Message-ID: <1202143964.15090.69.camel@violet>

Hi Kristoffer,

> Im almost finished with my pcmcia driver for the h64461 chipset, it works fine just need to clean it up.
> 
> Now looking at the MAINTAINER list it doesn't reference anyone special as the maintainer for pcmcia subsystem.
> So in short where should I send the patch?
> 
> Also, I've tried on numerous occasions to seek help on pcmcia list and besides some helpful replies from Peter Stuge, it's been
> silent. Perhaps linux-pcmcia mailinglist would be better off getting merged into linux-main list?

post it to LKML for review.

Regards

Marcel




From Alexander.Mader at niles.de  Tue Feb  5 00:10:18 2008
From: Alexander.Mader at niles.de (Mader, Alexander (N-MSR))
Date: Tue, 05 Feb 2008 06:10:18 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <20080204172858.ebff6da1.Kristoffer.ericson@gmail.com>
References: <47A71AC8.3040601@niles.de>
	<20080204172858.ebff6da1.Kristoffer.ericson@gmail.com>
Message-ID: <47A7EFBA.6080406@niles.de>

Kristoffer Ericson schrieb:
> On Mon, 04 Feb 2008 15:01:44 +0100
> "Mader, Alexander (N-MSR)" <Alexander.Mader at niles.de> wrote:
>> When I insert a PCMCIA adapter, for instance a 3com 3CCE589EC or an 
>> compact flash adapter, almost nothing happens: In the case of the 3com I 
>> just get (dmesg):
> 
> Just out of interest, have you tried any other besides 3com 3CCE589EC?

Thanks for asking: There is another 3com failing: 3C589C. And two
different compact flash adapters; the one being designed for cf I only,
the other for I, II, and microdrive. I will have a look for other PCMCIA
cards today :-)

Best regards, Alexander.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3674 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080205/e40a05dc/attachment.bin 

From Alexander.Mader at niles.de  Tue Feb  5 00:12:01 2008
From: Alexander.Mader at niles.de (Mader, Alexander (N-MSR))
Date: Tue, 05 Feb 2008 06:12:01 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <20080204154043.15482.qmail@cdy.org>
References: <47A71AC8.3040601@niles.de> <20080204154043.15482.qmail@cdy.org>
Message-ID: <47A7F021.2060100@niles.de>

Peter Stuge schrieb:
> You could also try sending a message to lkml, with just a summary of
> the problem. Perhaps someone there knows more about it.

Thanks for the hint -- I will do as you suggested, although I am a 
little bit afraid of lkml ;-)

Best regards, Alexander.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3674 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080205/3948411a/attachment.bin 

From ibarker at aastra.com  Tue Feb  5 11:46:38 2008
From: ibarker at aastra.com (Iain Barker)
Date: Tue, 5 Feb 2008 11:46:38 -0500
Subject: UDMA for Compact Flash over PC Card?
Message-ID: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D0798C4@bosmail.us.aastra.com>


FYI, we've been looking at this recently, and the DMA-related PXA patch from this email thread:
http://lists.infradead.org/pipermail/linux-pcmcia/2007-April/004473.html

On Wed Apr 4 06:36:35 EDT 2007, Steve Newbury wrote:
>
> The only way of getting CF devices to run in (U)DMA mode is to physically
> attach them to an IDE controller.  CF devices can electrically operate as
> either PCMCIA-like or IDE devices.  If operating as a PCMCIA device it can only
> be accessed with IO or MMIO.  If you want more performance than the 300ns cycle
> IO access time you need to use MMIO **and set the access speed to the correct
> value for that CF device**, you'll then get much higher performace (upto
> 20MB/s).  Using a variation on Thomas Kleffel's patch I've tried before, not
> completely managed to get it working, see this lists archives.  I couldn't get
> the interrupt working for some reason.
>
> Steve


The compact flash spec has a feature that allows DMA host controllers to move data to and from the CF data buffer WHEN USING PIO MODE, more efficiently and quicker than simply doing individual reads and writes to and from the single 16-bit ata data register. 

i.e. for architectures which have a DMA controller (for example, PCI bridges) when used with PCMCIA controllers which DO NOT support DMA (for example, TI PCI1510), this can reduce CPU overhead for PIO transfers considerably.

This feature is simply a pseudo buffer, that resides at ata offset 0x0400-0x0800,  that allows incrementing dmas sequential access to the same ata data register, which in reality is just a fifo, but the feature is only available when the cf is configured for MEMORY mode.

There was an earlier attempt to support MMIO by Thomas Kleffel, but his patch was reverted in 2.6.19 by Andrew Morton due to various problems.

Although it's not in the mainline Linux code, I know readers on this list who use Thomas' patch, so this is an attempt at summarising the problems and possible fixes.

1/ It has a problem with still using the default PCI IO access functions to communicate with the cf's ATA registers during probe, rather than using MMIO for all operations.

Fix: Adding specific code to ide_register_hw_with_fixup function to load the PCI MEM functions into the hwif struct when that struct is being initialized and the is_mmio flag is set.

In drivers/ide/legacy/ide-cs.c

Within the CIS parser, set the memory mode per Thomas' is_mmio patch:
>                 link->conf.IntType = INT_MEMORY;

Then pass is_mmio from Thomas' patch as the last parameter when calling the fixup function:

> int ide_register_hw_with_fixup(hw_regs_t *hw, ide_hwif_t **hwifp, void(*fixup)(ide_hwif_t *hwif), int is_mmio)
807a808,821
>       if (is_mmio)
>       {
>               default_hwif_mmiops(hwif);
>               hwif->io_ports[IDE_DATA_OFFSET] += 0x0400;
>               hwif->mmio = 2;
>       }
>

2/ Once the ide driver was able to communicate successfully with the cf ATA registers in MEM mode we could see that the interrupts didn't work.

Fix: Changing the desired interrupt mode from INT_MEMORY_AND_IO to INT_MEMORY when configuring the pcmcia socket controller. The lowest-level yenta socket code could handle this functionality but the higher-level pcmcia code could not handle it.

i.e. fix this by adding 2 lines of of INT_MEMORY support code to the pcmcia_request_configuration function.

In drivers/pcmcia/pcmcia_resource.c
628a629,633
>       if (req->IntType & INT_MEMORY)
>       {
>               s->socket.flags    &= ~SS_IOCARD; // this is not an IO card
>               s->socket.csc_mask |=  SS_READY;  // enable the READY interrupt
>       }


3/ Extend the base register so that it looks at the MMIO buffer at +400 instead of the base data register.

In drivers/ide/legacy/ide-cs.c
> int ide_register_hw_with_fixup(hw_regs_t *hw, ide_hwif_t **hwifp, void(*fixup)(ide_hwif_t *hwif), int is_mmio)
807a808,821
>       /* if the mmio flag is set we populate the hwif structure with
>        * the functions used to access PCI memory space (as opposed to
>        * the default functions which access PCI io space). we also
>        * change the 'data' offset to the address of the data buffer
>        * that exists at offset 0x0400 so that we can use pci dmas
>        * to move data faster.
>        */
>       if (is_mmio)
>       {
>               default_hwif_mmiops(hwif);
>               hwif->io_ports[IDE_DATA_OFFSET] += 0x0400;
>               hwif->mmio = 2;
>       }
>




Note: This isn't a complete solution, as with the ide driver now working in MEMORY mode it still needs architecture-specific code to implement the DMA transfer
to the MMIO FIFO buffer.  That's relatively trivial using the arch native PCI driver functions to move 16-bit data to and from the PCI bus using block
transfers instead of single-access transfers, for example the PXA driver from Steven.


Thanks to the following for ideas and guidance:

Steven Newbury
Thomas Kelffel
Piotr Krysiuk 
Fabrice Aeschbacher

and especially Gui Viviers for the above solution.


From Alexander.Mader at niles.de  Wed Feb  6 03:02:11 2008
From: Alexander.Mader at niles.de (Mader, Alexander (N-MSR))
Date: Wed, 06 Feb 2008 09:02:11 +0100
Subject: Resolved (sort of): Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <20080205140622.bf41f3ce.Kristoffer.ericson@gmail.com>
References: <47A7F828.1010303@niles.de>
	<20080205140622.bf41f3ce.Kristoffer.ericson@gmail.com>
Message-ID: <47A96983.1090108@niles.de>

Kristoffer Ericson schrieb:
> "Mader, Alexander (N-MSR)" wrote:
>> On a Fujitsu Siemens Celsius H240 a 2.6.22-3-amd64 kernel from Debian 
>> testing is in use. PCMCIA utilities for Linux 2.6 version 014-4 are 
>> installed. I could supply the output of lspci and lshal.
> 
> Assuming debian has alot of patches applied, it would be interesting to see
> if this bug exist on vanilla 2.6.24. Would probably get alot more attention from
> pcmcia guru's.

Hello,

obviously this is the case. This morning I tried a different non-cardbus 
PCMCIA card and it worked, which in turn was the case for the other test 
candidates, NICs and CF adapters: they all are accessible right now. In 
the moment I am trying to find out which update caused the improvement.

Thank you very much for your attention and, please, excuse me for 
bothering you.

Best regards, Alexander.


From Alexander.Mader at niles.de  Wed Feb  6 03:27:32 2008
From: Alexander.Mader at niles.de (Mader, Alexander (N-MSR))
Date: Wed, 06 Feb 2008 09:27:32 +0100
Subject: Unable to access PCMCIA with O2 Micro OZ711MP1/MS1
In-Reply-To: <47A7EFBA.6080406@niles.de>
References: <47A7EFBA.6080406@niles.de>
Message-ID: <47A96F74.5020705@niles.de>

Hello,

unfortunately, by answering to lkml and this list together I broke the 
threading -- I am sorry about this.

The problem seems to be sort of resolved; please, see 
lists.infradead.org/pipermail/linux-pcmcia/2008-February/005322.html.

I beg your pardon for the inconvenience.

Many thanks for your attention and best regards,

Alexander Mader.



From xtof at huygens.biz  Wed Feb  6 04:52:33 2008
From: xtof at huygens.biz (Christophe Huygens)
Date: Wed, 06 Feb 2008 10:52:33 +0100
Subject: Cardbus/Yenta/PCI 2.6.22 help
Message-ID: <47A98361.2090207@huygens.biz>

Hi,

I have a problem getting a PCI to Cardbus adapter to work on a dell
1550 server. I have been truying for days to get this going but
I cannot figure out what is wrong. As far as I understand, all
should be ok in terms ok irqs, and resource windows...
This machine has 2G memory and 2 CPUs.
Running 2.6.22-14-generic.

But upon card insertion... nil happens. PCI slot, adapter
and cards are ganuaranteed healthy.

Yenta reports a troublesome (?) socket status:

[  170.575520] Yenta: CardBus bridge found at 0000:02:06.0 [0000:0000]
[  170.707652] Yenta: ISA IRQ mask 0x0000, PCI irq 16
[  170.707708] Socket status: ffffffff


Thanks for any assistance, I am running out of steam here!
Attached lspci, dmesg,

Christophe


xtof at rover1:~$ lspci
00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
100 (rev 08)
00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
00:0f.1 IDE interface: Broadcom OSB4 IDE Controller
02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)



xtof at rover1:~$ lspci -v
00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
        Flags: fast devsel

00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
        Flags: bus master, medium devsel, latency 32

00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
        Flags: medium devsel

00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
        Flags: medium devsel

00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
100 (rev 08)
        Subsystem: Dell Unknown device 00da
        Flags: bus master, medium devsel, latency 32, IRQ 17
        Memory at fe1ff000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at ecc0 [size=64]
        Memory at fe000000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>

00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 
(prog-if 00 [VGA])
        Subsystem: Dell Unknown device 00df
        Flags: bus master, VGA palette snoop, stepping, medium devsel, 
latency 32
        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        I/O ports at e800 [size=256]
        Memory at fe1fe000 (32-bit, non-prefetchable) [size=4K]
        [virtual] Expansion ROM at 80000000 [disabled] [size=128K]
        Capabilities: <access denied>

00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
        Subsystem: Broadcom OSB4 South Bridge
        Flags: bus master, medium devsel, latency 0

00:0f.1 IDE interface: Broadcom OSB4 IDE Controller (prog-if 8a [Master 
SecP PriP])
        Flags: bus master, medium devsel, latency 64
        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) 
[disabled] [size=8]
        [virtual] Memory at 000003f0 (type 3, non-prefetchable) 
[disabled] [size=1]
        [virtual] Memory at 00000170 (32-bit, non-prefetchable) 
[disabled] [size=8]
        [virtual] Memory at 00000370 (type 3, non-prefetchable) 
[disabled] [size=1]
        I/O ports at 08b0 [size=16]

02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
        Subsystem: Dell Unknown device 00df
        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
        BIST result: 00
        I/O ports at dc00 [disabled] [size=256]
        Memory at feaff000 (64-bit, non-prefetchable) [size=4K]
        Expansion ROM at feb00000 [disabled] [size=128K]
        Capabilities: <access denied>

02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
        Subsystem: Dell Unknown device 00df
        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 19
        BIST result: 00
        I/O ports at d800 [disabled] [size=256]
        Memory at feafe000 (64-bit, non-prefetchable) [size=4K]
        Expansion ROM at 80020000 [disabled] [size=128K]
        Capabilities: <access denied>

02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
        Flags: bus master, medium devsel, latency 168, IRQ 16
        Memory at 80040000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
        Memory window 0: 84000000-87fff000 (prefetchable)
        Memory window 1: 88000000-8bfff000
        I/O window 0: 00001000-000010ff
        I/O window 1: 00001400-000014ff
        16-bit legacy interface ports at 0001

xtof at rover1:~$ dmesg
[    0.000000] Linux version 2.6.22-14-generic (buildd at terranova) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Fri Feb 1 04:59:50 UTC 2008 (Ubuntu 2.6.22-14.51-generic)
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007fff0000 (usable)
[    0.000000]  BIOS-e820: 000000007fff0000 - 000000007fffec00 (ACPI data)
[    0.000000]  BIOS-e820: 000000007fffec00 - 000000007ffff000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec20000 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee20000 (reserved)
[    0.000000]  BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
[    0.000000] 1151MB HIGHMEM available.
[    0.000000] 896MB LOWMEM available.
[    0.000000] found SMP MP-table at 000fe710
[    0.000000] Entering add_active_range(0, 0, 524272) 0 entries of 256 used
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->     4096
[    0.000000]   Normal       4096 ->   229376
[    0.000000]   HighMem    229376 ->   524272
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->   524272
[    0.000000] On node 0 totalpages: 524272
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 4064 pages, LIFO batch:0
[    0.000000]   Normal zone: 1760 pages used for memmap
[    0.000000]   Normal zone: 223520 pages, LIFO batch:31
[    0.000000]   HighMem zone: 2303 pages used for memmap
[    0.000000]   HighMem zone: 292593 pages, LIFO batch:31
[    0.000000] DMI 2.3 present.
[    0.000000] ACPI: RSDP signature @ 0xC00FDCD0 checksum 0
[    0.000000] ACPI: RSDP 000FDCD0, 0014 (r0 DELL  )
[    0.000000] ACPI: RSDT 000FDCE4, 002C (r1 DELL   PA1550          1 MSFT  100000A)
[    0.000000] ACPI: FACP 000FDD10, 0074 (r1 DELL   PA1550          1 MSFT  100000A)
[    0.000000] ACPI: DSDT 7FFF0000, 2400 (r1 DELL   PA1550          1 MSFT  100000A)
[    0.000000] ACPI: FACS 7FFFFC00, 0040
[    0.000000] ACPI: APIC 000FDD84, 0060 (r1 DELL   PA1550          1 MSFT  100000A)
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] Processor #1 6:11 APIC version 17
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x00] enabled)
[    0.000000] Processor #0 6:11 APIC version 17
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-15
[    0.000000] ACPI: IOAPIC (id[0x03] address[0xfec01000] gsi_base[16])
[    0.000000] IOAPIC[1]: apic_id 3, version 17, address 0xfec01000, GSI 16-31
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Enabling APIC mode:  Flat.  Using 2 I/O APICs
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] Allocating PCI resources starting at 80000000 (gap: 7ffff000:7ec01000)
[    0.000000] Built 1 zonelists.  Total pages: 520177
[    0.000000] Kernel command line: root=UUID=8c6817e8-b0da-4d4b-8864-107903f1a6e9 ro reserve=00001000,000014ff
[    0.000000] mapped APIC to ffffd000 (fee00000)
[    0.000000] mapped IOAPIC to ffffc000 (fec00000)
[    0.000000] mapped IOAPIC to ffffb000 (fec01000)
[    0.000000] Enabling fast FPU save and restore... done.
[    0.000000] Enabling unmasked SIMD FPU exception support... done.
[    0.000000] Initializing CPU#0
[    0.000000] PID hash table entries: 4096 (order: 12, 16384 bytes)
[    0.000000] Detected 1130.491 MHz processor.
[  127.524123] Console: colour VGA+ 80x25
[  127.527198] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[  127.528892] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[  127.729679] Memory: 2067712k/2097088k available (2015k kernel code, 28008k reserved, 916k data, 364k init, 1179584k highmem)
[  127.729771] virtual kernel memory layout:
[  127.729773]     fixmap  : 0xfff4d000 - 0xfffff000   ( 712 kB)
[  127.729776]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[  127.729778]     vmalloc : 0xf8800000 - 0xff7fe000   ( 111 MB)
[  127.729781]     lowmem  : 0xc0000000 - 0xf8000000   ( 896 MB)
[  127.729784]       .init : 0xc03e3000 - 0xc043e000   ( 364 kB)
[  127.729786]       .data : 0xc02f7e66 - 0xc03dce84   ( 916 kB)
[  127.729789]       .text : 0xc0100000 - 0xc02f7e66   (2015 kB)
[  127.730154] Checking if this processor honours the WP bit even in supervisor mode... Ok.
[  127.730339] SLUB: Genslabs=22, HWalign=32, Order=0-1, MinObjects=4, CPUs=2, Nodes=1
[  127.810362] Calibrating delay using timer specific routine.. 2262.30 BogoMIPS (lpj=4524611)
[  127.810519] Security Framework v1.0.0 initialized
[  127.810586] SELinux:  Disabled at boot.
[  127.810665] Mount-cache hash table entries: 512
[  127.811030] CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 00000000 00000000 00000000
[  127.811054] CPU: L1 I cache: 16K, L1 D cache: 16K
[  127.811132] CPU: L2 cache: 512K
[  127.811181] CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 00000000 00000000
[  127.811203] Compat vDSO mapped to ffffe000.
[  127.811271] Checking 'hlt' instruction... OK.
[  127.826526] SMP alternatives: switching to UP code
[  127.827293] Early unpacking initramfs... done
[  128.328834] ACPI: Core revision 20070126
[  128.329005] ACPI: Looking for DSDT in initramfs... error, file /DSDT.aml not found.
[  128.331555] CPU0: Intel(R) Pentium(R) III CPU family      1133MHz stepping 01
[  128.331699] SMP alternatives: switching to SMP code
[  128.331956] Booting processor 1/0 eip 3000
[  128.342237] Initializing CPU#1
[  128.421829] Calibrating delay using timer specific routine.. 2261.09 BogoMIPS (lpj=4522189)
[  128.421842] CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 00000000 00000000 00000000
[  128.421857] CPU: L1 I cache: 16K, L1 D cache: 16K
[  128.421861] CPU: L2 cache: 512K
[  128.421866] CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 00000000 00000000
[  128.422330] CPU1: Intel(R) Pentium(R) III CPU family      1133MHz stepping 01
[  128.422654] Total of 2 processors activated (4523.40 BogoMIPS).
[  128.423025] ENABLING IO-APIC IRQs
[  128.423321] ..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
[  128.569915] checking TSC synchronization [CPU#0 -> CPU#1]: passed.
[  128.590006] Brought up 2 CPUs
[  128.889692] migration_cost=1199
[  128.890098] Booting paravirtualized kernel on bare hardware
[  128.890268] Time:  9:04:41  Date: 01/06/108
[  128.890355] NET: Registered protocol family 16
[  128.890571] EISA bus registered
[  128.890621] ACPI: bus type pci registered
[  128.891744] PCI: PCI BIOS revision 2.10 entry at 0xfcb7e, last bus=2
[  128.891796] PCI: Using configuration type 1
[  128.891841] Setting up standard PCI resources
[  128.894493] ACPI: EC: Look up EC in DSDT
[  128.897505] ACPI: Interpreter enabled
[  128.897555] ACPI: (supports S0 S4 S5)
[  128.897723] ACPI: Using IOAPIC for interrupt routing
[  128.905022] ACPI: PCI Root Bridge [PCI0] (0000:00)
[  128.905100] PCI: Probing PCI hardware (bus 00)
[  128.905298] PCI: Firmware left 0000:00:01.0 e100 interrupts enabled, disabling
[  128.905543] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[  128.906817] ACPI: PCI Root Bridge [PCI1] (0000:01)
[  128.906888] PCI: Probing PCI hardware (bus 01)
[  128.906999] ACPI: PCI Interrupt Routing Table [\_SB_.PCI1._PRT]
[  128.907285] ACPI: PCI Root Bridge [PCI2] (0000:02)
[  128.907356] PCI: Probing PCI hardware (bus 02)
[  128.907632] ACPI: PCI Interrupt Routing Table [\_SB_.PCI2._PRT]
[  128.908383] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 9 10 *11 12 14)
[  128.908953] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.909660] ACPI: PCI Interrupt Link [LNK2] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.910294] ACPI: PCI Interrupt Link [LNK3] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.910928] ACPI: PCI Interrupt Link [LNK4] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.911564] ACPI: PCI Interrupt Link [LNK5] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.912200] ACPI: PCI Interrupt Link [LNK6] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.912835] ACPI: PCI Interrupt Link [LNK7] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.913513] ACPI: PCI Interrupt Link [LNK8] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.914147] ACPI: PCI Interrupt Link [LNK9] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.914779] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.915413] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 *10 11 12 14)
[  128.915984] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 *7 9 10 11 12 14)
[  128.916551] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.917197] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.917835] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 14) *0, disabled.
[  128.918470] ACPI: PCI Interrupt Link [LUSB] (IRQs 3 4 5 6 7 10 11 12 14) *0, disabled.
[  128.919055] Linux Plug and Play Support v0.97 (c) Adam Belay
[  128.919121] pnp: PnP ACPI init
[  128.919180] ACPI: bus type pnp registered
[  128.928058] pnp: PnP ACPI: found 13 devices
[  128.928108] ACPI: ACPI bus type pnp unregistered
[  128.928159] PnPBIOS: Disabled by ACPI PNP
[  128.928310] PCI: Using ACPI for IRQ routing
[  128.928360] PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
[  128.930898] NET: Registered protocol family 8
[  128.930947] NET: Registered protocol family 20
[  128.931132] pnp: 00:09: ioport range 0x800-0x87f has been reserved
[  128.931183] pnp: 00:09: ioport range 0x880-0x89f has been reserved
[  128.931234] pnp: 00:09: ioport range 0x500-0x501 has been reserved
[  128.931285] pnp: 00:09: ioport range 0x580-0x58f has been reserved
[  128.931336] pnp: 00:09: ioport range 0xc00-0xcd7 has been reserved
[  128.931387] pnp: 00:09: ioport range 0xf50-0xf58 has been reserved
[  128.931453] pnp: 00:0a: iomem range 0x0-0x9ffff could not be reserved
[  128.931504] pnp: 00:0a: iomem range 0x100000-0x7fffffff could not be reserved
[  128.931557] pnp: 00:0a: iomem range 0xf0000-0xfffff could not be reserved
[  128.931610] pnp: 00:0a: iomem range 0xfec00000-0xfec0ffff could not be reserved
[  128.933411] Time: tsc clocksource has been installed.
[  128.962366] PCI: Bus 3, cardbus bridge: 0000:02:06.0
[  128.962415]   IO window: 00001000-000010ff
[  128.962463]   IO window: 00001400-000014ff
[  128.962512]   PREFETCH window: 84000000-87ffffff
[  128.962561]   MEM window: 88000000-8bffffff
[  128.962619] PCI: Enabling device 0000:02:06.0 (0000 -> 0003)
[  128.962680] ACPI: PCI Interrupt 0000:02:06.0[A] -> GSI 29 (level, low) -> IRQ 16
[  128.962792] NET: Registered protocol family 2
[  129.005423] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[  129.005671] TCP established hash table entries: 131072 (order: 8, 1572864 bytes)
[  129.011705] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[  129.014002] TCP: Hash tables configured (established 131072 bind 65536)
[  129.014065] TCP reno registered
[  129.025691] checking if image is initramfs...<6>Switched to high resolution mode on CPU 1
[  129.463015]  it is
[  129.464965] Switched to high resolution mode on CPU 0
[  129.984555] Freeing initrd memory: 6883k freed
[  129.985361] audit: initializing netlink socket (disabled)
[  129.985439] audit(1202288682.084:1): initialized
[  129.985668] highmem bounce pool size: 64 pages
[  129.990481] VFS: Disk quotas dquot_6.5.1
[  129.990648] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[  129.990916] io scheduler noop registered
[  129.990964] io scheduler anticipatory registered
[  129.991013] io scheduler deadline registered
[  129.991090] io scheduler cfq registered (default)
[  129.991174] Boot video device is 0000:00:03.0
[  129.991472] isapnp: Scanning for PnP cards...
[  130.344567] isapnp: No Plug & Play device found
[  130.399191] Real Time Clock Driver v1.12ac
[  130.400581] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
[  130.400811] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[  130.402103] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[  130.403797] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[  130.404356] input: Macintosh mouse button emulation as /class/input/input0
[  130.404586] PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[  130.406661] serio: i8042 KBD port at 0x60,0x64 irq 1
[  130.406714] serio: i8042 AUX port at 0x60,0x64 irq 12
[  130.407001] mice: PS/2 mouse device common for all mice
[  130.407276] EISA: Probing bus 0 at eisa.0
[  130.407330] EISA: Cannot allocate resource for mainboard
[  130.407379] Cannot allocate resource for EISA slot 1
[  130.407465] EISA: Detected 0 cards.
[  130.407712] TCP cubic registered
[  130.407787] NET: Registered protocol family 1
[  130.407882] Using IPI No-Shortcut mode
[  130.408242]   Magic number: 12:888:69
[  130.409027] Freeing unused kernel memory: 364k freed
[  130.436974] input: AT Translated Set 2 keyboard as /class/input/input1
[  130.693504] AppArmor: AppArmor initialized<5>audit(1202288682.584:2):  type=1505 info="AppArmor initialized" pid=1063
[  130.710134] fuse init (API version 7.8)
[  130.721797] Failure registering capabilities with primary security module.
[  131.493354] e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI
[  131.493415] e100: Copyright(c) 1999-2006 Intel Corporation
[  131.493535] ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 17
[  131.515820] e100: eth0: e100_probe: addr 0xfe1ff000, irq 17, MAC addr 00:06:5B:04:C9:DD
[  131.591319] SCSI subsystem initialized
[  131.608199] libata version 2.21 loaded.
[  131.612586] scsi0 : pata_serverworks
[  131.612722] scsi1 : pata_serverworks
[  131.612811] ata1: PATA max UDMA/33 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x000108b0 irq 14
[  131.612878] ata2: PATA max UDMA/33 cmd 0x00010170 ctl 0x00010376 bmdma 0x000108b8 irq 15
[  131.672208] Floppy drive(s): fd0 is 1.44M
[  131.711686] FDC 0 is a National Semiconductor PC87306
[  132.042724] ata1.00: ATAPI: SAMSUNG CD-ROM SN-124, q009, max UDMA/33, CDB intr
[  132.214533] ata1.00: configured for UDMA/33
[  132.370687] scsi 0:0:0:0: CD-ROM            SAMSUNG  CD-ROM SN-124    q009 PQ: 0 ANSI: 5
[  132.376963] ACPI: PCI Interrupt 0000:02:05.0[A] -> GSI 27 (level, low) -> IRQ 18
[  132.600062] sr0: scsi3-mmc drive: 24x/24x cd/rw xa/form2 cdda tray
[  132.600125] Uniform CD-ROM driver Revision: 3.20
[  132.600495] sr 0:0:0:0: Attached scsi CD-ROM sr0
[  132.609339] sr 0:0:0:0: Attached scsi generic sg0 type 5
[  147.575842] scsi2 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
[  147.575847]         <Adaptec aic7899 Ultra160 SCSI adapter>
[  147.575850]         aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
[  147.575853] 
[  147.576332] ACPI: PCI Interrupt 0000:02:05.1[B] -> GSI 28 (level, low) -> IRQ 19
[  147.577570] scsi 2:0:0:0: Direct-Access     SEAGATE  ST373307LC       DS09 PQ: 0 ANSI: 3
[  147.577653] scsi2:A:0:0: Tagged Queuing enabled.  Depth 8
[  147.577742]  target2:0:0: Beginning Domain Validation
[  147.580778]  target2:0:0: wide asynchronous
[  147.583106]  target2:0:0: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 63)
[  147.588290]  target2:0:0: Ending Domain Validation
[  148.879359] scsi 2:0:6:0: Processor         DELL     1x3 U2W SCSI BP  1.19 PQ: 0 ANSI: 2
[  148.879449]  target2:0:6: Beginning Domain Validation
[  148.900738]  target2:0:6: Ending Domain Validation
[  150.961257] scsi 2:0:0:0: Attached scsi generic sg1 type 0
[  150.961424] scsi 2:0:6:0: Attached scsi generic sg2 type 3
[  162.773520] scsi3 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
[  162.773525]         <Adaptec aic7899 Ultra160 SCSI adapter>
[  162.773528]         aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
[  162.773531] 
[  162.805958] sd 2:0:0:0: [sda] 143374650 512-byte hardware sectors (73408 MB)
[  162.807173] sd 2:0:0:0: [sda] Write Protect is off
[  162.807223] sd 2:0:0:0: [sda] Mode Sense: ab 00 10 08
[  162.810265] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[  162.810945] sd 2:0:0:0: [sda] 143374650 512-byte hardware sectors (73408 MB)
[  162.812144] sd 2:0:0:0: [sda] Write Protect is off
[  162.812193] sd 2:0:0:0: [sda] Mode Sense: ab 00 10 08
[  162.817572] sd 2:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[  162.817651]  sda: sda1 sda2 sda3
[  162.834397] sd 2:0:0:0: [sda] Attached SCSI disk
[  163.100336] Attempting manual resume
[  163.100385] swsusp: Resume From Partition 8:2
[  163.100389] PM: Checking swsusp image.
[  163.100626] PM: Resume from disk failed.
[  163.152439] kjournald starting.  Commit interval 5 seconds
[  163.152463] EXT3-fs: mounted filesystem with ordered data mode.
[  168.568275] e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
[  170.408866] Linux agpgart interface v0.102 (c) Dave Jones
[  170.411747] agpgart: unable to determine aperture size.
[  170.411799] agpgart: agp_backend_initialize() failed.
[  170.411852] agpgart-serverworks: probe of 0000:00:00.0 failed with error -22
[  170.411914] agpgart: unable to determine aperture size.
[  170.411961] agpgart: agp_backend_initialize() failed.
[  170.412012] agpgart-serverworks: probe of 0000:00:00.1 failed with error -22
[  170.412071] agpgart: ServerWorks CNB20HE is unsupported due to lack of documentation.
[  170.412142] agpgart: ServerWorks CNB20HE is unsupported due to lack of documentation.
[  170.426419] input: PC Speaker as /class/input/input2
[  170.575520] Yenta: CardBus bridge found at 0000:02:06.0 [0000:0000]
[  170.611315] NET: Registered protocol family 17
[  170.676177] piix4_smbus 0000:00:0f.0: Found 0000:00:0f.0 device
[  170.707652] Yenta: ISA IRQ mask 0x0000, PCI irq 16
[  170.707708] Socket status: ffffffff
[  171.049320] cs: IO port probe 0x100-0x3af: clean.
[  171.052136] cs: IO port probe 0x3e0-0x4ff: excluding 0x408-0x40f 0x4d0-0x4d7
[  171.053414] cs: IO port probe 0x820-0x8ff: clean.
[  171.053880] cs: IO port probe 0xc00-0xcf7: clean.
[  171.054279] cs: IO port probe 0xa00-0xaff: clean.
[  171.360284] input: PS/2 Generic Mouse as /class/input/input3
[  172.029205] loop: module loaded
[  172.100731] lp: driver loaded but no devices found
[  172.265169] Adding 4008208k swap on /dev/sda2.  Priority:-1 extents:1 across:4008208k
[  172.646431] EXT3 FS on sda1, internal journal
[  173.042473] NET: Registered protocol family 10
[  173.042748] lo: Disabled Privacy Extensions
[  173.266347] kjournald starting.  Commit interval 5 seconds
[  173.273261] EXT3 FS on sda3, internal journal
[  173.273276] EXT3-fs: mounted filesystem with ordered data mode.
[  175.236478] input: Power Button (FF) as /class/input/input4
[  175.237017] ACPI: Power Button (FF) [PWRF]
[  175.366116] No dock devices found.
[  183.445294] eth0: no IPv6 routers present

xtof at rover1:~$ cat /proc/iomem
00000000-0009ffff : System RAM
  00000000-00000000 : Crash kernel
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000cdfff : Adapter ROM
000f0000-000fffff : System ROM
00100000-7ffeffff : System RAM
  00100000-002f7e65 : Kernel code
  002f7e66-003dce83 : Kernel data
7fff0000-7fffebff : ACPI Tables
7fffec00-7fffefff : reserved
80000000-8001ffff : 0000:00:03.0
80020000-8003ffff : 0000:02:05.1
80040000-80040fff : 0000:02:06.0
  80040000-80040fff : yenta_socket
84000000-87ffffff : PCI CardBus #03
88000000-8bffffff : PCI CardBus #03
fd000000-fdffffff : 0000:00:03.0
fe000000-fe0fffff : 0000:00:01.0
  fe000000-fe0fffff : e100
fe1fe000-fe1fefff : 0000:00:03.0
fe1ff000-fe1fffff : 0000:00:01.0
  fe1ff000-fe1fffff : e100
feafe000-feafefff : 0000:02:05.1
  feafe000-feafefff : aic7xxx
feaff000-feafffff : 0000:02:05.0
  feaff000-feafffff : aic7xxx
feb00000-feb1ffff : 0000:02:05.0
fec00000-fec1ffff : reserved
fee00000-fee1ffff : reserved
fff80000-ffffffff : reserved

xtof at rover1:~$ cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : 0000:00:0f.1
  0170-0177 : libata
01f0-01f7 : 0000:00:0f.1
  01f0-01f7 : libata
0200-020b : reserved
0376-0376 : 0000:00:0f.1
  0376-0376 : libata
03c0-03df : vga+
03f2-03f5 : floppy
03f6-03f6 : 0000:00:0f.1
  03f6-03f6 : libata
03f7-03f7 : floppy DIR
03f8-03ff : serial
0500-0501 : pnp 00:09
0580-058f : pnp 00:09
  0580-0587 : piix4_smbus
0800-087f : pnp 00:09
  0800-0803 : ACPI PM1b_EVT_BLK
  0808-080b : ACPI PM_TMR
  080c-0813 : ACPI GPE0_BLK
  0844-0847 : ACPI PM1a_EVT_BLK
  0848-0849 : ACPI PM1a_CNT_BLK
  0850-0857 : ACPI GPE1_BLK
0880-089f : pnp 00:09
08b0-08bf : 0000:00:0f.1
  08b0-08bf : libata
0c00-0cd7 : pnp 00:09
0cf8-0cff : PCI conf1
0f50-0f58 : pnp 00:09
1000-10ff : PCI CardBus #03
1400-14ff : PCI CardBus #03
d800-d8ff : 0000:02:05.1
dc00-dcff : 0000:02:05.0
e800-e8ff : 0000:00:03.0
ecc0-ecff : 0000:00:01.0
  ecc0-ecff : e100

-------------- next part --------------
A non-text attachment was scrubbed...
Name: xtof.vcf
Type: text/x-vcard
Size: 253 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080206/edd56130/attachment-0001.vcf 

From kristoffer.ericson at gmail.com  Wed Feb  6 05:35:10 2008
From: kristoffer.ericson at gmail.com (Kristoffer Ericson)
Date: Wed, 6 Feb 2008 11:35:10 +0100
Subject: Resolved (sort of): Unable to access PCMCIA with O2 Micro
	OZ711MP1/MS1
In-Reply-To: <47A96983.1090108@niles.de>
References: <47A7F828.1010303@niles.de>
	<20080205140622.bf41f3ce.Kristoffer.ericson@gmail.com>
	<47A96983.1090108@niles.de>
Message-ID: <20080206113510.20f26299.Kristoffer.ericson@gmail.com>

On Wed, 06 Feb 2008 09:02:11 +0100
"Mader, Alexander (N-MSR)" <Alexander.Mader at niles.de> wrote:

> Kristoffer Ericson schrieb:
> > "Mader, Alexander (N-MSR)" wrote:
> >> On a Fujitsu Siemens Celsius H240 a 2.6.22-3-amd64 kernel from Debian 
> >> testing is in use. PCMCIA utilities for Linux 2.6 version 014-4 are 
> >> installed. I could supply the output of lspci and lshal.
> > 
> > Assuming debian has alot of patches applied, it would be interesting to see
> > if this bug exist on vanilla 2.6.24. Would probably get alot more attention from
> > pcmcia guru's.
> 
> Hello,
> 
> obviously this is the case. This morning I tried a different non-cardbus 
> PCMCIA card and it worked, which in turn was the case for the other test 
> candidates, NICs and CF adapters: they all are accessible right now. In 
> the moment I am trying to find out which update caused the improvement.

Glad to hear its working. If you are eager to see what patch caused the bug (debian or vanilla) you can
always do a bisect. Or simply run through 2.6.20 -> 2.6.24 vanilla kernels and see where it worked and when it didn't.

> 
> Thank you very much for your attention and, please, excuse me for 
> bothering you.
> 

no worries.

> Best regards, Alexander.


From mcintosh at research.telcordia.com  Thu Feb  7 18:09:02 2008
From: mcintosh at research.telcordia.com (Allen McIntosh)
Date: Thu, 07 Feb 2008 18:09:02 -0500
Subject: Orinoco IRQ problem?
Message-ID: <47AB8F8E.9090009@research.telcordia.com>

I've been having trouble getting an Orinoco wireless PCMCIA card to work 
with recent 2.6 kernels (2.6.24, among others).  To make a long story 
short (long story posted on the orinoco-users mailing list), the problem 
seems to be IRQ related.  The card connects to the access point just 
fine, but ultimately loses an interrupt and never comes up ready.  (To 
save a visit to orinoco-users, the laptops in question are an IBM T21 
and a T41.)

I can get the card to work by either
	rmmod nsc_ircc
or by enabling the infrared port in the BIOS(!).

The card is assigned IRQ3 (by yenta_socket, I guess).  The default IRQ 
for the infrared port is also IRQ3.  I have no definitive proof that the 
two facts are related.  I did get a comment from a former Orinoco 
maintainer that the Orinoco card/driver did not like to share IRQ's.

My question:  Is it possible to tell yenta_socket (or whatever module is 
assigning the IRQ) to stay away from IRQ3?  I tried google, and didn't 
get any answers that were reasonable - most referred to the old PCMCIA 
drivers.


From 8-sapiens at bermo.com  Fri Feb  8 02:29:46 2008
From: 8-sapiens at bermo.com (Lockett K Jayson)
Date: Fri, 08 Feb 2008 12:29:46 +0500
Subject: List of surgeons etc..
Message-ID: <351911z0rss0$n6014nx0$8847f8c0@Delldim5150






Currently in Practice:  Doctors in America 

788,887 in total <> 17,725 emails

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

Over a dozen sortable fields

Now priced at: $396


+++ IF YOU ORDER THIS WEEK YOU GET THESE AS A BO NUS +++

<> American Pharmaceutical Company Directory
  Names and email addresses of 47,000 employees in high-ranking positions

<> American Hospital List
  more than 23k hospital administrators in over 7k hospitals [worth over $300 alone)

<> Complete and Accurate Listing for Dental Service Providers
  597,000 dentists and dental services ( a $350 value!) 

<> American Chiropractors Contact List
  100,000 Chiropractors in the USA (worth $250 alone)

reply by email:      sulliva_robert.1972 at hotmail.com

  

good until feb 10


and email with 418 in the subject will ensure no further communication from us


From ibarker at aastra.com  Fri Feb  8 15:41:30 2008
From: ibarker at aastra.com (Iain Barker)
Date: Fri, 8 Feb 2008 15:41:30 -0500
Subject: UDMA for Compact Flash over PC Card?
In-Reply-To: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D0798C4@bosmail.us.aastra.com>
Message-ID: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D1867CB@bosmail.us.aastra.com>


For the benefit of anyone else who's interested in this thread, with the previous changes you may see "unexpected interrupt" on the IDE device.

Investigation showed this only happens when the Linux IDE driver is being run in MEMORY mode for sector writes to the Compact Flash (CF), and only at the very start of a multi-sector write transaction. i.e. the CF ~BUSY/READY line transitions from low to high when it is configured for MEMORY mode.

The reason for the event can be explained by text found in the Sandisk product spec that describes the WRITE SECTOR command. The text states ...

    "When this command is accepted, the CompactFlash Memory Card sets
    BSY, then sets DRQ and clears BSY, then waits for the host to fill
    the sector buffer with the data to be written. No interrupt is
    generated to start the first buffer fill operation."

The Linux IDE code (intended for IO mode) does not expect to receive an interrupt when the CF is ready to accept the first buffer fill of a WRITE SECTOR command. Instead, the IDE code polls the device and waits for DRQ to be asserted.

The 'unexpected interrupt' message is therefore harmless, as the DRQ is being serviced from polling anyway.  

The 'quick hack' solution is to add code in the IDE driver that sets an 'ignore_interrupt' flag just prior to issuing the WRITE SECTOR command to the drive when the CF is configured for MEMORY mode, and code in the IDE interrupt handler that senses this flag and does not log an 'unexpected interrupt' message when the flag is asserted. I'm sure there's a cleaner way of doing it, but this works.

For reference, with corresponding PCI changes for our arch to support DMA access to the CF memory buffer for PIO transfers, we get approx 4x the performance that we did with IO based simple PIO.

i.e. it's not as fast as true UDMA would be, but for a CF controller such as PCI1510 which doesn't support DMA natively, it's a big improvement and a lower CPU overhead.


From randy.dunlap at oracle.com  Fri Feb  8 18:22:44 2008
From: randy.dunlap at oracle.com (Randy Dunlap)
Date: Fri, 8 Feb 2008 15:22:44 -0800
Subject: [PATCH] pcmcia: fix i82092 printk format
Message-ID: <20080208152244.8aa5fdbb.randy.dunlap@oracle.com>

From: Randy Dunlap <randy.dunlap at oracle.com>

Fix printk format warnings:
linux-2.6.24-git19/drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
linux-2.6.24-git19/drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'

Fix very long source line size.
Fix spacing within the printk format string.

Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
---
 drivers/pcmcia/i82092.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- linux-2.6.24-git19.orig/drivers/pcmcia/i82092.c
+++ linux-2.6.24-git19/drivers/pcmcia/i82092.c
@@ -647,7 +647,9 @@ static int i82092aa_set_mem_map(struct p
 	if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) ||
 	     (mem->speed > 1000) ) {
 		leave("i82092aa_set_mem_map: invalid address / speed");
-		printk("invalid mem map for socket %i : %lx to %lx with a start of %x \n",sock,region.start, region.end, mem->card_start);
+		printk("invalid mem map for socket %i: %llx to %llx with a start of %x\n",
+			sock, (unsigned long long)region.start,
+			(unsigned long long)region.end, mem->card_start);
 		return -EINVAL;
 	}
 	


From komurojun-mbn at nifty.com  Fri Feb  8 18:51:11 2008
From: komurojun-mbn at nifty.com (Komuro)
Date: Sat, 9 Feb 2008 08:51:11 +0900 (JST)
Subject: Orinoco IRQ problem?
In-Reply-To: <47AB8F8E.9090009@research.telcordia.com>
References: <47AB8F8E.9090009@research.telcordia.com>
Message-ID: <17958670.10901202514671863.komurojun-mbn@nifty.com>


Please add 
exclude irq 3
to /etc/pcmcia/config.opts.



Best Regards
Komuro

>
>
>I've been having trouble getting an Orinoco wireless PCMCIA card to work 
>with recent 2.6 kernels (2.6.24, among others).  To make a long story 
>short (long story posted on the orinoco-users mailing list), the problem 
>seems to be IRQ related.  The card connects to the access point just 
>fine, but ultimately loses an interrupt and never comes up ready.  (To 
>save a visit to orinoco-users, the laptops in question are an IBM T21 
>and a T41.)
>
>I can get the card to work by either
>	rmmod nsc_ircc
>or by enabling the infrared port in the BIOS(!).
>
>The card is assigned IRQ3 (by yenta_socket, I guess).  The default IRQ 
>for the infrared port is also IRQ3.  I have no definitive proof that the 
>two facts are related.  I did get a comment from a former Orinoco 
>maintainer that the Orinoco card/driver did not like to share IRQ's.
>
>My question:  Is it possible to tell yenta_socket (or whatever module is 
>assigning the IRQ) to stay away from IRQ3?  I tried google, and didn't 
>get any answers that were reasonable - most referred to the old PCMCIA 
>drivers.
>
>_______________________________________________
>Linux PCMCIA reimplementation list
>http://lists.infradead.org/mailman/listinfo/linux-pcmcia



From akpm at linux-foundation.org  Fri Feb  8 18:53:19 2008
From: akpm at linux-foundation.org (Andrew Morton)
Date: Fri, 8 Feb 2008 15:53:19 -0800
Subject: [PATCH] pcmcia: fix i82092 printk format
In-Reply-To: <20080208152244.8aa5fdbb.randy.dunlap@oracle.com>
References: <20080208152244.8aa5fdbb.randy.dunlap@oracle.com>
Message-ID: <20080208155319.dfc584c8.akpm@linux-foundation.org>

On Fri, 8 Feb 2008 15:22:44 -0800 Randy Dunlap <randy.dunlap at oracle.com> wrote:

> From: Randy Dunlap <randy.dunlap at oracle.com>
> 
> Fix printk format warnings:
> linux-2.6.24-git19/drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
> linux-2.6.24-git19/drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
> 
> Fix very long source line size.
> Fix spacing within the printk format string.
> 
> Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
> ---
>  drivers/pcmcia/i82092.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> --- linux-2.6.24-git19.orig/drivers/pcmcia/i82092.c
> +++ linux-2.6.24-git19/drivers/pcmcia/i82092.c
> @@ -647,7 +647,9 @@ static int i82092aa_set_mem_map(struct p
>  	if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) ||
>  	     (mem->speed > 1000) ) {
>  		leave("i82092aa_set_mem_map: invalid address / speed");
> -		printk("invalid mem map for socket %i : %lx to %lx with a start of %x \n",sock,region.start, region.end, mem->card_start);
> +		printk("invalid mem map for socket %i: %llx to %llx with a start of %x\n",
> +			sock, (unsigned long long)region.start,
> +			(unsigned long long)region.end, mem->card_start);
>  		return -EINVAL;
>  	}
>  	

I've apleady sent a similar patch to Greg
(drivers-pcmcia-i82092c-fix-up-after-pci_bus_region-changes.patch) but I
imagine he's swamped with -stable fun and games at present.



From stuge-linux-pcmcia at cdy.org  Sat Feb  9 12:30:28 2008
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Sat, 9 Feb 2008 18:30:28 +0100
Subject: Orinoco IRQ problem?
In-Reply-To: <17958670.10901202514671863.komurojun-mbn@nifty.com>
References: <47AB8F8E.9090009@research.telcordia.com>
	<17958670.10901202514671863.komurojun-mbn@nifty.com>
Message-ID: <20080209173028.19894.qmail@cdy.org>

On Sat, Feb 09, 2008 at 08:51:11AM +0900, Komuro wrote:
> Please add 
> exclude irq 3
> to /etc/pcmcia/config.opts.

Sorry, this will not work with 2.6 kernels no longer using pcmcia-cs.

I don't know how to exclude interrupts from PCMCIA allocation in 2.6.


//Peter


From mcintosh at research.telcordia.com  Sat Feb  9 13:43:30 2008
From: mcintosh at research.telcordia.com (Allen McIntosh)
Date: Sat, 09 Feb 2008 13:43:30 -0500
Subject: Orinoco IRQ problem?
In-Reply-To: <20080209173028.19894.qmail@cdy.org>
References: <47AB8F8E.9090009@research.telcordia.com>	<17958670.10901202514671863.komurojun-mbn@nifty.com>
	<20080209173028.19894.qmail@cdy.org>
Message-ID: <47ADF452.7030409@research.telcordia.com>

>> Please add 
>> exclude irq 3
>> to /etc/pcmcia/config.opts.

Worked for me.  Card now gets IRQ4.  I'm happy.
Thanks.


From komurojun-mbn at nifty.com  Sun Feb 10 09:09:04 2008
From: komurojun-mbn at nifty.com (Komuro)
Date: Sun, 10 Feb 2008 23:09:04 +0900 (JST)
Subject: Cardbus/Yenta/PCI 2.6.22 help
In-Reply-To: <47A98361.2090207@huygens.biz>
References: <47A98361.2090207@huygens.biz>
Message-ID: <4298150.144701202652544150.komurojun-mbn@nifty.com>


Please try kernel 2.6.24


Best Regards
komuro

>
>Hi,
>
>I have a problem getting a PCI to Cardbus adapter to work on a dell
>1550 server. I have been truying for days to get this going but
>I cannot figure out what is wrong. As far as I understand, all
>should be ok in terms ok irqs, and resource windows...
>This machine has 2G memory and 2 CPUs.
>Running 2.6.22-14-generic.
>
>But upon card insertion... nil happens. PCI slot, adapter
>and cards are ganuaranteed healthy.
>
>Yenta reports a troublesome (?) socket status:
>
>[  170.575520] Yenta: CardBus bridge found at 0000:02:06.0 [0000:0000]
>[  170.707652] Yenta: ISA IRQ mask 0x0000, PCI irq 16
>[  170.707708] Socket status: ffffffff
>
>
>Thanks for any assistance, I am running out of steam here!
>Attached lspci, dmesg,
>
>Christophe
>
>
>xtof at rover1:~$ lspci
>00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
>00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
>100 (rev 08)
>00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
>00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
>00:0f.1 IDE interface: Broadcom OSB4 IDE Controller
>02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
>
>
>
>xtof at rover1:~$ lspci -v
>00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
>        Flags: fast devsel
>
>00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>        Flags: bus master, medium devsel, latency 32
>
>00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>        Flags: medium devsel
>
>00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>        Flags: medium devsel
>
>00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
>100 (rev 08)
>        Subsystem: Dell Unknown device 00da
>        Flags: bus master, medium devsel, latency 32, IRQ 17
>        Memory at fe1ff000 (32-bit, non-prefetchable) [size=4K]
>        I/O ports at ecc0 [size=64]
>        Memory at fe000000 (32-bit, non-prefetchable) [size=1M]
>        Capabilities: <access denied>
>
>00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 
>(prog-if 00 [VGA])
>        Subsystem: Dell Unknown device 00df
>        Flags: bus master, VGA palette snoop, stepping, medium devsel, 
>latency 32
>        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
>        I/O ports at e800 [size=256]
>        Memory at fe1fe000 (32-bit, non-prefetchable) [size=4K]
>        [virtual] Expansion ROM at 80000000 [disabled] [size=128K]
>        Capabilities: <access denied>
>
>00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
>        Subsystem: Broadcom OSB4 South Bridge
>        Flags: bus master, medium devsel, latency 0
>
>00:0f.1 IDE interface: Broadcom OSB4 IDE Controller (prog-if 8a [Master 
>SecP PriP])
>        Flags: bus master, medium devsel, latency 64
>        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) 
>[disabled] [size=8]
>        [virtual] Memory at 000003f0 (type 3, non-prefetchable) 
>[disabled] [size=1]
>        [virtual] Memory at 00000170 (32-bit, non-prefetchable) 
>[disabled] [size=8]
>        [virtual] Memory at 00000370 (type 3, non-prefetchable) 
>[disabled] [size=1]
>        I/O ports at 08b0 [size=16]
>
>02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>        Subsystem: Dell Unknown device 00df
>        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>        BIST result: 00
>        I/O ports at dc00 [disabled] [size=256]
>        Memory at feaff000 (64-bit, non-prefetchable) [size=4K]
>        Expansion ROM at feb00000 [disabled] [size=128K]
>        Capabilities: <access denied>
>
>02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>        Subsystem: Dell Unknown device 00df
>        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 19
>        BIST result: 00
>        I/O ports at d800 [disabled] [size=256]
>        Memory at feafe000 (64-bit, non-prefetchable) [size=4K]
>        Expansion ROM at 80020000 [disabled] [size=128K]
>        Capabilities: <access denied>
>
>02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
>        Flags: bus master, medium devsel, latency 168, IRQ 16
>        Memory at 80040000 (32-bit, non-prefetchable) [size=4K]
>        Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
>        Memory window 0: 84000000-87fff000 (prefetchable)
>        Memory window 1: 88000000-8bfff000
>        I/O window 0: 00001000-000010ff
>        I/O window 1: 00001400-000014ff
>        16-bit legacy interface ports at 0001
>



From chris at chrishowells.co.uk  Sun Feb 10 09:26:53 2008
From: chris at chrishowells.co.uk (Chris Howells)
Date: Sun, 10 Feb 2008 14:26:53 +0000
Subject: Cardbus/Yenta/PCI 2.6.22 help
In-Reply-To: <47A98361.2090207@huygens.biz>
References: <47A98361.2090207@huygens.biz>
Message-ID: <47AF09AD.4000900@chrishowells.co.uk>

Christophe Huygens wrote:

> I have a problem getting a PCI to Cardbus adapter to work on a dell
> 1550 server. I have been truying for days to get this going but
> I cannot figure out what is wrong. As far as I understand, all
> should be ok in terms ok irqs, and resource windows...
> This machine has 2G memory and 2 CPUs.
> Running 2.6.22-14-generic.

Try booting with pci=assign-busses

This "fixed" the problem with a PCI to CardBus on a PowerEdge 1950 for me.


From xtof at huygens.biz  Mon Feb 11 15:58:54 2008
From: xtof at huygens.biz (Christophe Huygens)
Date: Mon, 11 Feb 2008 21:58:54 +0100
Subject: Cardbus/Yenta/PCI 2.6.22 help
In-Reply-To: <4298150.144701202652544150.komurojun-mbn@nifty.com>
References: <47A98361.2090207@huygens.biz>
	<4298150.144701202652544150.komurojun-mbn@nifty.com>
Message-ID: <47B0B70E.1080307@huygens.biz>

Hi thanks for your input,

same result on 2.6.24... works perfectly in Windows Xp :-(

Christophe


Komuro wrote:
> Please try kernel 2.6.24
>
>
> Best Regards
> komuro
>
>   
>> Hi,
>>
>> I have a problem getting a PCI to Cardbus adapter to work on a dell
>> 1550 server. I have been truying for days to get this going but
>> I cannot figure out what is wrong. As far as I understand, all
>> should be ok in terms ok irqs, and resource windows...
>> This machine has 2G memory and 2 CPUs.
>> Running 2.6.22-14-generic.
>>
>> But upon card insertion... nil happens. PCI slot, adapter
>> and cards are ganuaranteed healthy.
>>
>> Yenta reports a troublesome (?) socket status:
>>
>> [  170.575520] Yenta: CardBus bridge found at 0000:02:06.0 [0000:0000]
>> [  170.707652] Yenta: ISA IRQ mask 0x0000, PCI irq 16
>> [  170.707708] Socket status: ffffffff
>>
>>
>> Thanks for any assistance, I am running out of steam here!
>> Attached lspci, dmesg,
>>
>> Christophe
>>
>>
>> xtof at rover1:~$ lspci
>> 00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
>> 00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>> 00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>> 00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>> 00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
>> 100 (rev 08)
>> 00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
>> 00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
>> 00:0f.1 IDE interface: Broadcom OSB4 IDE Controller
>> 02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>> 02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>> 02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
>>
>>
>>
>> xtof at rover1:~$ lspci -v
>> 00:00.0 Host bridge: Broadcom CNB20HE Host Bridge (rev 23)
>>        Flags: fast devsel
>>
>> 00:00.1 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>>        Flags: bus master, medium devsel, latency 32
>>
>> 00:00.2 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>>        Flags: medium devsel
>>
>> 00:00.3 Host bridge: Broadcom CNB20HE Host Bridge (rev 01)
>>        Flags: medium devsel
>>
>> 00:01.0 Ethernet controller: Intel Corporation 82557/8/9 Ethernet Pro 
>> 100 (rev 08)
>>        Subsystem: Dell Unknown device 00da
>>        Flags: bus master, medium devsel, latency 32, IRQ 17
>>        Memory at fe1ff000 (32-bit, non-prefetchable) [size=4K]
>>        I/O ports at ecc0 [size=64]
>>        Memory at fe000000 (32-bit, non-prefetchable) [size=1M]
>>        Capabilities: <access denied>
>>
>> 00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 
>> (prog-if 00 [VGA])
>>        Subsystem: Dell Unknown device 00df
>>        Flags: bus master, VGA palette snoop, stepping, medium devsel, 
>> latency 32
>>        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
>>        I/O ports at e800 [size=256]
>>        Memory at fe1fe000 (32-bit, non-prefetchable) [size=4K]
>>        [virtual] Expansion ROM at 80000000 [disabled] [size=128K]
>>        Capabilities: <access denied>
>>
>> 00:0f.0 ISA bridge: Broadcom OSB4 South Bridge (rev 50)
>>        Subsystem: Broadcom OSB4 South Bridge
>>        Flags: bus master, medium devsel, latency 0
>>
>> 00:0f.1 IDE interface: Broadcom OSB4 IDE Controller (prog-if 8a [Master 
>> SecP PriP])
>>        Flags: bus master, medium devsel, latency 64
>>        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) 
>> [disabled] [size=8]
>>        [virtual] Memory at 000003f0 (type 3, non-prefetchable) 
>> [disabled] [size=1]
>>        [virtual] Memory at 00000170 (32-bit, non-prefetchable) 
>> [disabled] [size=8]
>>        [virtual] Memory at 00000370 (type 3, non-prefetchable) 
>> [disabled] [size=1]
>>        I/O ports at 08b0 [size=16]
>>
>> 02:05.0 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>>        Subsystem: Dell Unknown device 00df
>>        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>>        BIST result: 00
>>        I/O ports at dc00 [disabled] [size=256]
>>        Memory at feaff000 (64-bit, non-prefetchable) [size=4K]
>>        Expansion ROM at feb00000 [disabled] [size=128K]
>>        Capabilities: <access denied>
>>
>> 02:05.1 SCSI storage controller: Adaptec AIC-7899P U160/m (rev 01)
>>        Subsystem: Dell Unknown device 00df
>>        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 19
>>        BIST result: 00
>>        I/O ports at d800 [disabled] [size=256]
>>        Memory at feafe000 (64-bit, non-prefetchable) [size=4K]
>>        Expansion ROM at 80020000 [disabled] [size=128K]
>>        Capabilities: <access denied>
>>
>> 02:06.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 81)
>>        Flags: bus master, medium devsel, latency 168, IRQ 16
>>        Memory at 80040000 (32-bit, non-prefetchable) [size=4K]
>>        Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
>>        Memory window 0: 84000000-87fff000 (prefetchable)
>>        Memory window 1: 88000000-8bfff000
>>        I/O window 0: 00001000-000010ff
>>        I/O window 1: 00001400-000014ff
>>        16-bit legacy interface ports at 0001
>>
>>     
>
>   


-- 
------------------------------------------------------------------------

This e-mail and any attached files are confidential and may be legally privileged. If you are not the addressee, any disclosure, reproduction, copying, distribution, or other dissemination or use of the transmitted information is strictly prohibited. If you have received this transmission in error please notify P.S. 23 immediately and then delete this e-mail.
P.S. 23 does not accept liability for the correct and complete transmission of the information, nor for any delay or interruption of the transmission, nor for damages arising from the use of or reliance on the information, nor for confidentiality of the information sent using this channel. The sender or recipient of these messages agrees that they may be read by other P.S. 23 employees than the official recipient or sender in order to ensure the continuity of work-related activities and allow supervision thereof.

------------------------------------------------------------------------

Huygens Consulting
a division of P.S. 23 BVBA
ir. Christophe Huygens
xtof at huygens.biz

BTW - BE - 0479.947.684 - RPR Leuven
Kroegberg 3 B-3000 Leuven
www.huygens.biz
phone +32 496 47 55 64

-------------- next part --------------
A non-text attachment was scrubbed...
Name: xtof.vcf
Type: text/x-vcard
Size: 264 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080211/68f027aa/attachment.vcf 

From steve at snewbury.org.uk  Mon Feb 11 15:59:41 2008
From: steve at snewbury.org.uk (Steven John Newbury)
Date: Mon, 11 Feb 2008 20:59:41 +0000
Subject: UDMA for Compact Flash over PC Card?
In-Reply-To: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D0798C4@bosmail.us.aastra.com>
References: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D0798C4@bosmail.us.aastra.com>
Message-ID: <200802112059.52395.steve@snewbury.org.uk>

On Tuesday 05 February 2008 16:46:38 Iain Barker wrote:
> FYI, we've been looking at this recently, and the DMA-related PXA patch
> from this email thread:
> http://lists.infradead.org/pipermail/linux-pcmcia/2007-April/004473.html
>
> On Wed Apr 4 06:36:35 EDT 2007, Steve Newbury wrote:
> > The only way of getting CF devices to run in (U)DMA mode is to physically
> > attach them to an IDE controller.  CF devices can electrically operate as
> > either PCMCIA-like or IDE devices.  If operating as a PCMCIA device it
> > can only be accessed with IO or MMIO.  If you want more performance 
than
> > the 300ns cycle IO access time you need to use MMIO **and set the 
access
> > speed to the correct value for that CF device**, you'll then get much
> > higher performace (upto 20MB/s).  Using a variation on Thomas Kleffel's
> > patch I've tried before, not completely managed to get it working, see
> > this lists archives.  I couldn't get the interrupt working for some
> > reason.
> >
> > Steve
>
> The compact flash spec has a feature that allows DMA host controllers to
> move data to and from the CF data buffer WHEN USING PIO MODE, more
> efficiently and quicker than simply doing individual reads and writes to
> and from the single 16-bit ata data register.
>
> i.e. for architectures which have a DMA controller (for example, PCI
> bridges) when used with PCMCIA controllers which DO NOT support DMA (for
> example, TI PCI1510), this can reduce CPU overhead for PIO transfers
> considerably.
>
> This feature is simply a pseudo buffer, that resides at ata offset
> 0x0400-0x0800,  that allows incrementing dmas sequential access to the 
same
> ata data register, which in reality is just a fifo, but the feature is only
> available when the cf is configured for MEMORY mode.
>
> There was an earlier attempt to support MMIO by Thomas Kleffel, but his
> patch was reverted in 2.6.19 by Andrew Morton due to various problems.
>
> Although it's not in the mainline Linux code, I know readers on this list
> who use Thomas' patch, so this is an attempt at summarising the problems
> and possible fixes.
>
> 1/ It has a problem with still using the default PCI IO access functions to
> communicate with the cf's ATA registers during probe, rather than using
> MMIO for all operations.
>
> Fix: Adding specific code to ide_register_hw_with_fixup function to load
> the PCI MEM functions into the hwif struct when that struct is being
> initialized and the is_mmio flag is set.
>
> In drivers/ide/legacy/ide-cs.c
>
> Within the CIS parser, set the memory mode per Thomas' is_mmio patch:
> >                 link->conf.IntType = INT_MEMORY;
>
> Then pass is_mmio from Thomas' patch as the last parameter when calling 
the fixup function:
> > int ide_register_hw_with_fixup(hw_regs_t *hw, ide_hwif_t **hwifp,
> > void(*fixup)(ide_hwif_t *hwif), int is_mmio)
>
> 807a808,821
>
> >       if (is_mmio)
> >       {
> >               default_hwif_mmiops(hwif);
> >               hwif->io_ports[IDE_DATA_OFFSET] += 0x0400;
> >               hwif->mmio = 2;
> >       }
>
> 2/ Once the ide driver was able to communicate successfully with the cf ATA
> registers in MEM mode we could see that the interrupts didn't work.
>
> Fix: Changing the desired interrupt mode from INT_MEMORY_AND_IO to
> INT_MEMORY when configuring the pcmcia socket controller. The lowest-level
> yenta socket code could handle this functionality but the higher-level
> pcmcia code could not handle it.
>
> i.e. fix this by adding 2 lines of of INT_MEMORY support code to the
> pcmcia_request_configuration function.
>
> In drivers/pcmcia/pcmcia_resource.c
> 628a629,633
>
> >       if (req->IntType & INT_MEMORY)
> >       {
> >               s->socket.flags    &= ~SS_IOCARD; // this is not an IO card
> >               s->socket.csc_mask |=  SS_READY;  // enable the READY
> > interrupt }
>
> 3/ Extend the base register so that it looks at the MMIO buffer at +400
> instead of the base data register.
>
> In drivers/ide/legacy/ide-cs.c
>
> > int ide_register_hw_with_fixup(hw_regs_t *hw, ide_hwif_t **hwifp,
> > void(*fixup)(ide_hwif_t *hwif), int is_mmio)
>
> 807a808,821
>
> >       /* if the mmio flag is set we populate the hwif structure with
> >        * the functions used to access PCI memory space (as opposed to
> >        * the default functions which access PCI io space). we also
> >        * change the 'data' offset to the address of the data buffer
> >        * that exists at offset 0x0400 so that we can use pci dmas
> >        * to move data faster.
> >        */
> >       if (is_mmio)
> >       {
> >               default_hwif_mmiops(hwif);
> >               hwif->io_ports[IDE_DATA_OFFSET] += 0x0400;
> >               hwif->mmio = 2;
> >       }
>
> Note: This isn't a complete solution, as with the ide driver now working in
> MEMORY mode it still needs architecture-specific code to implement the DMA
> transfer to the MMIO FIFO buffer.  That's relatively trivial using the arch
> native PCI driver functions to move 16-bit data to and from the PCI bus
> using block transfers instead of single-access transfers, for example the
> PXA driver from Steven.

Hi Iain, good job! Do you have a patch?  I'm busy with other things at the 
moment but I'll find some time to try this out.  You managed to get further 
than I did, I was quit stuck on the lack of IRQ from the drive, the datasheet 
I was using for reference didn't mention that the interrupt for memory 
accesses is only generated in memory only mode!


From bunk at kernel.org  Wed Feb 13 16:31:15 2008
From: bunk at kernel.org (Adrian Bunk)
Date: Wed, 13 Feb 2008 23:31:15 +0200
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
Message-ID: <20080213213115.GW3383@cs181133002.pp.htv.fi>

pcmcia_ioctl.c was scheduled for removal in 2005, and it has a 
deprecation printk() since 2005 (sic).

This patch contains the long overdue removal and the cleanups that are 
now possible.

Signed-off-by: Adrian Bunk <bunk at kernel.org>

---

 Documentation/feature-removal-schedule.txt |   17 
 drivers/pcmcia/Kconfig                     |   14 
 drivers/pcmcia/Makefile                    |    1 
 drivers/pcmcia/cs.c                        |   17 
 drivers/pcmcia/cs_internal.h               |    3 
 drivers/pcmcia/ds.c                        |   28 
 drivers/pcmcia/ds_internal.h               |   17 
 drivers/pcmcia/pcmcia_ioctl.c              |  806 ---------------------
 drivers/pcmcia/pcmcia_resource.c           |   15 
 drivers/pcmcia/rsrc_mgr.c                  |   80 --
 include/pcmcia/cs.h                        |    1 
 include/pcmcia/ds.h                        |   85 --
 include/pcmcia/ss.h                        |    7 
 13 files changed, 16 insertions(+), 1075 deletions(-)

25f87c367a7b15e5b9138bac2d5c35f7be0a1144 diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 7279595..4637bab 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -47,23 +47,6 @@ Who:	Mauro Carvalho Chehab <mchehab at infradead.org>
 
 ---------------------------
 
-What:	PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
-When:	November 2005
-Files:	drivers/pcmcia/: pcmcia_ioctl.c
-Why:	With the 16-bit PCMCIA subsystem now behaving (almost) like a
-	normal hotpluggable bus, and with it using the default kernel
-	infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
-	control ioctl needed by cardmgr and cardctl from pcmcia-cs is
-	unnecessary, and makes further cleanups and integration of the
-	PCMCIA subsystem into the Linux kernel device driver model more
-	difficult. The features provided by cardmgr and cardctl are either
-	handled by the kernel itself now or are available in the new
-	pcmciautils package available at
-	http://kernel.org/pub/linux/utils/kernel/pcmcia/
-Who:	Dominik Brodowski <linux at brodo.de>
-
----------------------------
-
 What:	sys_sysctl
 When:	September 2010
 Option: CONFIG_SYSCTL_SYSCALL
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 8b22281..61f490d 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -68,20 +68,6 @@ config PCMCIA_LOAD_CIS
 
 	  If unsure, say Y.
 
-config PCMCIA_IOCTL
-	bool "PCMCIA control ioctl (obsolete)"
-	depends on PCMCIA
-	default y
-	help
-	  If you say Y here, the deprecated ioctl interface to the PCMCIA
-	  subsystem will be built. It is needed by cardmgr and cardctl
-	  (pcmcia-cs) to function properly.
-
-	  You should use the new pcmciautils package instead (see
-	  <file:Documentation/Changes> for location and details).
-
-	  If unsure, say Y.
-
 config CARDBUS
 	bool "32-bit CardBus support"	
 	depends on PCI
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
index 6f6478b..717802b 100644
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
@@ -11,7 +11,6 @@ pcmcia_core-$(CONFIG_CARDBUS)			+= cardbus.o
 obj-$(CONFIG_PCCARD)				+= pcmcia_core.o
 
 pcmcia-y					+= ds.o pcmcia_resource.o
-pcmcia-$(CONFIG_PCMCIA_IOCTL)			+= pcmcia_ioctl.o
 obj-$(CONFIG_PCMCIA)				+= pcmcia.o
 
 obj-$(CONFIG_PCCARD_NONSTATIC)			+= rsrc_nonstatic.o
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 56230db..4ff2715 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -296,23 +296,6 @@ void pcmcia_unregister_socket(struct pcmcia_socket *socket)
 EXPORT_SYMBOL(pcmcia_unregister_socket);
 
 
-struct pcmcia_socket * pcmcia_get_socket_by_nr(unsigned int nr)
-{
-	struct pcmcia_socket *s;
-
-	down_read(&pcmcia_socket_list_rwsem);
-	list_for_each_entry(s, &pcmcia_socket_list, socket_list)
-		if (s->sock == nr) {
-			up_read(&pcmcia_socket_list_rwsem);
-			return s;
-		}
-	up_read(&pcmcia_socket_list_rwsem);
-
-	return NULL;
-
-}
-EXPORT_SYMBOL(pcmcia_get_socket_by_nr);
-
 /*
  * The central event handler.  Send_event() sends an event to the
  * 16-bit subsystem, which then calls the relevant device drivers.
diff --git a/drivers/pcmcia/cs_internal.h b/drivers/pcmcia/cs_internal.h
index 9fa207e..9c6ccb4 100644
--- a/drivers/pcmcia/cs_internal.h
+++ b/drivers/pcmcia/cs_internal.h
@@ -126,10 +126,7 @@ extern struct class_interface pccard_sysfs_interface;
 /* In cs.c */
 extern struct rw_semaphore pcmcia_socket_list_rwsem;
 extern struct list_head pcmcia_socket_list;
-int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle, int idx, win_req_t *req);
-int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config);
 int pccard_reset_card(struct pcmcia_socket *skt);
-int pccard_get_status(struct pcmcia_socket *s, struct pcmcia_device *p_dev, cs_status_t *status);
 
 
 struct pcmcia_callback{
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 5a85871..4128a6e 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -56,7 +56,7 @@ module_param_named(pc_debug, ds_pc_debug, int, 0644);
 #define ds_dbg(lvl, fmt, arg...) do { } while (0)
 #endif
 
-spinlock_t pcmcia_dev_list_lock;
+static spinlock_t pcmcia_dev_list_lock;
 
 /*====================================================================*/
 
@@ -367,7 +367,7 @@ EXPORT_SYMBOL(pcmcia_unregister_driver);
 
 /* pcmcia_device handling */
 
-struct pcmcia_device * pcmcia_get_dev(struct pcmcia_device *p_dev)
+static struct pcmcia_device * pcmcia_get_dev(struct pcmcia_device *p_dev)
 {
 	struct device *tmp_dev;
 	tmp_dev = get_device(&p_dev->dev);
@@ -376,7 +376,7 @@ struct pcmcia_device * pcmcia_get_dev(struct pcmcia_device *p_dev)
 	return to_pcmcia_dev(tmp_dev);
 }
 
-void pcmcia_put_dev(struct pcmcia_device *p_dev)
+static void pcmcia_put_dev(struct pcmcia_device *p_dev)
 {
 	if (p_dev)
 		put_device(&p_dev->dev);
@@ -643,7 +643,8 @@ static int pcmcia_device_query(struct pcmcia_device *p_dev)
  */
 static DEFINE_MUTEX(device_add_lock);
 
-struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int function)
+static struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s,
+						unsigned int function)
 {
 	struct pcmcia_device *p_dev, *tmp_dev;
 	unsigned long flags;
@@ -1045,15 +1046,6 @@ static int pcmcia_bus_match(struct device * dev, struct device_driver * drv) {
 	}
 	spin_unlock(&p_drv->dynids.lock);
 
-#ifdef CONFIG_PCMCIA_IOCTL
-	/* matching by cardmgr */
-	if (p_dev->cardmgr == p_drv) {
-		ds_dbg(0, "cardmgr matched %s to %s\n", dev->bus_id,
-		       drv->name);
-		return 1;
-	}
-#endif
-
 	while (did && did->match_flags) {
 		ds_dbg(3, "trying to match %s to %s\n", dev->bus_id,
 		       drv->name);
@@ -1400,13 +1392,11 @@ static int ds_event(struct pcmcia_socket *skt, event_t event, int priority)
 	case CS_EVENT_CARD_REMOVAL:
 		s->pcmcia_state.present = 0;
 		pcmcia_card_remove(skt, NULL);
-		handle_event(skt, event);
 		break;
 
 	case CS_EVENT_CARD_INSERTION:
 		s->pcmcia_state.present = 1;
 		pcmcia_card_add(skt);
-		handle_event(skt, event);
 		break;
 
 	case CS_EVENT_EJECTION_REQUEST:
@@ -1417,7 +1407,6 @@ static int ds_event(struct pcmcia_socket *skt, event_t event, int priority)
 	case CS_EVENT_RESET_PHYSICAL:
 	case CS_EVENT_CARD_RESET:
 	default:
-		handle_event(skt, event);
 		break;
     }
 
@@ -1479,9 +1468,6 @@ static int __devinit pcmcia_bus_add_socket(struct device *dev,
 	 */
 	msleep(250);
 
-#ifdef CONFIG_PCMCIA_IOCTL
-	init_waitqueue_head(&socket->queue);
-#endif
 	INIT_LIST_HEAD(&socket->devices_list);
 	INIT_WORK(&socket->device_add, pcmcia_delayed_add_device);
 	memset(&socket->pcmcia_state, 0, sizeof(u8));
@@ -1558,8 +1544,6 @@ static int __init init_pcmcia_bus(void)
 		return ret;
 	}
 
-	pcmcia_setup_ioctl();
-
 	return 0;
 }
 fs_initcall(init_pcmcia_bus); /* one level after subsys_initcall so that 
@@ -1568,8 +1552,6 @@ fs_initcall(init_pcmcia_bus); /* one level after subsys_initcall so that
 
 static void __exit exit_pcmcia_bus(void)
 {
-	pcmcia_cleanup_ioctl();
-
 	class_interface_unregister(&pcmcia_bus_interface);
 
 	bus_unregister(&pcmcia_bus_type);
diff --git a/drivers/pcmcia/ds_internal.h b/drivers/pcmcia/ds_internal.h
index 3a2b25e..921c659 100644
--- a/drivers/pcmcia/ds_internal.h
+++ b/drivers/pcmcia/ds_internal.h
@@ -1,23 +1,6 @@
 /* ds_internal.h - internal header for 16-bit PCMCIA devices management */
 
-extern spinlock_t pcmcia_dev_list_lock;
 extern struct bus_type pcmcia_bus_type;
 
-extern struct pcmcia_device * pcmcia_get_dev(struct pcmcia_device *p_dev);
-extern void pcmcia_put_dev(struct pcmcia_device *p_dev);
-
-struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int function);
-
 extern int pcmcia_release_configuration(struct pcmcia_device *p_dev);
 
-#ifdef CONFIG_PCMCIA_IOCTL
-extern void __init pcmcia_setup_ioctl(void);
-extern void __exit pcmcia_cleanup_ioctl(void);
-extern void handle_event(struct pcmcia_socket *s, event_t event);
-extern int handle_request(struct pcmcia_socket *s, event_t event);
-#else
-static inline void __init pcmcia_setup_ioctl(void) { return; }
-static inline void __exit pcmcia_cleanup_ioctl(void) { return; }
-static inline void handle_event(struct pcmcia_socket *s, event_t event) { return; }
-static inline int handle_request(struct pcmcia_socket *s, event_t event) { return CS_SUCCESS; }
-#endif
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
deleted file mode 100644
index 27523c5..0000000
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ /dev/null
@@ -1,806 +0,0 @@
-/*
- * pcmcia_ioctl.c -- ioctl interface for cardmgr and cardctl
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * The initial developer of the original code is David A. Hinds
- * <dahinds at users.sourceforge.net>.  Portions created by David A. Hinds
- * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
- *
- * (C) 1999		David A. Hinds
- * (C) 2003 - 2004	Dominik Brodowski
- */
-
-/*
- * This file will go away soon.
- */
-
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/major.h>
-#include <linux/errno.h>
-#include <linux/ioctl.h>
-#include <linux/proc_fs.h>
-#include <linux/poll.h>
-#include <linux/pci.h>
-#include <linux/workqueue.h>
-
-#define IN_CARD_SERVICES
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
-#include <pcmcia/cistpl.h>
-#include <pcmcia/ds.h>
-#include <pcmcia/ss.h>
-
-#include "cs_internal.h"
-#include "ds_internal.h"
-
-static int major_dev = -1;
-
-
-/* Device user information */
-#define MAX_EVENTS	32
-#define USER_MAGIC	0x7ea4
-#define CHECK_USER(u) \
-    (((u) == NULL) || ((u)->user_magic != USER_MAGIC))
-
-typedef struct user_info_t {
-	u_int			user_magic;
-	int			event_head, event_tail;
-	event_t			event[MAX_EVENTS];
-	struct user_info_t	*next;
-	struct pcmcia_socket	*socket;
-} user_info_t;
-
-
-#ifdef DEBUG
-extern int ds_pc_debug;
-
-#define ds_dbg(lvl, fmt, arg...) do {		\
-	if (ds_pc_debug >= lvl)				\
-		printk(KERN_DEBUG "ds: " fmt , ## arg);		\
-} while (0)
-#else
-#define ds_dbg(lvl, fmt, arg...) do { } while (0)
-#endif
-
-static struct pcmcia_device *get_pcmcia_device(struct pcmcia_socket *s,
-						unsigned int function)
-{
-	struct pcmcia_device *p_dev = NULL;
-	unsigned long flags;
-
-	spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
-	list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
-		if (p_dev->func == function) {
-			spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-			return pcmcia_get_dev(p_dev);
-		}
-	}
-	spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-	return NULL;
-}
-
-/* backwards-compatible accessing of driver --- by name! */
-
-static struct pcmcia_driver *get_pcmcia_driver(dev_info_t *dev_info)
-{
-	struct device_driver *drv;
-	struct pcmcia_driver *p_drv;
-
-	drv = driver_find((char *) dev_info, &pcmcia_bus_type);
-	if (!drv)
-		return NULL;
-
-	p_drv = container_of(drv, struct pcmcia_driver, drv);
-
-	return (p_drv);
-}
-
-
-#ifdef CONFIG_PROC_FS
-static struct proc_dir_entry *proc_pccard = NULL;
-
-static int proc_read_drivers_callback(struct device_driver *driver, void *d)
-{
-	char **p = d;
-	struct pcmcia_driver *p_drv = container_of(driver,
-						   struct pcmcia_driver, drv);
-
-	*p += sprintf(*p, "%-24.24s 1 %d\n", p_drv->drv.name,
-#ifdef CONFIG_MODULE_UNLOAD
-		      (p_drv->owner) ? module_refcount(p_drv->owner) : 1
-#else
-		      1
-#endif
-	);
-	d = (void *) p;
-
-	return 0;
-}
-
-static int proc_read_drivers(char *buf, char **start, off_t pos,
-			     int count, int *eof, void *data)
-{
-	char *p = buf;
-	int rc;
-
-	rc = bus_for_each_drv(&pcmcia_bus_type, NULL,
-			      (void *) &p, proc_read_drivers_callback);
-	if (rc < 0)
-		return rc;
-
-	return (p - buf);
-}
-#endif
-
-/*======================================================================
-
-    These manage a ring buffer of events pending for one user process
-
-======================================================================*/
-
-
-static int queue_empty(user_info_t *user)
-{
-    return (user->event_head == user->event_tail);
-}
-
-static event_t get_queued_event(user_info_t *user)
-{
-    user->event_tail = (user->event_tail+1) % MAX_EVENTS;
-    return user->event[user->event_tail];
-}
-
-static void queue_event(user_info_t *user, event_t event)
-{
-    user->event_head = (user->event_head+1) % MAX_EVENTS;
-    if (user->event_head == user->event_tail)
-	user->event_tail = (user->event_tail+1) % MAX_EVENTS;
-    user->event[user->event_head] = event;
-}
-
-void handle_event(struct pcmcia_socket *s, event_t event)
-{
-    user_info_t *user;
-    for (user = s->user; user; user = user->next)
-	queue_event(user, event);
-    wake_up_interruptible(&s->queue);
-}
-
-
-/*======================================================================
-
-    bind_request() and bind_device() are merged by now. Register_client()
-    is called right at the end of bind_request(), during the driver's
-    ->attach() call. Individual descriptions:
-
-    bind_request() connects a socket to a particular client driver.
-    It looks up the specified device ID in the list of registered
-    drivers, binds it to the socket, and tries to create an instance
-    of the device.  unbind_request() deletes a driver instance.
-
-    Bind_device() associates a device driver with a particular socket.
-    It is normally called by Driver Services after it has identified
-    a newly inserted card.  An instance of that driver will then be
-    eligible to register as a client of this socket.
-
-    Register_client() uses the dev_info_t handle to match the
-    caller with a socket.  The driver must have already been bound
-    to a socket with bind_device() -- in fact, bind_device()
-    allocates the client structure that will be used.
-
-======================================================================*/
-
-static int bind_request(struct pcmcia_socket *s, bind_info_t *bind_info)
-{
-	struct pcmcia_driver *p_drv;
-	struct pcmcia_device *p_dev;
-	int ret = 0;
-	unsigned long flags;
-
-	s = pcmcia_get_socket(s);
-	if (!s)
-		return -EINVAL;
-
-	ds_dbg(2, "bind_request(%d, '%s')\n", s->sock,
-	       (char *)bind_info->dev_info);
-
-	p_drv = get_pcmcia_driver(&bind_info->dev_info);
-	if (!p_drv) {
-		ret = -EINVAL;
-		goto err_put;
-	}
-
-	if (!try_module_get(p_drv->owner)) {
-		ret = -EINVAL;
-		goto err_put_driver;
-	}
-
-	spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
-        list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
-		if (p_dev->func == bind_info->function) {
-			if ((p_dev->dev.driver == &p_drv->drv)) {
-				if (p_dev->cardmgr) {
-					/* if there's already a device
-					 * registered, and it was registered
-					 * by userspace before, we need to
-					 * return the "instance". */
-					spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-					bind_info->instance = p_dev;
-					ret = -EBUSY;
-					goto err_put_module;
-				} else {
-					/* the correct driver managed to bind
-					 * itself magically to the correct
-					 * device. */
-					spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-					p_dev->cardmgr = p_drv;
-					ret = 0;
-					goto err_put_module;
-				}
-			} else if (!p_dev->dev.driver) {
-				/* there's already a device available where
-				 * no device has been bound to yet. So we don't
-				 * need to register a device! */
-				spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-				goto rescan;
-			}
-		}
-	}
-	spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-
-	p_dev = pcmcia_device_add(s, bind_info->function);
-	if (!p_dev) {
-		ret = -EIO;
-		goto err_put_module;
-	}
-
-rescan:
-	p_dev->cardmgr = p_drv;
-
-	/* if a driver is already running, we can abort */
-	if (p_dev->dev.driver)
-		goto err_put_module;
-
-	/*
-	 * Prevent this racing with a card insertion.
-	 */
-	mutex_lock(&s->skt_mutex);
-	ret = bus_rescan_devices(&pcmcia_bus_type);
-	mutex_unlock(&s->skt_mutex);
-	if (ret)
-		goto err_put_module;
-
-	/* check whether the driver indeed matched. I don't care if this
-	 * is racy or not, because it can only happen on cardmgr access
-	 * paths...
-	 */
-	if (!(p_dev->dev.driver == &p_drv->drv))
-		p_dev->cardmgr = NULL;
-
- err_put_module:
-	module_put(p_drv->owner);
- err_put_driver:
-	put_driver(&p_drv->drv);
- err_put:
-	pcmcia_put_socket(s);
-
-	return (ret);
-} /* bind_request */
-
-#ifdef CONFIG_CARDBUS
-
-static struct pci_bus *pcmcia_lookup_bus(struct pcmcia_socket *s)
-{
-	if (!s || !(s->state & SOCKET_CARDBUS))
-		return NULL;
-
-	return s->cb_dev->subordinate;
-}
-#endif
-
-static int get_device_info(struct pcmcia_socket *s, bind_info_t *bind_info, int first)
-{
-	dev_node_t *node;
-	struct pcmcia_device *p_dev;
-	struct pcmcia_driver *p_drv;
-	unsigned long flags;
-	int ret = 0;
-
-#ifdef CONFIG_CARDBUS
-	/*
-	 * Some unbelievably ugly code to associate the PCI cardbus
-	 * device and its driver with the PCMCIA "bind" information.
-	 */
-	{
-		struct pci_bus *bus;
-
-		bus = pcmcia_lookup_bus(s);
-		if (bus) {
-			struct list_head *list;
-			struct pci_dev *dev = NULL;
-
-			list = bus->devices.next;
-			while (list != &bus->devices) {
-				struct pci_dev *pdev = pci_dev_b(list);
-				list = list->next;
-
-				if (first) {
-					dev = pdev;
-					break;
-				}
-
-				/* Try to handle "next" here some way? */
-			}
-			if (dev && dev->driver) {
-				strlcpy(bind_info->name, dev->driver->name, DEV_NAME_LEN);
-				bind_info->major = 0;
-				bind_info->minor = 0;
-				bind_info->next = NULL;
-				return 0;
-			}
-		}
-	}
-#endif
-
-	spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
-	list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
-		if (p_dev->func == bind_info->function) {
-			p_dev = pcmcia_get_dev(p_dev);
-			if (!p_dev)
-				continue;
-			goto found;
-		}
-	}
-	spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-	return -ENODEV;
-
- found:
-	spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-
-	p_drv = to_pcmcia_drv(p_dev->dev.driver);
-	if (p_drv && !p_dev->_locked) {
-		ret = -EAGAIN;
-		goto err_put;
-	}
-
-	if (first)
-		node = p_dev->dev_node;
-	else
-		for (node = p_dev->dev_node; node; node = node->next)
-			if (node == bind_info->next)
-				break;
-	if (!node) {
-		ret = -ENODEV;
-		goto err_put;
-	}
-
-	strlcpy(bind_info->name, node->dev_name, DEV_NAME_LEN);
-	bind_info->major = node->major;
-	bind_info->minor = node->minor;
-	bind_info->next = node->next;
-
- err_put:
-	pcmcia_put_dev(p_dev);
-	return (ret);
-} /* get_device_info */
-
-
-static int ds_open(struct inode *inode, struct file *file)
-{
-    socket_t i = iminor(inode);
-    struct pcmcia_socket *s;
-    user_info_t *user;
-    static int warning_printed = 0;
-
-    ds_dbg(0, "ds_open(socket %d)\n", i);
-
-    s = pcmcia_get_socket_by_nr(i);
-    if (!s)
-	    return -ENODEV;
-    s = pcmcia_get_socket(s);
-    if (!s)
-	    return -ENODEV;
-
-    if ((file->f_flags & O_ACCMODE) != O_RDONLY) {
-	    if (s->pcmcia_state.busy) {
-		    pcmcia_put_socket(s);
-		    return -EBUSY;
-	    }
-	else
-	    s->pcmcia_state.busy = 1;
-    }
-
-    user = kmalloc(sizeof(user_info_t), GFP_KERNEL);
-    if (!user) {
-	    pcmcia_put_socket(s);
-	    return -ENOMEM;
-    }
-    user->event_tail = user->event_head = 0;
-    user->next = s->user;
-    user->user_magic = USER_MAGIC;
-    user->socket = s;
-    s->user = user;
-    file->private_data = user;
-
-    if (!warning_printed) {
-	    printk(KERN_INFO "pcmcia: Detected deprecated PCMCIA ioctl "
-			"usage from process: %s.\n", current->comm);
-	    printk(KERN_INFO "pcmcia: This interface will soon be removed from "
-			"the kernel; please expect breakage unless you upgrade "
-			"to new tools.\n");
-	    printk(KERN_INFO "pcmcia: see http://www.kernel.org/pub/linux/"
-			"utils/kernel/pcmcia/pcmcia.html for details.\n");
-	    warning_printed = 1;
-    }
-
-    if (s->pcmcia_state.present)
-	queue_event(user, CS_EVENT_CARD_INSERTION);
-    return 0;
-} /* ds_open */
-
-/*====================================================================*/
-
-static int ds_release(struct inode *inode, struct file *file)
-{
-    struct pcmcia_socket *s;
-    user_info_t *user, **link;
-
-    ds_dbg(0, "ds_release(socket %d)\n", iminor(inode));
-
-    user = file->private_data;
-    if (CHECK_USER(user))
-	goto out;
-
-    s = user->socket;
-
-    /* Unlink user data structure */
-    if ((file->f_flags & O_ACCMODE) != O_RDONLY) {
-	s->pcmcia_state.busy = 0;
-    }
-    file->private_data = NULL;
-    for (link = &s->user; *link; link = &(*link)->next)
-	if (*link == user) break;
-    if (link == NULL)
-	goto out;
-    *link = user->next;
-    user->user_magic = 0;
-    kfree(user);
-    pcmcia_put_socket(s);
-out:
-    return 0;
-} /* ds_release */
-
-/*====================================================================*/
-
-static ssize_t ds_read(struct file *file, char __user *buf,
-		       size_t count, loff_t *ppos)
-{
-    struct pcmcia_socket *s;
-    user_info_t *user;
-    int ret;
-
-    ds_dbg(2, "ds_read(socket %d)\n", iminor(file->f_path.dentry->d_inode));
-
-    if (count < 4)
-	return -EINVAL;
-
-    user = file->private_data;
-    if (CHECK_USER(user))
-	return -EIO;
-
-    s = user->socket;
-    if (s->pcmcia_state.dead)
-        return -EIO;
-
-    ret = wait_event_interruptible(s->queue, !queue_empty(user));
-    if (ret == 0)
-	ret = put_user(get_queued_event(user), (int __user *)buf) ? -EFAULT : 4;
-
-    return ret;
-} /* ds_read */
-
-/*====================================================================*/
-
-static ssize_t ds_write(struct file *file, const char __user *buf,
-			size_t count, loff_t *ppos)
-{
-    ds_dbg(2, "ds_write(socket %d)\n", iminor(file->f_path.dentry->d_inode));
-
-    if (count != 4)
-	return -EINVAL;
-    if ((file->f_flags & O_ACCMODE) == O_RDONLY)
-	return -EBADF;
-
-    return -EIO;
-} /* ds_write */
-
-/*====================================================================*/
-
-/* No kernel lock - fine */
-static u_int ds_poll(struct file *file, poll_table *wait)
-{
-    struct pcmcia_socket *s;
-    user_info_t *user;
-
-    ds_dbg(2, "ds_poll(socket %d)\n", iminor(file->f_path.dentry->d_inode));
-
-    user = file->private_data;
-    if (CHECK_USER(user))
-	return POLLERR;
-    s = user->socket;
-    /*
-     * We don't check for a dead socket here since that
-     * will send cardmgr into an endless spin.
-     */
-    poll_wait(file, &s->queue, wait);
-    if (!queue_empty(user))
-	return POLLIN | POLLRDNORM;
-    return 0;
-} /* ds_poll */
-
-/*====================================================================*/
-
-extern int pcmcia_adjust_resource_info(adjust_t *adj);
-
-static int ds_ioctl(struct inode * inode, struct file * file,
-		    u_int cmd, u_long arg)
-{
-    struct pcmcia_socket *s;
-    void __user *uarg = (char __user *)arg;
-    u_int size;
-    int ret, err;
-    ds_ioctl_arg_t *buf;
-    user_info_t *user;
-
-    ds_dbg(2, "ds_ioctl(socket %d, %#x, %#lx)\n", iminor(inode), cmd, arg);
-
-    user = file->private_data;
-    if (CHECK_USER(user))
-	return -EIO;
-
-    s = user->socket;
-    if (s->pcmcia_state.dead)
-        return -EIO;
-
-    size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
-    if (size > sizeof(ds_ioctl_arg_t)) return -EINVAL;
-
-    /* Permission check */
-    if (!(cmd & IOC_OUT) && !capable(CAP_SYS_ADMIN))
-	return -EPERM;
-
-    if (cmd & IOC_IN) {
-	if (!access_ok(VERIFY_READ, uarg, size)) {
-	    ds_dbg(3, "ds_ioctl(): verify_read = %d\n", -EFAULT);
-	    return -EFAULT;
-	}
-    }
-    if (cmd & IOC_OUT) {
-	if (!access_ok(VERIFY_WRITE, uarg, size)) {
-	    ds_dbg(3, "ds_ioctl(): verify_write = %d\n", -EFAULT);
-	    return -EFAULT;
-	}
-    }
-    buf = kmalloc(sizeof(ds_ioctl_arg_t), GFP_KERNEL);
-    if (!buf)
-	return -ENOMEM;
-
-    err = ret = 0;
-
-    if (cmd & IOC_IN) {
-	if (__copy_from_user((char *)buf, uarg, size)) {
-	    err = -EFAULT;
-	    goto free_out;
-	}
-    }
-
-    switch (cmd) {
-    case DS_ADJUST_RESOURCE_INFO:
-	ret = pcmcia_adjust_resource_info(&buf->adjust);
-	break;
-    case DS_GET_CONFIGURATION_INFO:
-	if (buf->config.Function &&
-	   (buf->config.Function >= s->functions))
-	    ret = CS_BAD_ARGS;
-	else {
-	    struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->config.Function);
-	    ret = pccard_get_configuration_info(s, p_dev, &buf->config);
-	    pcmcia_put_dev(p_dev);
-	}
-	break;
-    case DS_GET_FIRST_TUPLE:
-	mutex_lock(&s->skt_mutex);
-	pcmcia_validate_mem(s);
-	mutex_unlock(&s->skt_mutex);
-	ret = pccard_get_first_tuple(s, BIND_FN_ALL, &buf->tuple);
-	break;
-    case DS_GET_NEXT_TUPLE:
-	ret = pccard_get_next_tuple(s, BIND_FN_ALL, &buf->tuple);
-	break;
-    case DS_GET_TUPLE_DATA:
-	buf->tuple.TupleData = buf->tuple_parse.data;
-	buf->tuple.TupleDataMax = sizeof(buf->tuple_parse.data);
-	ret = pccard_get_tuple_data(s, &buf->tuple);
-	break;
-    case DS_PARSE_TUPLE:
-	buf->tuple.TupleData = buf->tuple_parse.data;
-	ret = pccard_parse_tuple(&buf->tuple, &buf->tuple_parse.parse);
-	break;
-    case DS_RESET_CARD:
-	ret = pccard_reset_card(s);
-	break;
-    case DS_GET_STATUS:
-	    if (buf->status.Function &&
-		(buf->status.Function >= s->functions))
-		    ret = CS_BAD_ARGS;
-	    else {
-		    struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->status.Function);
-		    ret = pccard_get_status(s, p_dev, &buf->status);
-		    pcmcia_put_dev(p_dev);
-	    }
-	    break;
-    case DS_VALIDATE_CIS:
-	mutex_lock(&s->skt_mutex);
-	pcmcia_validate_mem(s);
-	mutex_unlock(&s->skt_mutex);
-	ret = pccard_validate_cis(s, BIND_FN_ALL, &buf->cisinfo);
-	break;
-    case DS_SUSPEND_CARD:
-	ret = pcmcia_suspend_card(s);
-	break;
-    case DS_RESUME_CARD:
-	ret = pcmcia_resume_card(s);
-	break;
-    case DS_EJECT_CARD:
-	err = pcmcia_eject_card(s);
-	break;
-    case DS_INSERT_CARD:
-	err = pcmcia_insert_card(s);
-	break;
-    case DS_ACCESS_CONFIGURATION_REGISTER:
-	if ((buf->conf_reg.Action == CS_WRITE) && !capable(CAP_SYS_ADMIN)) {
-	    err = -EPERM;
-	    goto free_out;
-	}
-
-	ret = CS_BAD_ARGS;
-
-	if (!(buf->conf_reg.Function &&
-	     (buf->conf_reg.Function >= s->functions))) {
-		struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->conf_reg.Function);
-		if (p_dev) {
-			ret = pcmcia_access_configuration_register(p_dev, &buf->conf_reg);
-			pcmcia_put_dev(p_dev);
-		}
-	}
-	break;
-    case DS_GET_FIRST_REGION:
-    case DS_GET_NEXT_REGION:
-    case DS_BIND_MTD:
-	if (!capable(CAP_SYS_ADMIN)) {
-		err = -EPERM;
-		goto free_out;
-	} else {
-		static int printed = 0;
-		if (!printed) {
-			printk(KERN_WARNING "2.6. kernels use pcmciamtd instead of memory_cs.c and do not require special\n");
-			printk(KERN_WARNING "MTD handling any more.\n");
-			printed++;
-		}
-	}
-	err = -EINVAL;
-	goto free_out;
-	break;
-    case DS_GET_FIRST_WINDOW:
-	ret = pcmcia_get_window(s, &buf->win_info.handle, 0,
-			&buf->win_info.window);
-	break;
-    case DS_GET_NEXT_WINDOW:
-	ret = pcmcia_get_window(s, &buf->win_info.handle,
-			buf->win_info.handle->index + 1, &buf->win_info.window);
-	break;
-    case DS_GET_MEM_PAGE:
-	ret = pcmcia_get_mem_page(buf->win_info.handle,
-			   &buf->win_info.map);
-	break;
-    case DS_REPLACE_CIS:
-	ret = pcmcia_replace_cis(s, &buf->cisdump);
-	break;
-    case DS_BIND_REQUEST:
-	if (!capable(CAP_SYS_ADMIN)) {
-		err = -EPERM;
-		goto free_out;
-	}
-	err = bind_request(s, &buf->bind_info);
-	break;
-    case DS_GET_DEVICE_INFO:
-	err = get_device_info(s, &buf->bind_info, 1);
-	break;
-    case DS_GET_NEXT_DEVICE:
-	err = get_device_info(s, &buf->bind_info, 0);
-	break;
-    case DS_UNBIND_REQUEST:
-	err = 0;
-	break;
-    default:
-	err = -EINVAL;
-    }
-
-    if ((err == 0) && (ret != CS_SUCCESS)) {
-	ds_dbg(2, "ds_ioctl: ret = %d\n", ret);
-	switch (ret) {
-	case CS_BAD_SOCKET: case CS_NO_CARD:
-	    err = -ENODEV; break;
-	case CS_BAD_ARGS: case CS_BAD_ATTRIBUTE: case CS_BAD_IRQ:
-	case CS_BAD_TUPLE:
-	    err = -EINVAL; break;
-	case CS_IN_USE:
-	    err = -EBUSY; break;
-	case CS_OUT_OF_RESOURCE:
-	    err = -ENOSPC; break;
-	case CS_NO_MORE_ITEMS:
-	    err = -ENODATA; break;
-	case CS_UNSUPPORTED_FUNCTION:
-	    err = -ENOSYS; break;
-	default:
-	    err = -EIO; break;
-	}
-    }
-
-    if (cmd & IOC_OUT) {
-        if (__copy_to_user(uarg, (char *)buf, size))
-            err = -EFAULT;
-    }
-
-free_out:
-    kfree(buf);
-    return err;
-} /* ds_ioctl */
-
-/*====================================================================*/
-
-static const struct file_operations ds_fops = {
-	.owner		= THIS_MODULE,
-	.open		= ds_open,
-	.release	= ds_release,
-	.ioctl		= ds_ioctl,
-	.read		= ds_read,
-	.write		= ds_write,
-	.poll		= ds_poll,
-};
-
-void __init pcmcia_setup_ioctl(void) {
-	int i;
-
-	/* Set up character device for user mode clients */
-	i = register_chrdev(0, "pcmcia", &ds_fops);
-	if (i < 0)
-		printk(KERN_NOTICE "unable to find a free device # for "
-		       "Driver Services (error=%d)\n", i);
-	else
-		major_dev = i;
-
-#ifdef CONFIG_PROC_FS
-	proc_pccard = proc_mkdir("pccard", proc_bus);
-	if (proc_pccard)
-		create_proc_read_entry("drivers",0,proc_pccard,proc_read_drivers,NULL);
-#endif
-}
-
-
-void __exit pcmcia_cleanup_ioctl(void) {
-#ifdef CONFIG_PROC_FS
-	if (proc_pccard) {
-		remove_proc_entry("drivers", proc_pccard);
-		remove_proc_entry("pccard", proc_bus);
-	}
-#endif
-	if (major_dev != -1)
-		unregister_chrdev(major_dev, "pcmcia");
-}
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 1d128fb..03f770c 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -198,9 +198,9 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
 EXPORT_SYMBOL(pcmcia_access_configuration_register);
 
 
-int pccard_get_configuration_info(struct pcmcia_socket *s,
-				  struct pcmcia_device *p_dev,
-				  config_info_t *config)
+static int pccard_get_configuration_info(struct pcmcia_socket *s,
+					 struct pcmcia_device *p_dev,
+					 config_info_t *config)
 {
 	config_t *c;
 
@@ -277,6 +277,7 @@ int pcmcia_get_configuration_info(struct pcmcia_device *p_dev,
 EXPORT_SYMBOL(pcmcia_get_configuration_info);
 
 
+#if 0
 /** pcmcia_get_window
  */
 int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle,
@@ -309,6 +310,7 @@ int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle,
 	return CS_SUCCESS;
 } /* pcmcia_get_window */
 EXPORT_SYMBOL(pcmcia_get_window);
+#endif  /*  0  */
 
 
 /** pccard_get_status
@@ -317,8 +319,9 @@ EXPORT_SYMBOL(pcmcia_get_window);
  * SocketState yet: I haven't seen any point for it.
  */
 
-int pccard_get_status(struct pcmcia_socket *s, struct pcmcia_device *p_dev,
-		      cs_status_t *status)
+static int pccard_get_status(struct pcmcia_socket *s,
+			     struct pcmcia_device *p_dev,
+			     cs_status_t *status)
 {
 	config_t *c;
 	int val;
@@ -379,6 +382,7 @@ EXPORT_SYMBOL(pcmcia_get_status);
 
 
 
+#if 0
 /** pcmcia_get_mem_page
  *
  * Change the card address of an already open memory window.
@@ -392,6 +396,7 @@ int pcmcia_get_mem_page(window_handle_t win, memreq_t *req)
 	return CS_SUCCESS;
 } /* pcmcia_get_mem_page */
 EXPORT_SYMBOL(pcmcia_get_mem_page);
+#endif  /*  0  */
 
 
 int pcmcia_map_mem_page(window_handle_t win, memreq_t *req)
diff --git a/drivers/pcmcia/rsrc_mgr.c b/drivers/pcmcia/rsrc_mgr.c
index ce22262..96ea95d 100644
--- a/drivers/pcmcia/rsrc_mgr.c
+++ b/drivers/pcmcia/rsrc_mgr.c
@@ -21,86 +21,6 @@
 #include "cs_internal.h"
 
 
-#ifdef CONFIG_PCMCIA_IOCTL
-
-#ifdef CONFIG_PCMCIA_PROBE
-
-static int adjust_irq(struct pcmcia_socket *s, adjust_t *adj)
-{
-	int irq;
-	u32 mask;
-
-	irq = adj->resource.irq.IRQ;
-	if ((irq < 0) || (irq > 15))
-		return CS_BAD_IRQ;
-
-	if (adj->Action != REMOVE_MANAGED_RESOURCE)
-		return 0;
-
-	mask = 1 << irq;
-
-	if (!(s->irq_mask & mask))
-		return 0;
-
-	s->irq_mask &= ~mask;
-
-	return 0;
-}
-
-#else
-
-static inline int adjust_irq(struct pcmcia_socket *s, adjust_t *adj) {
-	return CS_SUCCESS;
-}
-
-#endif
-
-
-int pcmcia_adjust_resource_info(adjust_t *adj)
-{
-	struct pcmcia_socket *s;
-	int ret = CS_UNSUPPORTED_FUNCTION;
-	unsigned long flags;
-
-	down_read(&pcmcia_socket_list_rwsem);
-	list_for_each_entry(s, &pcmcia_socket_list, socket_list) {
-
-		if (adj->Resource == RES_IRQ)
-			ret = adjust_irq(s, adj);
-
-		else if (s->resource_ops->adjust_resource) {
-
-			/* you can't use the old interface if the new
-			 * one was used before */
-			spin_lock_irqsave(&s->lock, flags);
-			if ((s->resource_setup_new) &&
-			    !(s->resource_setup_old)) {
-				spin_unlock_irqrestore(&s->lock, flags);
-				continue;
-			} else if (!(s->resource_setup_old))
-				s->resource_setup_old = 1;
-			spin_unlock_irqrestore(&s->lock, flags);
-
-			ret = s->resource_ops->adjust_resource(s, adj);
-			if (!ret) {
-				/* as there's no way we know this is the
-				 * last call to adjust_resource_info, we
-				 * always need to assume this is the latest
-				 * one... */
-				spin_lock_irqsave(&s->lock, flags);
-				s->resource_setup_done = 1;
-				spin_unlock_irqrestore(&s->lock, flags);
-			}
-		}
-	}
-	up_read(&pcmcia_socket_list_rwsem);
-
-	return (ret);
-}
-EXPORT_SYMBOL(pcmcia_adjust_resource_info);
-
-#endif
-
 int pcmcia_validate_mem(struct pcmcia_socket *s)
 {
 	if (s->resource_ops->validate_mem)
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index 87a260e..d4007e9 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -376,7 +376,6 @@ int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *co
 int pcmcia_get_first_window(window_handle_t *win, win_req_t *req);
 int pcmcia_get_next_window(window_handle_t *win, win_req_t *req);
 int pcmcia_get_status(struct pcmcia_device *p_dev, cs_status_t *status);
-int pcmcia_get_mem_page(window_handle_t win, memreq_t *req);
 int pcmcia_map_mem_page(window_handle_t win, memreq_t *req);
 int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod);
 int pcmcia_release_window(window_handle_t win);
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index f047a1f..d6e8932 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -16,86 +16,9 @@
 #ifndef _LINUX_DS_H
 #define _LINUX_DS_H
 
-#ifdef __KERNEL__
 #include <linux/mod_devicetable.h>
-#endif
-
-#include <pcmcia/bulkmem.h>
-#include <pcmcia/cs_types.h>
-#include <pcmcia/device_id.h>
-
-typedef struct tuple_parse_t {
-    tuple_t		tuple;
-    cisdata_t		data[255];
-    cisparse_t		parse;
-} tuple_parse_t;
-
-typedef struct win_info_t {
-    window_handle_t	handle;
-    win_req_t		window;
-    memreq_t		map;
-} win_info_t;
-    
-typedef struct bind_info_t {
-    dev_info_t		dev_info;
-    u_char		function;
-    struct pcmcia_device *instance;
-    char		name[DEV_NAME_LEN];
-    u_short		major, minor;
-    void		*next;
-} bind_info_t;
-
-typedef struct mtd_info_t {
-    dev_info_t		dev_info;
-    u_int		Attributes;
-    u_int		CardOffset;
-} mtd_info_t;
-
-typedef union ds_ioctl_arg_t {
-    adjust_t		adjust;
-    config_info_t	config;
-    tuple_t		tuple;
-    tuple_parse_t	tuple_parse;
-    client_req_t	client_req;
-    cs_status_t		status;
-    conf_reg_t		conf_reg;
-    cisinfo_t		cisinfo;
-    region_info_t	region;
-    bind_info_t		bind_info;
-    mtd_info_t		mtd_info;
-    win_info_t		win_info;
-    cisdump_t		cisdump;
-} ds_ioctl_arg_t;
-
-#define DS_ADJUST_RESOURCE_INFO		_IOWR('d', 2, adjust_t)
-#define DS_GET_CONFIGURATION_INFO	_IOWR('d', 3, config_info_t)
-#define DS_GET_FIRST_TUPLE		_IOWR('d', 4, tuple_t)
-#define DS_GET_NEXT_TUPLE		_IOWR('d', 5, tuple_t)
-#define DS_GET_TUPLE_DATA		_IOWR('d', 6, tuple_parse_t)
-#define DS_PARSE_TUPLE			_IOWR('d', 7, tuple_parse_t)
-#define DS_RESET_CARD			_IO  ('d', 8)
-#define DS_GET_STATUS			_IOWR('d', 9, cs_status_t)
-#define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
-#define DS_VALIDATE_CIS			_IOR ('d', 11, cisinfo_t)
-#define DS_SUSPEND_CARD			_IO  ('d', 12)
-#define DS_RESUME_CARD			_IO  ('d', 13)
-#define DS_EJECT_CARD			_IO  ('d', 14)
-#define DS_INSERT_CARD			_IO  ('d', 15)
-#define DS_GET_FIRST_REGION		_IOWR('d', 16, region_info_t)
-#define DS_GET_NEXT_REGION		_IOWR('d', 17, region_info_t)
-#define DS_REPLACE_CIS			_IOWR('d', 18, cisdump_t)
-#define DS_GET_FIRST_WINDOW		_IOR ('d', 19, win_info_t)
-#define DS_GET_NEXT_WINDOW		_IOWR('d', 20, win_info_t)
-#define DS_GET_MEM_PAGE			_IOWR('d', 21, win_info_t)
-
-#define DS_BIND_REQUEST			_IOWR('d', 60, bind_info_t)
-#define DS_GET_DEVICE_INFO		_IOWR('d', 61, bind_info_t) 
-#define DS_GET_NEXT_DEVICE		_IOWR('d', 62, bind_info_t) 
-#define DS_UNBIND_REQUEST		_IOW ('d', 63, bind_info_t)
-#define DS_BIND_MTD			_IOWR('d', 64, mtd_info_t)
-
-#ifdef __KERNEL__
 #include <linux/device.h>
+#include <pcmcia/device_id.h>
 #include <pcmcia/ss.h>
 
 typedef struct dev_node_t {
@@ -187,11 +110,6 @@ struct pcmcia_device {
 	u64			dma_mask;
 	struct device		dev;
 
-#ifdef CONFIG_PCMCIA_IOCTL
-	/* device driver wanted by cardmgr */
-	struct pcmcia_driver *	cardmgr;
-#endif
-
 	/* data private to drivers */
 	void			*priv;
 };
@@ -204,5 +122,4 @@ struct pcmcia_device {
 /* error reporting */
 void cs_error(struct pcmcia_device *handle, int func, int ret);
 
-#endif /* __KERNEL__ */
 #endif /* _LINUX_DS_H */
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index f95dca0..8ca6a4d 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -271,10 +271,6 @@ struct pcmcia_socket {
 	struct work_struct		device_add;	/* for adding further pseudo-multifunction
 							 * devices */
 
-#ifdef CONFIG_PCMCIA_IOCTL
-	struct user_info_t		*user;
-	wait_queue_head_t		queue;
-#endif
 #endif
 
 	/* cardbus (32-bit) */
@@ -289,9 +285,6 @@ struct pcmcia_socket {
 
 };
 
-struct pcmcia_socket * pcmcia_get_socket_by_nr(unsigned int nr);
-
-
 
 extern void pcmcia_parse_events(struct pcmcia_socket *socket, unsigned int events);
 extern int pcmcia_register_socket(struct pcmcia_socket *socket);



From cebbert at redhat.com  Wed Feb 13 19:47:11 2008
From: cebbert at redhat.com (Chuck Ebbert)
Date: Wed, 13 Feb 2008 19:47:11 -0500
Subject: [patch] Fix station address detection in smc
Message-ID: <47B38F8F.6060408@redhat.com>

Megahertz EM1144 PCMCIA ethernet adapter needs special handling
because it has two VERS_1 tuples and the station address is in
the second one. Conversion to generic handling of these fields
broke it. Reverting that fixes the device.

  https://bugzilla.redhat.com/show_bug.cgi?id=233255

Thanks go to Jon Stanley for not giving up on this one until the
problem was found.

Signed-off-by: Chuck Ebbert <cebbert at redhat.com>

---

This was broken for over a year before the problem was found...

--- b/drivers/net/pcmcia/smc91c92_cs.c	Tue Dec 05 06:09:21 2006 +0500
+++ a/drivers/net/pcmcia/smc91c92_cs.c	Tue Dec 05 06:09:20 2006 +0500
@@ -560,8 +560,16 @@

     /* Read the station address from the CIS.  It is stored as the last
        (fourth) string in the Version 1 Version/ID tuple. */
+    tuple->DesiredTuple = CISTPL_VERS_1;
+    if (first_tuple(link, tuple, parse) != CS_SUCCESS) {
+	rc = -1;
+	goto free_cfg_mem;
+    }
+    /* Ugh -- the EM1144 card has two VERS_1 tuples!?! */
+    if (next_tuple(link, tuple, parse) != CS_SUCCESS)
+	first_tuple(link, tuple, parse);
+    if (parse->version_1.ns > 3) {
+	station_addr = parse->version_1.str + parse->version_1.ofs[3];
-    if (link->prod_id[3]) {
-	station_addr = link->prod_id[3];
 	if (cvt_ascii_address(dev, station_addr) == 0) {
 		rc = 0;
 		goto free_cfg_mem;


From xtof at huygens.biz  Thu Feb 14 11:41:41 2008
From: xtof at huygens.biz (Christophe Huygens)
Date: Thu, 14 Feb 2008 17:41:41 +0100
Subject: Cardbus/Yenta/PCI 2.6.22 help
In-Reply-To: <47AF09AD.4000900@chrishowells.co.uk>
References: <47A98361.2090207@huygens.biz>
	<47AF09AD.4000900@chrishowells.co.uk>
Message-ID: <47B46F45.9030500@huygens.biz>

Chris Howells wrote:
> Christophe Huygens wrote:
>
>> I have a problem getting a PCI to Cardbus adapter to work on a dell
>> 1550 server. I have been truying for days to get this going but
>> I cannot figure out what is wrong. As far as I understand, all
>> should be ok in terms ok irqs, and resource windows...
>> This machine has 2G memory and 2 CPUs.
>> Running 2.6.22-14-generic.
>
> Try booting with pci=assign-busses
>
> This "fixed" the problem with a PCI to CardBus on a PowerEdge 1950 for 
> me.
Hi Chris,

I tried that many moons ago... does not help. I have sort of exhausted 
all options
here... I d be willing to give if it did not work with XP, but it does 
so it should
be possible under Linux. This machine has 4 host-PCI bus bridges... I am 
sure
this has something to do with it.


Thanks for ur input
Christophe



-------------- next part --------------
A non-text attachment was scrubbed...
Name: xtof.vcf
Type: text/x-vcard
Size: 253 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080214/afbf9b6a/attachment.vcf 

From jgarzik at pobox.com  Fri Feb 15 10:53:11 2008
From: jgarzik at pobox.com (Jeff Garzik)
Date: Fri, 15 Feb 2008 10:53:11 -0500
Subject: [patch] Fix station address detection in smc
In-Reply-To: <47B38F8F.6060408@redhat.com>
References: <47B38F8F.6060408@redhat.com>
Message-ID: <47B5B567.9060501@pobox.com>

Chuck Ebbert wrote:
> Megahertz EM1144 PCMCIA ethernet adapter needs special handling
> because it has two VERS_1 tuples and the station address is in
> the second one. Conversion to generic handling of these fields
> broke it. Reverting that fixes the device.
> 
>   https://bugzilla.redhat.com/show_bug.cgi?id=233255
> 
> Thanks go to Jon Stanley for not giving up on this one until the
> problem was found.
> 
> Signed-off-by: Chuck Ebbert <cebbert at redhat.com>
> 
> ---
> 
> This was broken for over a year before the problem was found...

applied




From akpm at linux-foundation.org  Mon Feb 18 08:01:33 2008
From: akpm at linux-foundation.org (Andrew Morton)
Date: Mon, 18 Feb 2008 05:01:33 -0800
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
In-Reply-To: <20080213213115.GW3383@cs181133002.pp.htv.fi>
References: <20080213213115.GW3383@cs181133002.pp.htv.fi>
Message-ID: <20080218050133.23454db1.akpm@linux-foundation.org>

On Wed, 13 Feb 2008 23:31:15 +0200 Adrian Bunk <bunk at kernel.org> wrote:

> pcmcia_ioctl.c was scheduled for removal in 2005, and it has a 
> deprecation printk() since 2005 (sic).
> 
> This patch contains the long overdue removal and the cleanups that are 
> now possible.

I've had this in -mm for ages, with a note that Dominik had a problem with
it.  Maybe there are subtleties here, dunno.



From ibarker at aastra.com  Mon Feb 18 15:41:53 2008
From: ibarker at aastra.com (Iain Barker)
Date: Mon, 18 Feb 2008 15:41:53 -0500
Subject: UDMA for Compact Flash over PC Card?
In-Reply-To: <200802112059.52395.steve@snewbury.org.uk>
Message-ID: <6CC18F0C3EFF9D4DAE8286ABB9F4E23D18688D@bosmail.us.aastra.com>


Steven John Newbury wrote:

>Hi Iain, good job! Do you have a patch?  I'm busy with other things at the 
>moment but I'll find some time to try this out.  You managed to get further 
>than I did, I was quit stuck on the lack of IRQ from the drive, the datasheet 
>I was using for reference didn't mention that the interrupt for memory 
>accesses is only generated in memory only mode!


Steven,

The unified diff against generic Linux 2.6.15 is attached.

This is includes Thomas Kleffel's earlier mmio patch plus our interrupt handling changes. There are comments around the significant deltas, hope it makes sense.

For testing, in your architecture-specific io.h or similar
#define ALLOW_MMIO_IDE 1

Also, ensure the following functions support PCI block transfers using your DMA controller:
pci_readsw()
pci_writesw()
If they don't, change the functions in default_hwif_mmiops() to map as appropriate.


regards,
	Iain



-------------- next part --------------
A non-text attachment was scrubbed...
Name: generic.pat
Type: application/octet-stream
Size: 10226 bytes
Desc: generic.pat
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080218/393292e6/attachment.obj 

From rmk+pcmcia at arm.linux.org.uk  Mon Feb 18 16:00:34 2008
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Mon, 18 Feb 2008 21:00:34 +0000
Subject: PCMCIA wireless CDMA card
In-Reply-To: <462301A2.1020003@walsh.ws>
References: <462301A2.1020003@walsh.ws>
Message-ID: <20080218210034.GA23181@flint.arm.linux.org.uk>

On Mon, Apr 16, 2007 at 12:54:58AM -0400, Brian Walsh wrote:
> I have a CDMA wireless card which I am trying to bring up.  However it does
> not seem to be responding properly.  When trying to minicom to the device
> to get an AT response I just get a bunch of garbage in the terminal
> suggesting to me that it is not talking at a valid baud rate.

Right, finally, some news on these cards, thanks should go to Brian
sending me his card (and appologies that I've not looked at it earlier.)
They can be made to work by:

# setserial $SERIAL_DEVICE baud_base 960000

then talk to the card at 230400 and issue standard AT commands.

Alternatively, the patch below sets the UART clock rate automatically.
However, I'm not sure if its worth submitting into the kernel tree or
not - are these cards current technology?

diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index 164d2a4..79ce481 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -161,6 +161,17 @@ static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
 	outb(12, info->c950ctrl + 1);
 }
 
+/*
+ * "CDMA" "CARD_A".  Seems to have a non-standard clock rate of 15.36MHz
+ * and initially communicates at 230400 baud (confirmed by AT+IPR=?). --rmk
+ */
+static void quirk_setup_oxsemi(struct pcmcia_device *link, struct uart_port *port)
+{
+	if (link->prod_id[0] && strcmp(link->prod_id[0], "CDMA") &&
+	    link->prod_id[1] && strcmp(link->prod_id[1], "CARD_A"))
+		port->uartclk = 15360000;
+}
+
 /* request_region? oxsemi branch does no request_region too... */
 /*
  * This sequence is needed to properly initialize MC45 attached to OXCF950.
@@ -233,6 +244,7 @@ static const struct serial_quirk quirks[] = {
 		.prodid	= ~0,
 		.multi	= -1,
 		.wakeup	= quirk_wakeup_oxsemi,
+		.setup	= quirk_setup_oxsemi,
 	}, {
 		.manfid	= MANFID_POSSIO,
 		.prodid	= PRODID_POSSIO_GCC,


-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From rmk+pcmcia at arm.linux.org.uk  Mon Feb 18 16:42:29 2008
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Mon, 18 Feb 2008 21:42:29 +0000
Subject: PCMCIA wireless CDMA card
In-Reply-To: <20080218210034.GA23181@flint.arm.linux.org.uk>
References: <462301A2.1020003@walsh.ws>
	<20080218210034.GA23181@flint.arm.linux.org.uk>
Message-ID: <20080218214229.GA13925@flint.arm.linux.org.uk>

On Mon, Feb 18, 2008 at 09:00:34PM +0000, Russell King wrote:
> On Mon, Apr 16, 2007 at 12:54:58AM -0400, Brian Walsh wrote:
> > I have a CDMA wireless card which I am trying to bring up.  However it does
> > not seem to be responding properly.  When trying to minicom to the device
> > to get an AT response I just get a bunch of garbage in the terminal
> > suggesting to me that it is not talking at a valid baud rate.
> 
> Right, finally, some news on these cards, thanks should go to Brian
> sending me his card (and appologies that I've not looked at it earlier.)
> They can be made to work by:
> 
> # setserial $SERIAL_DEVICE baud_base 960000
> 
> then talk to the card at 230400 and issue standard AT commands.
> 
> Alternatively, the patch below sets the UART clock rate automatically.
> However, I'm not sure if its worth submitting into the kernel tree or
> not - are these cards current technology?

Replacement patch below.

diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index 164d2a4..79ce481 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -161,6 +161,17 @@ static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
 	outb(12, info->c950ctrl + 1);
 }
 
+/*
+ * "CDMA" "CARD_A".  Seems to have a non-standard clock rate of 15.36MHz
+ * and initially communicates at 230400 baud (confirmed by AT+IPR=?). --rmk
+ */
+static void quirk_setup_oxsemi(struct pcmcia_device *link, struct uart_port *port)
+{
+	if (link->prod_id[0] && strcmp(link->prod_id[0], "CDMA") == 0 &&
+	    link->prod_id[1] && strcmp(link->prod_id[1], "CARD_A") == 0)
+		port->uartclk = 15360000;
+}
+
 /* request_region? oxsemi branch does no request_region too... */
 /*
  * This sequence is needed to properly initialize MC45 attached to OXCF950.
@@ -233,6 +244,7 @@ static const struct serial_quirk quirks[] = {
 		.prodid	= ~0,
 		.multi	= -1,
 		.wakeup	= quirk_wakeup_oxsemi,
+		.setup	= quirk_setup_oxsemi,
 	}, {
 		.manfid	= MANFID_POSSIO,
 		.prodid	= PRODID_POSSIO_GCC,

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From stuge-linux-pcmcia at cdy.org  Mon Feb 18 19:35:54 2008
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Tue, 19 Feb 2008 01:35:54 +0100
Subject: PCMCIA wireless CDMA card
In-Reply-To: <20080218210034.GA23181@flint.arm.linux.org.uk>
References: <462301A2.1020003@walsh.ws>
	<20080218210034.GA23181@flint.arm.linux.org.uk>
Message-ID: <20080219003554.27668.qmail@cdy.org>

On Mon, Feb 18, 2008 at 09:00:34PM +0000, Russell King wrote:
> However, I'm not sure if its worth submitting into the kernel tree
> or not - are these cards current technology?

Better working support for old technology than broken.


//Peter


From rmk+pcmcia at arm.linux.org.uk  Tue Feb 19 03:07:05 2008
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Tue, 19 Feb 2008 08:07:05 +0000
Subject: PCMCIA wireless CDMA card
In-Reply-To: <20080219003554.27668.qmail@cdy.org>
References: <462301A2.1020003@walsh.ws>
	<20080218210034.GA23181@flint.arm.linux.org.uk>
	<20080219003554.27668.qmail@cdy.org>
Message-ID: <20080219080705.GA20893@flint.arm.linux.org.uk>

On Tue, Feb 19, 2008 at 01:35:54AM +0100, Peter Stuge wrote:
> On Mon, Feb 18, 2008 at 09:00:34PM +0000, Russell King wrote:
> > However, I'm not sure if its worth submitting into the kernel tree
> > or not - are these cards current technology?
> 
> Better working support for old technology than broken.

Except it's not quite working support - since the rework of the
baud rate setting, the serial layer has been broken due to broken
B0 setting (or rather, setting away from B0) resulting in both DTR
and RTS being left deactivated.  Alan has been informed.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From dhlii at dlasys.net  Thu Feb 21 10:54:12 2008
From: dhlii at dlasys.net (David H. Lynch Jr.)
Date: Thu, 21 Feb 2008 10:54:12 -0500
Subject: Power Cycling cards
Message-ID: <47BD9EA4.4080903@dlasys.net>

    I write the drivers for the picocomputing cards.
    These are similar CF/CardBus/ExpressBus cards that
have and FPGA, and sometimes flash, memory, processor, ethernet,
As an example the E12/E14/E15 can run Linux on the Card.

    My issue is that the whole interface except power and ground is in
the FPGA
firmware - basically it is "soft". In "standalone" applications the
interface, may
just be gpio bits rather than a standard bus.

The proscribed means to "reset"  pico cards is to cycle the power.
Nothing else is guaranteed to work.   When power is cycled the card itself
goes through a fairly detailed process and selects the correct firmware
from its flash
and loads it.

Alright my question is from a linux driver how to I cycle the power on
a  PCMCIA/CardBus
card ?
pci_set_power_state() seems to be used in the suspend resume code of
many PCI cards,
Does that actually do what I want ?
but I also need a solution for PCMCIA.

Also, if I turn the power off,  Linux is going to want to unload the
driver - which might be ok,
but something needs to turn the card back on.

I have searched other drivers but could nto find anything that seemed to
have  a similar need.





-- 
Dave Lynch 					  	    DLA Systems
Software Development:  				         Embedded Linux
717.627.3770 	       dhlii at dlasys.net 	  http://www.dlasys.net
fax: 1.253.369.9244 			           Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.

"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."

Albert Einstein



From rmk+pcmcia at arm.linux.org.uk  Thu Feb 21 11:28:30 2008
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu, 21 Feb 2008 16:28:30 +0000
Subject: Power Cycling cards
In-Reply-To: <47BD9EA4.4080903@dlasys.net>
References: <47BD9EA4.4080903@dlasys.net>
Message-ID: <20080221162830.GA30555@flint.arm.linux.org.uk>

On Thu, Feb 21, 2008 at 10:54:12AM -0500, David H. Lynch Jr. wrote:
> The proscribed means to "reset"  pico cards is to cycle the power.
> Nothing else is guaranteed to work.   When power is cycled the card itself
> goes through a fairly detailed process and selects the correct firmware
> from its flash and loads it.

Sounds very non-standard, so it's going to be very hit and miss whether
it's going to work.

For some PCMCIA interfaces, particularly on hand held devices, this is
impossible.  The best you can do is to tell the PCMCIA layer to eject
them and then insert them.  If the socket supports power control, power
will be removed when "ejected" and reapplied when "inserted".  If the
socket doesn't support power control, power will remain on.

> Alright my question is from a linux driver how to I cycle the power on
> a PCMCIA/CardBus card ?

Bear in mind that "ejecting" a card includes unbinding the drivers from
the card, so you can't do it from your driver.

> I have searched other drivers but could nto find anything that seemed to
> have  a similar need.

That's because you seem to have non-standard requirements.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From bugme-daemon at bugzilla.kernel.org  Mon Feb 25 02:12:31 2008
From: bugme-daemon at bugzilla.kernel.org (bugme-daemon at bugzilla.kernel.org)
Date: Sun, 24 Feb 2008 23:12:31 -0800 (PST)
Subject: [Bug 10077] nozomi (driver for Qualcomm 3G PCMCIA adapter) crashes
In-Reply-To: <bug-10077-4463@http.bugzilla.kernel.org/>
Message-ID: <20080225071231.3CDB6108070@picon.linux-foundation.org>

http://bugzilla.kernel.org/show_bug.cgi?id=10077


akpm at osdl.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greg at kroah.com
         AssignedTo|linux-                      |fseidel at suse.de
                   |pcmcia at lists.infradead.org  |




-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the assignee for the bug, or are watching the assignee.


From bugme-daemon at bugzilla.kernel.org  Sat Feb 23 16:29:06 2008
From: bugme-daemon at bugzilla.kernel.org (bugme-daemon at bugzilla.kernel.org)
Date: Sat, 23 Feb 2008 13:29:06 -0800 (PST)
Subject: [Bug 10077] New: nozomi (driver for Qualcomm 3G PCMCIA adapter)
	crashes
Message-ID: <bug-10077-4463@http.bugzilla.kernel.org/>

http://bugzilla.kernel.org/show_bug.cgi?id=10077

           Summary: nozomi (driver for Qualcomm 3G PCMCIA adapter) crashes
           Product: Drivers
           Version: 2.5
     KernelVersion: 2.6.25-rc2-git6
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: blocking
          Priority: P1
         Component: PCMCIA
        AssignedTo: linux-pcmcia at lists.infradead.org
        ReportedBy: awaria at chopin.edu.pl


Earliest failing kernel version: 2.6.23 with gregkh patches
Distribution: Gentoo Linux
Hardware Environment: Option N.V. Qualcomm MSM6275 UMTS chip [1931:000c]

Problem Description:

When I boot my system with the Option card inserted I get the following in my
syslog:

pccard: CardBus card inserted into slot 0
Initializing Nozomi driver 2.1d (build date: Feb 22 2008 21:34:48)
nozomi 0000:03:00.0: Init, new card found
nozomi 0000:03:00.0: Card type is: 2048
PCI: Enabling device 0000:03:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 18 (level, low) -> IRQ 18
------------[ cut here ]------------
WARNING: at arch/x86/mm/ioremap.c:137 __ioremap+0x1c2/0x1e3()
Modules linked in: nozomi(+) evdev isofs zlib_inflate loop yenta_socket
rsrc_nonstatic pcmcia pcmcia_core firewire_ohci firewire_core crc_itu_t arc4
ecb ohci1394 ieee1394 snd_hda_intel snd_pcm snd_timer snd soundcore sdhci
snd_page_alloc mmc_core tifm_7xx1 hci_usb tifm_core iwl3945 mac80211 bluetooth
cfg80211 tpm_infineon tpm tpm_bios tg3 sg psmouse
Pid: 3480, comm: modprobe Not tainted 2.6.25-rc2-git6 #1
 [<c01249ea>] warn_on_slowpath+0x4e/0x5e
 [<c0258d1d>] ? acpi_pci_allocate_irq+0x65/0x6f
 [<c012a282>] ? __request_region+0x6a/0xa0
 [<c021f549>] ? pci_request_region+0x81/0x21a
 [<c0116619>] __ioremap+0x1c2/0x1e3
 [<c021f82d>] ? pci_request_selected_regions+0x32/0x67
 [<c0116653>] ioremap_nocache+0xa/0xc
 [<f8eb5023>] nozomi_card_init+0x209/0x642 [nozomi]
 [<c0180f8b>] ? find_inode+0x3a/0x64
 [<c01acbc0>] ? sysfs_ilookup_test+0x0/0x11
 [<c01acbc0>] ? sysfs_ilookup_test+0x0/0x11
 [<c0181076>] ? ifind+0x2a/0x88
 [<c01acbc0>] ? sysfs_ilookup_test+0x0/0x11
 [<c01ad12d>] ? sysfs_addrm_finish+0x16/0x1b8
 [<c01aced1>] ? sysfs_add_one+0x3e/0x8f
 [<c01acf6d>] ? sysfs_addrm_start+0x4b/0x87
 [<c022155a>] ? pci_match_device+0xa1/0xa9
 [<c0221622>] pci_device_probe+0x44/0x5f
 [<c0282c04>] driver_probe_device+0x81/0x157
 [<c0282e0d>] __driver_attach+0x8c/0x8e
 [<c02820f8>] bus_for_each_dev+0x41/0x5f
 [<c0282ab3>] driver_attach+0x19/0x1b
 [<c0282d81>] ? __driver_attach+0x0/0x8e
 [<c028297a>] bus_add_driver+0x1a5/0x20b
 [<c022158d>] ? pci_device_remove+0x0/0x3a
 [<c0282f9f>] driver_register+0x3d/0xe9
 [<c01720d3>] ? cdev_add+0x31/0x33
 [<c0374b42>] ? mutex_lock+0xe/0x20
 [<c0171f8c>] ? exact_lock+0x0/0x11
 [<c0221800>] __pci_register_driver+0x35/0x65
 [<f8d160e2>] nozomi_init+0xe2/0x100 [nozomi]
 [<c014493c>] sys_init_module+0x119/0x1bef
 [<c0280b0c>] ? device_remove_file+0x0/0x11
 [<c016fba2>] ? rw_verify_area+0x5a/0xb9
 [<c0170748>] ? sys_read+0x3d/0x64
 [<c0103f1a>] sysenter_past_esp+0x5f/0x85
 =======================
---[ end trace f44e4108df509696 ]---

I also tried removing the module (modprobe -r), loading it again (with the card
still inserted) and then running a perl script that sends some data to the
/dev/noz0 port. Here's what I get in my kernel log then:

Unloading Nozomi driver
pccard: CardBus card inserted into slot 0
Initializing Nozomi driver 2.1d (build date: Feb 22 2008 21:34:48)
nozomi 0000:03:00.0: Init, new card found
nozomi 0000:03:00.0: Card type is: 2048
PCI: Enabling device 0000:03:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 18 (level, low) -> IRQ 18
BUG: unable to handle kernel NULL pointer dereference at 00000008
IP: [<f8eb3c1b>] :nozomi:ntty_write_room+0x5a/0x6e
*pdpt = 0000000030c8e001 *pde = 0000000000000000 
Oops: 0000 [#1] SMP 
Modules linked in: nozomi sit tunnel4 aes_i586 aes_generic tun ipv6 bridge llc
snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_indigoio fuse evdev isofs
zlib_inflate loop yenta_socket rsrc_nonstatic pcmcia pcmcia_core firewire_ohci
firewire_core crc_itu_t arc4 ecb ohci1394 ieee1394 snd_hda_intel snd_pcm
snd_timer snd soundcore sdhci snd_page_alloc mmc_core tifm_7xx1 hci_usb
tifm_core iwl3945 mac80211 bluetooth cfg80211 tpm_infineon tpm tpm_bios tg3 sg
psmouse [last unloaded: nozomi]

Pid: 13425, comm: perl Not tainted (2.6.25-rc2-git6 #1)
EIP: 0060:[<f8eb3c1b>] EFLAGS: 00010202 CPU: 0
EIP is at ntty_write_room+0x5a/0x6e [nozomi]
EAX: 00000000 EBX: f287d060 ECX: 00000000 EDX: 00000001
ESI: 00000000 EDI: f287d09c EBP: f1bf8efc ESP: f1bf8ef0
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process perl (pid: 13425, ti=f1bf8000 task=f1c74e00 task.ti=f1bf8000)
Stack: 0000000f 0000000f f1c33000 f1bf8f38 c026c0e5 f1c33c00 f2358840 f1c33130 
       f1c33c00 f1bf8f38 00000000 f1c74e00 c011d086 f1c33134 f1c33134 0000000f 
       f1c33000 f2358840 f1bf8f6c c0269ac7 0000000f 0000000f 08872980 c026bfeb 
Call Trace:
 [<c026c0e5>] ? write_chan+0xfa/0x304
 [<c011d086>] ? default_wake_function+0x0/0xd
 [<c0269ac7>] ? tty_write+0x11c/0x1a7
 [<c026bfeb>] ? write_chan+0x0/0x304
 [<c01701c2>] ? vfs_write+0x8b/0x11f
 [<c02699ab>] ? tty_write+0x0/0x1a7
 [<c01707ac>] ? sys_write+0x3d/0x64
 [<c0103f1a>] ? sysenter_past_esp+0x5f/0x85
 [<c0370000>] ? init_centaur+0x1a9/0x2e9
 =======================
Code: f5 0e 4c c7 85 c0 74 17 31 f6 8b 43 38 85 c0 75 17 89 f8 e8 d2 0e 4c c7
89 f0 5b 5e 5f 5d c3 31 f6 89 f0 5b 5e 5f 5d c3 8b 43 08 <8b> 50 08 2b 50 0c 8b
70 04 29 d6 89 f8 e8 ad 0e 4c c7 eb d9 55 
EIP: [<f8eb3c1b>] ntty_write_room+0x5a/0x6e [nozomi] SS:ESP 0068:f1bf8ef0
---[ end trace f44e4108df509696 ]---


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


From arvidjaar at mail.ru  Mon Feb 25 03:45:12 2008
From: arvidjaar at mail.ru (Andrey Borzenkov)
Date: Mon, 25 Feb 2008 11:45:12 +0300
Subject: [2.6.25-rc] pcmcia section mismatches
Message-ID: <200802251145.13015.arvidjaar@mail.ru>

During compilation:

  LD [M]  drivers/pcmcia/pcmcia_core.o
WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d4): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket()
The variable pccard_sysfs_interface references
the function __devinit pccard_sysfs_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d8): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket()
The variable pccard_sysfs_interface references
the function __devexit pccard_sysfs_remove_socket()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

  LD [M]  drivers/pcmcia/pcmcia.o
WARNING: drivers/pcmcia/pcmcia.o(.data+0x4c): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket()
The variable pcmcia_bus_interface references
the function __devinit pcmcia_bus_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

and later during modpost:

  MODPOST 260 modules
WARNING: drivers/pcmcia/pcmcia.o(.data+0x4c): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket()
The variable pcmcia_bus_interface references
the function __devinit pcmcia_bus_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d4): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket()
The variable pccard_sysfs_interface references
the function __devinit pccard_sysfs_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d8): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket()
The variable pccard_sysfs_interface references
the function __devexit pccard_sysfs_remove_socket()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: drivers/pcmcia/rsrc_nonstatic.o(.data+0x9c): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc()
The variable pccard_rsrc_interface references
the function __devinit pccard_sysfs_add_rsrc()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: drivers/pcmcia/rsrc_nonstatic.o(.data+0xa0): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc()
The variable pccard_rsrc_interface references
the function __devexit pccard_sysfs_remove_rsrc()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

config attached.
-------------- next part --------------
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25-rc3
# Mon Feb 25 09:46:58 2008
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
# CONFIG_MARKERS is not set
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_CLASSIC_RCU=y
# CONFIG_PREEMPT_RCU is not set

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_SMP is not set
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
CONFIG_MPENTIUMIII=y
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_IOMMU_HELPER is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_RCU_TRACE=y
# CONFIG_X86_UP_APIC is not set
# CONFIG_X86_MCE is not set
CONFIG_VM86=y
CONFIG_TOSHIBA=m
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_X86_PAE is not set
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x100000
# CONFIG_COMPAT_VDSO is not set

#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_SYSFS_POWER=y
# CONFIG_ACPI_PROC_EVENT is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
CONFIG_ACPI_TOSHIBA=m
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_P4_CLOCKMOD is not set
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
CONFIG_PCCARD=m
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
# CONFIG_PCMCIA_IOCTL is not set
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not set
CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=m
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
# CONFIG_IRTTY_SIR is not set

#
# Dongle support
#
# CONFIG_KINGSUN_DONGLE is not set
# CONFIG_KSDAZZLE_DONGLE is not set
# CONFIG_KS959_DONGLE is not set

#
# FIR device drivers
#
# CONFIG_USB_IRDA is not set
# CONFIG_SIGMATEL_FIR is not set
# CONFIG_NSC_FIR is not set
# CONFIG_WINBOND_FIR is not set
# CONFIG_TOSHIBA_FIR is not set
CONFIG_SMC_IRCC_FIR=m
# CONFIG_ALI_FIR is not set
# CONFIG_VLSI_FIR is not set
# CONFIG_VIA_FIR is not set
# CONFIG_MCS_FIR is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=m
# CONFIG_BT_SCO is not set
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
# CONFIG_BT_BNEP_MC_FILTER is not set
# CONFIG_BT_BNEP_PROTO_FILTER is not set
# CONFIG_BT_HIDP is not set

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
# CONFIG_BT_HCIUSB_SCO is not set
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
# CONFIG_BT_HCIBTUART is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y

#
# Wireless
#
CONFIG_CFG80211=m
CONFIG_NL80211=y
CONFIG_WIRELESS_EXT=y
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="\"\""
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=m
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=m
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=32000
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_TC1100_WMI is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=m
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=m

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=m
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_BLK_DEV_IDECS is not set
# CONFIG_BLK_DEV_DELKIN is not set
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=m
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEDMA_SFF=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_AEC62XX is not set
CONFIG_BLK_DEV_ALI15X3=m
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_CS5535 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set

#
# Other IDE chipsets support
#

#
# Note: most of these also require special kernel boot parameters
#
# CONFIG_BLK_DEV_4DRIVES is not set
# CONFIG_BLK_DEV_ALI14XX is not set
# CONFIG_BLK_DEV_DTC2278 is not set
# CONFIG_BLK_DEV_HT6560B is not set
# CONFIG_BLK_DEV_QD65XX is not set
# CONFIG_BLK_DEV_UMC8672 is not set
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDE_ARCH_OBSOLETE_INIT=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
CONFIG_SCSI_ISCSI_ATTRS=m
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_LEGACY is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_QDI is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_WINBOND_VLB is not set
# CONFIG_PATA_PLATFORM is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_RAID5_RESHAPE=y
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_EMC=m
# CONFIG_DM_MULTIPATH_RDAC is not set
# CONFIG_DM_MULTIPATH_HP is not set
# CONFIG_DM_DELAY is not set
CONFIG_DM_UEVENT=y
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
CONFIG_DUMMY=m
CONFIG_BONDING=m
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
CONFIG_VETH=m
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_TULIP is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_CS89x0 is not set
# CONFIG_EEPRO100 is not set
CONFIG_E100=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R6040 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_LIBERTAS is not set
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_HOSTAP is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NET_FC is not set
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
# CONFIG_MOUSE_PS2_ALPS is not set
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
# CONFIG_MOUSE_PS2_SYNAPTICS is not set
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
# CONFIG_MOUSE_PS2_TRACKPOINT is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_INPORT is not set
# CONFIG_MOUSE_LOGIBM is not set
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_WISTRON_BTNS is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_UINPUT=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=m
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_8250_PCI is not set
CONFIG_SERIAL_8250_PNP=m
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=m
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_GEODE is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_NVRAM=m
# CONFIG_RTC is not set
CONFIG_GEN_RTC=m
CONFIG_GEN_RTC_X=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_IPWIRELESS is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELEKTOR is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_STUB=m
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
# CONFIG_I2C_PCA_ISA is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
CONFIG_SENSORS_EEPROM=m
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_TPS65010 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=m
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
CONFIG_SENSORS_LM90=m
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_SBC7240_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set

#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set

#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_AGP=m
CONFIG_AGP_ALI=m
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y
# CONFIG_FB_EFI is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_INTEL is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_CORGI is not set
# CONFIG_BACKLIGHT_PROGEAR is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_VIDEO_SELECT=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m

#
# ISA devices
#
# CONFIG_SND_ADLIB is not set
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_SC6000 is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_MIRO is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
# CONFIG_SND_WAVEFRONT is not set

#
# PCI devices
#
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_ALI5451=m
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_HIFIER is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SIS7019 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=60

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set

#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set

#
# System on Chip audio support
#
# CONFIG_SND_SOC is not set

#
# SoC Audio support for SuperH
#

#
# ALSA SoC audio for Freescale SOCs
#

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=m
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
# CONFIG_USB_HIDDEV is not set

#
# USB HID Boot Protocol drivers
#
CONFIG_USB_KBD=m
CONFIG_USB_MOUSE=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_PERSIST=y
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
# CONFIG_USB_STORAGE_ISD200 is not set
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_KARMA=y
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_MON is not set

#
# USB port drivers
#
CONFIG_USB_SERIAL=m
# CONFIG_USB_EZUSB is not set
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_FUNSOFT is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_DEBUG is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m

#
# Conflicting RTC option has been selected, check GEN_RTC and RTC
#

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
# CONFIG_RTC_INTF_PROC is not set
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=m
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set

#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# Firmware Drivers
#
CONFIG_EDD=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=866
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_SQUASHFS_VMALLOC is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
# CONFIG_SUNRPC_BIND34 is not set
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
CONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
CONFIG_NLS_CODEPAGE_775=m
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
CONFIG_NLS_CODEPAGE_855=m
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
CONFIG_NLS_CODEPAGE_866=m
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
CONFIG_NLS_ISO8859_5=m
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
# CONFIG_EARLY_PRINTK is not set
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_4KSTACKS is not set
CONFIG_DOUBLEFAULT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
CONFIG_IO_DELAY_0XED=y
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_CCM=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_586=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_LZO=m
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20080225/59e37837/attachment-0001.bin 

From sam at ravnborg.org  Mon Feb 25 14:16:01 2008
From: sam at ravnborg.org (Sam Ravnborg)
Date: Mon, 25 Feb 2008 20:16:01 +0100
Subject: [2.6.25-rc] pcmcia section mismatches
In-Reply-To: <200802251145.13015.arvidjaar@mail.ru>
References: <200802251145.13015.arvidjaar@mail.ru>
Message-ID: <20080225191601.GB23161@uranus.ravnborg.org>

On Mon, Feb 25, 2008 at 11:45:12AM +0300, Andrey Borzenkov wrote:
> During compilation:
> 
>   LD [M]  drivers/pcmcia/pcmcia_core.o
> WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d4): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket()
> The variable pccard_sysfs_interface references
> the function __devinit pccard_sysfs_add_socket()
> If the reference is valid then annotate the
> variable with __init* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d8): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket()
> The variable pccard_sysfs_interface references
> the function __devexit pccard_sysfs_remove_socket()
> If the reference is valid then annotate the
> variable with __exit* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
>   LD [M]  drivers/pcmcia/pcmcia.o
> WARNING: drivers/pcmcia/pcmcia.o(.data+0x4c): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket()
> The variable pcmcia_bus_interface references
> the function __devinit pcmcia_bus_add_socket()
> If the reference is valid then annotate the
> variable with __init* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> and later during modpost:
> 
>   MODPOST 260 modules
> WARNING: drivers/pcmcia/pcmcia.o(.data+0x4c): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket()
> The variable pcmcia_bus_interface references
> the function __devinit pcmcia_bus_add_socket()
> If the reference is valid then annotate the
> variable with __init* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d4): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket()
> The variable pccard_sysfs_interface references
> the function __devinit pccard_sysfs_add_socket()
> If the reference is valid then annotate the
> variable with __init* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> WARNING: drivers/pcmcia/pcmcia_core.o(.data+0x1d8): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket()
> The variable pccard_sysfs_interface references
> the function __devexit pccard_sysfs_remove_socket()
> If the reference is valid then annotate the
> variable with __exit* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> WARNING: drivers/pcmcia/rsrc_nonstatic.o(.data+0x9c): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc()
> The variable pccard_rsrc_interface references
> the function __devinit pccard_sysfs_add_rsrc()
> If the reference is valid then annotate the
> variable with __init* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> WARNING: drivers/pcmcia/rsrc_nonstatic.o(.data+0xa0): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc()
> The variable pccard_rsrc_interface references
> the function __devexit pccard_sysfs_remove_rsrc()
> If the reference is valid then annotate the
> variable with __exit* (see linux/init.h) or name the variable:
> *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
> 
> config attached.

Hi Andrey.

I tried your config with my tree patched with all patches I have submitted
for section mismatch warnings and the good news is that there were no warnings.
The patches are queued up mostly in -mm and some will likely only
hit mainline in next merge window. So be paitient a few more months.

	Sam


From sohn9086 at gmail.com  Wed Feb 27 05:29:46 2008
From: sohn9086 at gmail.com (Jeongdo Son)
Date: Wed, 27 Feb 2008 19:29:46 +0900
Subject: 2.6.24 / TI PCI1510 / Oops during insertion a CompactFlash card
Message-ID: <59fd4ce80802270229o5a660d07g77f71aeef6f6995a@mail.gmail.com>

Hi, all.

I got a OOPS message when inserting a CompactFlash card.
The PC Card controller is Texas Instrument PCI1510.

I've searched the linux-pcmcia mailing list archives, but couldn't find a clue.
I'm wondering if this is a known issue.
Also wondering yenta_socket with pata_pcmcia is stable under SuperH
architecture.

----- ver_linux result (for the brief system information) -----
Linux sh7780 2.6.24 #110 PREEMPT Wed Feb 27 17:52:25 JST 2008 sh4a GNU/Linux

Gnu C                  4.1.2
Gnu make               3.81
binutils               2.17
util-linux             2.12r
mount                  2.12r
module-init-tools      3.3-pre2
e2fsprogs              1.40-WIP
pcmciautils            014
Linux C Library        2.3.6
Dynamic linker (ldd)   2.3.6
Procps                 3.2.7
Net-tools              1.60
Kbd                    82:
Sh-utils               5.97
udev                   105
Modules Loaded         pata_pcmcia libata pcmcia yenta_socket rsrc_nonstatic


----- Oops message -----
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0x000000-0x0fffff: excluding 0x000-0xfffff
cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff
cs: memory probe 0xfd000000-0xfd0fffff: excluding
0xfd000000-0xfd00ffff 0xfd020000-0xfd03ffff

pcmcia: registering new device pcmcia0.0
Unable to handle kernel NULL pointer dereference at virtual address 0000020e
pc = 88023482
*pde = 00000000
Oops: 0001 [#1]
Modules linked in: pata_pcmcia libata pcmcia yenta_socket rsrc_nonstatic

Pid : 2106, Comm:             modprobe
PC is at generic_writeb+0x6/0x12
PC  : 88023482 SP  : 8f4a1d60 SR  : 40008001 TEA : c0075004    Not tainted
R0  : 0000020e R1  : 8802347c R2  : 00000000 R3  : 00000200
R4  : 00000002 R5  : 0000020e R6  : 00000000 R7  : 7baa990c
R8  : 8828b090 R9  : 8f481e00 R10 : 8f481e8c R11 : 0000020e
R12 : 8fae3000 R13 : 00000200 R14 : 8f4a1d68
MACH: 00042978 MACL: 00000000 GBR : 29672440 PR  : c0060454

Call trace:
[<c0060454>] pcmcia_init_one+0x380/0x494 [pata_pcmcia]
[<c0056624>] pcmcia_device_probe+0xe8/0x1a8 [pcmcia]
[<8813a458>] driver_probe_device+0x8c/0x130
[<8813a612>] __driver_attach+0x6a/0xc0
[<881395b4>] bus_for_each_dev+0x38/0x70
[<881fdb78>] mutex_unlock+0x0/0x28
[<8813a5a8>] __driver_attach+0x0/0xc0
[<8813a67a>] driver_attach+0x12/0x24
[<88139cdc>] bus_add_driver+0x64/0x1a4
[<8813aada>] driver_register+0x5a/0x78
[<881fdb78>] mutex_unlock+0x0/0x28
[<c00562b0>] pcmcia_register_driver+0xb0/0x11c [pcmcia]
[<c0056200>] pcmcia_register_driver+0x0/0x11c [pcmcia]
[<c006400c>] pcmcia_init+0xc/0x1c [pata_pcmcia]
[<881fdb78>] mutex_unlock+0x0/0x28
[<880530be>] sys_init_module+0x1126/0x11b8
[<88027280>] syscall_call+0xc/0x10
[<88051f98>] sys_init_module+0x0/0x11b8

Process: modprobe (pid: 2106, stack limit = 8f4a0001)
Stack: (0x8f4a1d60 to 0x8f4a2000)
1d60: c0060454 8f4a1d68 00000000 8f4a1d1b 00000110 00000000 00000065 ff00061b
1d80: 8f801206 8fae3000 00000000 fffffff4 0000020e 00000200 8ece0a60 00009690
1da0: 00042000 2967241a 00000110 00000000 00000040 ff00051a 8825ff05 c0056624
1dc0: 8f4a1ddc c005e684 8f481e8c 00000001 8f481e00 c006264c 8f481e40 00000003
1de0: 00000200 0000000f 00000000 00000000 00000000 8f481f00 8813a458 8f4a1e18
1e00: 000000bc 882d4f9c c0062664 8f481f08 00000000 8f481e8c 8813a612 8f4a1e38
1e20: 000000a4 c0062664 8f481ecc 00000001 8f481e8c 8f481f30 881395b4 8f4a1e58
1e40: 881fdb78 000000bc c005e2e0 c0062664 8813a5a8 00000000 c005e378 c005e378
1e60: 8f481ed4 8813a67a 8f4a1e78 c006266c c0062664 00000000 88139cdc 8f4a1e80
1e80: 8813aada 8f4a1ea0 881fdb78 00000004 c0062618 c006264c c00625f4 c0062664
1ea0: c00562b0 8f4a1eac c0062664 c0056200 c006400c 8f4a1ecc 881fdb78 00000021
1ec0: c0062820 c00628dc 00000021 880530be 8f4a1ed4 c005e520 00000000 8f4a1efc
1ee0: 00000000 00419260 00000000 c0077000 c0094042 8faeb360 c00a0f58 0000001f
1f00: 00000020 00000000 00000000 00000000 0000000b 00000000 00000007 00000000
1f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1f40: 000000a0 000000a0 00000000 00000000 00000000 00000000 00000000 00000021
1f60: c0077030 00000174 00000028 c0077030 c0077030 c0077030 00000528 c006134a
1f80: 88027280 7b862a6c 00419218 00402cc0 ffffff0f 00000001 8f4a1ff8 88051f98
1fa0: 00000000 00400e84 7b862a08 00000080 29674000 0002a708 00419260 00419260
1fc0: 00000000 00405d7c 00000000 004186d0 00402cc0 00419218 7b862a6c 7b862a6c
1fe0: 2960ffc6 00403b8c 00008001 29672440 00000100 074c5077 00000054 00000160
---[ end trace d95de432fa60dd7c ]---

----- lspci -----
00:00.0 PCI bridge: Texas Instruments PCI2050 PCI-to-PCI Bridge (rev
02) (prog-if 00 [Normal decode])
        Flags: bus master, medium devsel, latency 64
        Bus: primary=00, secondary=01, subordinate=05, sec-latency=64
        I/O behind bridge: fe200000-fe200fff
        Memory behind bridge: fd000000-fd0fffff
        Prefetchable memory behind bridge: 0000000000000000-00000000000fffff
        Capabilities: [dc] Power Management version 1

00:08.0 FireWire (IEEE 1394): NEC Corporation Unknown device 01f2 (rev
01) (prog-if 10 [OHCI])
        Subsystem: NEC Corporation Unknown device 00f2
        Flags: bus master, medium devsel, latency 128, IRQ 65
        Memory at fd100000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [60] Power Management version 2

01:0f.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
        Flags: bus master, medium devsel, latency 168, IRQ 68
        Memory at fd000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=02, subordinate=05, sec-latency=176
        Memory window 1: fd020000-fd03f000
        I/O window 0: 00000000-000001ff
        I/O window 1: 00000400-000005ff
        16-bit legacy interface ports at 0001

Thanks in advance for any information.
Jeongdo Son


From bunk at kernel.org  Wed Feb 27 13:13:03 2008
From: bunk at kernel.org (Adrian Bunk)
Date: Wed, 27 Feb 2008 20:13:03 +0200
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
In-Reply-To: <20080218050133.23454db1.akpm@linux-foundation.org>
References: <20080213213115.GW3383@cs181133002.pp.htv.fi>
	<20080218050133.23454db1.akpm@linux-foundation.org>
Message-ID: <20080227181303.GB29269@cs181133002.pp.htv.fi>

On Mon, Feb 18, 2008 at 05:01:33AM -0800, Andrew Morton wrote:
> On Wed, 13 Feb 2008 23:31:15 +0200 Adrian Bunk <bunk at kernel.org> wrote:
> 
> > pcmcia_ioctl.c was scheduled for removal in 2005, and it has a 
> > deprecation printk() since 2005 (sic).
> > 
> > This patch contains the long overdue removal and the cleanups that are 
> > now possible.
> 
> I've had this in -mm for ages, with a note that Dominik had a problem with
> it.  Maybe there are subtleties here, dunno.

This removal has bells and whistles and printk() since 2005...

Dominik, what exactly is the problem why we can't remove it now?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



From rmk+lkml at arm.linux.org.uk  Wed Feb 27 15:44:07 2008
From: rmk+lkml at arm.linux.org.uk (Russell King)
Date: Wed, 27 Feb 2008 20:44:07 +0000
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
In-Reply-To: <20080227181303.GB29269@cs181133002.pp.htv.fi>
References: <20080213213115.GW3383@cs181133002.pp.htv.fi>
	<20080218050133.23454db1.akpm@linux-foundation.org>
	<20080227181303.GB29269@cs181133002.pp.htv.fi>
Message-ID: <20080227204407.GA10455@flint.arm.linux.org.uk>

On Wed, Feb 27, 2008 at 08:13:03PM +0200, Adrian Bunk wrote:
> On Mon, Feb 18, 2008 at 05:01:33AM -0800, Andrew Morton wrote:
> > On Wed, 13 Feb 2008 23:31:15 +0200 Adrian Bunk <bunk at kernel.org> wrote:
> > 
> > > pcmcia_ioctl.c was scheduled for removal in 2005, and it has a 
> > > deprecation printk() since 2005 (sic).
> > > 
> > > This patch contains the long overdue removal and the cleanups that are 
> > > now possible.
> > 
> > I've had this in -mm for ages, with a note that Dominik had a problem with
> > it.  Maybe there are subtleties here, dunno.
> 
> This removal has bells and whistles and printk() since 2005...
> 
> Dominik, what exactly is the problem why we can't remove it now?

I've objected to it in the past because one of the machines I use
every week requires the ioctls to be able to work - the rootfs is on
a CF card and it uses an initrd to work out - at run time - whether
it's supposed to be running off the CF card or some other internal
memory.

Unfortunately, the project closed down, and I didn't have a chance
(nor the bandwidth) to take a copy of the CVS, which means I've *NO*
possibility to rebuild userspace - which effectively means I can't
change it.

Therefore, removal of the PCMCIA ioctls effectively bars me from
upgrading the kernel on this platform.

There are also other desktop GUI controls which talk to the kernel
PCMCIA subsystem via ioctls - which fall into the same "I can't fix
them" category - some of which are already broken through the removal
of the PCMCIA version reporting IOCTL.  Eg, it now thinks there's
always a wireless card plugged in.

TBH I've given up trying to fight this continue "lets remove these
IOCTLs which no one uses" crap.  Obviously, _I_ use them.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From stuge-linux-pcmcia at cdy.org  Wed Feb 27 19:24:57 2008
From: stuge-linux-pcmcia at cdy.org (Peter Stuge)
Date: Thu, 28 Feb 2008 01:24:57 +0100
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
In-Reply-To: <20080227204407.GA10455@flint.arm.linux.org.uk>
References: <20080213213115.GW3383@cs181133002.pp.htv.fi>
	<20080218050133.23454db1.akpm@linux-foundation.org>
	<20080227181303.GB29269@cs181133002.pp.htv.fi>
	<20080227204407.GA10455@flint.arm.linux.org.uk>
Message-ID: <20080228002457.30489.qmail@cdy.org>

(Really cross-post like this?)

On Wed, Feb 27, 2008 at 08:44:07PM +0000, Russell King wrote:
> TBH I've given up trying to fight this continue "lets remove these
> IOCTLs which no one uses" crap.  Obviously, _I_ use them.

I suppose critical mass or other powers that be have decided they
aren't good enough. If your userspace will never change, settling
on a kernel as well shouldn't be too big a deal.

Closed source sure sucks.


//Peter


From rmk+lkml at arm.linux.org.uk  Thu Feb 28 04:15:36 2008
From: rmk+lkml at arm.linux.org.uk (Russell King)
Date: Thu, 28 Feb 2008 09:15:36 +0000
Subject: [2.6 patch] the long overdue pcmcia_ioctl.c removal
In-Reply-To: <20080228002457.30489.qmail@cdy.org>
References: <20080213213115.GW3383@cs181133002.pp.htv.fi>
	<20080218050133.23454db1.akpm@linux-foundation.org>
	<20080227181303.GB29269@cs181133002.pp.htv.fi>
	<20080227204407.GA10455@flint.arm.linux.org.uk>
	<20080228002457.30489.qmail@cdy.org>
Message-ID: <20080228091536.GA23304@flint.arm.linux.org.uk>

On Thu, Feb 28, 2008 at 01:24:57AM +0100, Peter Stuge wrote:
> (Really cross-post like this?)
> 
> On Wed, Feb 27, 2008 at 08:44:07PM +0000, Russell King wrote:
> > TBH I've given up trying to fight this continue "lets remove these
> > IOCTLs which no one uses" crap.  Obviously, _I_ use them.
> 
> I suppose critical mass or other powers that be have decided they
> aren't good enough. If your userspace will never change, settling
> on a kernel as well shouldn't be too big a deal.
> 
> Closed source sure sucks.

It's not closed source, but a case of "the machine with the CVS on was
taken down a couple of months after the project ended".

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:


From kristoffer.ericson at gmail.com  Thu Feb 28 19:01:42 2008
From: kristoffer.ericson at gmail.com (Kristoffer Ericson)
Date: Thu, 28 Feb 2008 16:01:42 -0800
Subject: 2.6.24 / TI PCI1510 / Oops during insertion a CompactFlash card
In-Reply-To: <59fd4ce80802270229o5a660d07g77f71aeef6f6995a@mail.gmail.com>
References: <59fd4ce80802270229o5a660d07g77f71aeef6f6995a@mail.gmail.com>
Message-ID: <20080228160142.2fb5e416.Kristoffer.Ericson@Gmail.com>


That looks alot like my issue with pcmcia. You most likely need to set base iomap.


On Wed, 27 Feb 2008 19:29:46 +0900
"Jeongdo Son" <sohn9086 at gmail.com> wrote:

> Hi, all.
> 
> I got a OOPS message when inserting a CompactFlash card.
> The PC Card controller is Texas Instrument PCI1510.
> 
> I've searched the linux-pcmcia mailing list archives, but couldn't find a clue.
> I'm wondering if this is a known issue.
> Also wondering yenta_socket with pata_pcmcia is stable under SuperH
> architecture.
> 
> ----- ver_linux result (for the brief system information) -----
> Linux sh7780 2.6.24 #110 PREEMPT Wed Feb 27 17:52:25 JST 2008 sh4a GNU/Linux
> 
> Gnu C                  4.1.2
> Gnu make               3.81
> binutils               2.17
> util-linux             2.12r
> mount                  2.12r
> module-init-tools      3.3-pre2
> e2fsprogs              1.40-WIP
> pcmciautils            014
> Linux C Library        2.3.6
> Dynamic linker (ldd)   2.3.6
> Procps                 3.2.7
> Net-tools              1.60
> Kbd                    82:
> Sh-utils               5.97
> udev                   105
> Modules Loaded         pata_pcmcia libata pcmcia yenta_socket rsrc_nonstatic
> 
> 
> ----- Oops message -----
> pccard: PCMCIA card inserted into slot 0
> cs: memory probe 0x000000-0x0fffff: excluding 0x000-0xfffff
> cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
> cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff
> cs: memory probe 0xfd000000-0xfd0fffff: excluding
> 0xfd000000-0xfd00ffff 0xfd020000-0xfd03ffff
> 
> pcmcia: registering new device pcmcia0.0
> Unable to handle kernel NULL pointer dereference at virtual address 0000020e
> pc = 88023482
> *pde = 00000000
> Oops: 0001 [#1]
> Modules linked in: pata_pcmcia libata pcmcia yenta_socket rsrc_nonstatic
> 
> Pid : 2106, Comm:             modprobe
> PC is at generic_writeb+0x6/0x12
> PC  : 88023482 SP  : 8f4a1d60 SR  : 40008001 TEA : c0075004    Not tainted
> R0  : 0000020e R1  : 8802347c R2  : 00000000 R3  : 00000200
> R4  : 00000002 R5  : 0000020e R6  : 00000000 R7  : 7baa990c
> R8  : 8828b090 R9  : 8f481e00 R10 : 8f481e8c R11 : 0000020e
> R12 : 8fae3000 R13 : 00000200 R14 : 8f4a1d68
> MACH: 00042978 MACL: 00000000 GBR : 29672440 PR  : c0060454
> 
> Call trace:
> [<c0060454>] pcmcia_init_one+0x380/0x494 [pata_pcmcia]
> [<c0056624>] pcmcia_device_probe+0xe8/0x1a8 [pcmcia]
> [<8813a458>] driver_probe_device+0x8c/0x130
> [<8813a612>] __driver_attach+0x6a/0xc0
> [<881395b4>] bus_for_each_dev+0x38/0x70
> [<881fdb78>] mutex_unlock+0x0/0x28
> [<8813a5a8>] __driver_attach+0x0/0xc0
> [<8813a67a>] driver_attach+0x12/0x24
> [<88139cdc>] bus_add_driver+0x64/0x1a4
> [<8813aada>] driver_register+0x5a/0x78
> [<881fdb78>] mutex_unlock+0x0/0x28
> [<c00562b0>] pcmcia_register_driver+0xb0/0x11c [pcmcia]
> [<c0056200>] pcmcia_register_driver+0x0/0x11c [pcmcia]
> [<c006400c>] pcmcia_init+0xc/0x1c [pata_pcmcia]
> [<881fdb78>] mutex_unlock+0x0/0x28
> [<880530be>] sys_init_module+0x1126/0x11b8
> [<88027280>] syscall_call+0xc/0x10
> [<88051f98>] sys_init_module+0x0/0x11b8
> 
> Process: modprobe (pid: 2106, stack limit = 8f4a0001)
> Stack: (0x8f4a1d60 to 0x8f4a2000)
> 1d60: c0060454 8f4a1d68 00000000 8f4a1d1b 00000110 00000000 00000065 ff00061b
> 1d80: 8f801206 8fae3000 00000000 fffffff4 0000020e 00000200 8ece0a60 00009690
> 1da0: 00042000 2967241a 00000110 00000000 00000040 ff00051a 8825ff05 c0056624
> 1dc0: 8f4a1ddc c005e684 8f481e8c 00000001 8f481e00 c006264c 8f481e40 00000003
> 1de0: 00000200 0000000f 00000000 00000000 00000000 8f481f00 8813a458 8f4a1e18
> 1e00: 000000bc 882d4f9c c0062664 8f481f08 00000000 8f481e8c 8813a612 8f4a1e38
> 1e20: 000000a4 c0062664 8f481ecc 00000001 8f481e8c 8f481f30 881395b4 8f4a1e58
> 1e40: 881fdb78 000000bc c005e2e0 c0062664 8813a5a8 00000000 c005e378 c005e378
> 1e60: 8f481ed4 8813a67a 8f4a1e78 c006266c c0062664 00000000 88139cdc 8f4a1e80
> 1e80: 8813aada 8f4a1ea0 881fdb78 00000004 c0062618 c006264c c00625f4 c0062664
> 1ea0: c00562b0 8f4a1eac c0062664 c0056200 c006400c 8f4a1ecc 881fdb78 00000021
> 1ec0: c0062820 c00628dc 00000021 880530be 8f4a1ed4 c005e520 00000000 8f4a1efc
> 1ee0: 00000000 00419260 00000000 c0077000 c0094042 8faeb360 c00a0f58 0000001f
> 1f00: 00000020 00000000 00000000 00000000 0000000b 00000000 00000007 00000000
> 1f20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 1f40: 000000a0 000000a0 00000000 00000000 00000000 00000000 00000000 00000021
> 1f60: c0077030 00000174 00000028 c0077030 c0077030 c0077030 00000528 c006134a
> 1f80: 88027280 7b862a6c 00419218 00402cc0 ffffff0f 00000001 8f4a1ff8 88051f98
> 1fa0: 00000000 00400e84 7b862a08 00000080 29674000 0002a708 00419260 00419260
> 1fc0: 00000000 00405d7c 00000000 004186d0 00402cc0 00419218 7b862a6c 7b862a6c
> 1fe0: 2960ffc6 00403b8c 00008001 29672440 00000100 074c5077 00000054 00000160
> ---[ end trace d95de432fa60dd7c ]---
> 
> ----- lspci -----
> 00:00.0 PCI bridge: Texas Instruments PCI2050 PCI-to-PCI Bridge (rev
> 02) (prog-if 00 [Normal decode])
>         Flags: bus master, medium devsel, latency 64
>         Bus: primary=00, secondary=01, subordinate=05, sec-latency=64
>         I/O behind bridge: fe200000-fe200fff
>         Memory behind bridge: fd000000-fd0fffff
>         Prefetchable memory behind bridge: 0000000000000000-00000000000fffff
>         Capabilities: [dc] Power Management version 1
> 
> 00:08.0 FireWire (IEEE 1394): NEC Corporation Unknown device 01f2 (rev
> 01) (prog-if 10 [OHCI])
>         Subsystem: NEC Corporation Unknown device 00f2
>         Flags: bus master, medium devsel, latency 128, IRQ 65
>         Memory at fd100000 (32-bit, non-prefetchable) [size=4K]
>         Capabilities: [60] Power Management version 2
> 
> 01:0f.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
>         Flags: bus master, medium devsel, latency 168, IRQ 68
>         Memory at fd000000 (32-bit, non-prefetchable) [size=4K]
>         Bus: primary=01, secondary=02, subordinate=05, sec-latency=176
>         Memory window 1: fd020000-fd03f000
>         I/O window 0: 00000000-000001ff
>         I/O window 1: 00000400-000005ff
>         16-bit legacy interface ports at 0001
> 
> Thanks in advance for any information.
> Jeongdo Son
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia


-- 
Kristoffer Ericson <Kristoffer.Ericson at Gmail.com>


