From itzhak.benakiva at guardit-tech.com  Thu Sep  1 04:19:33 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Thu Sep  1 04:50:15 2005
Subject: PCI Bus Card Problems
Message-ID: <1125562773.2742.36.camel@hexa0xfb>

Hi all,

I'm writing again because I have been working on a problem with
cardbus/pcmcia, which is used to connect a Bluetooth pcmcia card (Anycom
Blue CF - 300), on ARM Integrator/AP for quite some time without any
success so far. I have searched the web up and down and I tried anything
I could found on the subject of PCI interrupt probing failure, but still
no success. I couldn't find any information on incompatibility of my pci
bus card and ARM platform. Because of that, I tried two different pci
bus cards that work properly on linux-x86, but they did not work on ARM.
Therefore, either I'm missing something in the kernel's configuration
for ARM or there is a problem with pcmcia on ARM Integrator. However, I
haven't found any information on this in the web. 

The message I always get is:

PCI: enabling device 0000:00:0c.0 (0140 -> 0143)
Yenta: CardBus bridge found at 0000:00:0c.0 [0000:0000]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:0c.0, mfunc 0x00001c02, devctl 0x62
Yenta TI: socket 0000:00:0c.0 probing PCI interrupt failed, trying to
fix
Yenta TI: socket 0000:00:0c.0 no PCI interrupts. Fish. Please report.
Yenta: no PCI IRQ, CardBus support disabled for this socket.
Yenta: check your BIOS CardBus, BIOS IRQ or ACPI settings.
Yenta: ISA IRQ mask 0x0000, PCI irq 0
Socket status: ffffffff
pcmcia: parent PCI bridge Memory window: 0x40000000 - 0x4fffffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x5fffffff

The PCI Bus Card I'm using is:

PCI Bus Card Drive: PCI-IF1/C (32Bit)

        Comply with PCI power management 
      * Comply with ACPI 
      * 1 rear slot, access from rear of PC
      * Accept Type I/II/III Cards (SRAM card, Linear Flash card, ATA
        card, Fax/Modem card and LAN card.) 
      * Comply with PCI Local Bus Specification Rev.2.2 
      * Comply with 1995 PC Card ( CardBus) Standard 
      * ExCa compatible Registers are mapped in Memory 
      * Use T/I 1410 PCMCIA controller 
      * Support PC Card with Hot Insertion and Removal
      * Mix and Match 5V/3.3V PC Card 16/32 bit Cards
      * Support Burst Transfers to Maximize Data Throughput on both PCI
        Buses
      * Supports Distributed DMA and PC/PCI DMA 
      * Support Windows 98/2000/Me/XP
      * Support Linux OS

I'm working on kernel 2.6.13 and the kernel's configuration is:

#
# Kernel Options
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#Yenta TI: socket 0000:00:0c.0 probing PCI interrupt failed, trying to
fix
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION="-git2"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_KALLSYMS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_BASE_SMALL=0
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_KMOD=y
#
# System Type
#
CONFIG_ARCH_INTEGRATOR=y
#
# Integrator Options
#
CONFIG_ARCH_INTEGRATOR_AP=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_ABRT_LV4T=y
CONFIG_CPU_CACHE_V4=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WT=y
CONFIG_CPU_TLB_V4WBI=y
#
# Processor Features
#
CONFIG_ARM_THUMB=y
CONFIG_ICST525=y
#
# Bus support
#
CONFIG_ARM_AMBA=y
CONFIG_ISA_DMA_API=y
CONFIG_PCI=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
# CONFIG_PCI_DEBUG is not set
#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
# CONFIG_PCMCIA_IOCTL is not set
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=m
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_TCIC is not set
CONFIG_PCCARD_NONSTATIC=m
#
# Kernel Features
#
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="console=ttyAM0,38400n8 mem=126M rw nohalt root=/dev/nfs
ip=10.0.0.11:10.0.0.2::::eth0:off
nfsroot=10.0.0.2:/target_2.6.13,nolock"

#
# 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 is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_INTEGRATOR=y

#
# Floating point emulation
#
CONFIG_FPE_NWFPE=yYenta TI: socket 0000:00:0c.0 probing PCI interrupt
failed, trying to
fix

#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
#
# Power management options
#
CONFIG_PM=y
# CONFIG_APM is not set

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
CONFIG_TCP_CONG_ADVANCED=y

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
CONFIG_BT=y
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=m
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=m
CONFIG_BT_BNEP_PROTO_FILTER=m
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=m
CONFIG_BT_HCIUART_BCSP=m
CONFIG_BT_HCIUART_BCSP_TXCRC=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m

#
# Device Drivers
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_AFS_PARTS=y

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_UTIL=y
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_EDB7312 is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
#
# Block devices
#
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_NET_PCI=y
CONFIG_EEPRO100=y
#
# Wan interfaces
#
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=y
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_LIBPS2=y
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_AMBA_PL010=y
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
# CONFIG_SERIAL_AMBA_PL011 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_MULTIHEAD=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_FS_POSIX_ACL=y
#
# XFS support
#
CONFIG_ROMFS_FS=y
CONFIG_INOTIFY=y
CONFIG_DNOTIFY=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
#
# Kernel hacking#
# At least one emulation must be selected
#
#
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_DES=y
#
# Library routines
#
CONFIG_CRC_CCITT=y
CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m

I would appreciate any hint that could help me solve this problem.


From rmk+pcmcia at arm.linux.org.uk  Thu Sep  1 04:55:08 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep  1 04:56:03 2005
Subject: Bug#321419: linux-image-2.6.12-1-686: irq11 makes eth0 problems
	(Was: Re: Bug#303550: kernel-image-2.6.11-1-686: irq11 makes
	eth0 problems)
In-Reply-To: <20050831201259.GA6925@ile>;
	from buffalo.phil@free.fr on Wed, Aug 31, 2005 at 10:12:59PM +0200
References: <E1DJVpI-0004i7-Lw@ile> <200504132346.53596.daniel.ritz@gmx.ch>
	<20050816204742.GA11800@ile>
	<200508170226.18348.daniel.ritz@gmx.ch> <20050831201259.GA6925@ile>
Message-ID: <20050901095508.A22540@flint.arm.linux.org.uk>

On Wed, Aug 31, 2005 at 10:12:59PM +0200, Philippe Bourcier wrote:
> > if the patch doesn't help please give me the output of cbdump and cardctl
> > ident when the card is inserted and all drivers are loaded.
> 
> i got http://pcmcia.arm.linux.org.uk/progs/cbdump.c
> 
> $ cbdump
> pcilib: sysfs_read: tried to read 4 bytes at 128, but got only 0

Re-run it as root.  It needs to access registers which are only available
to root.

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

From rmk+pcmcia at arm.linux.org.uk  Thu Sep  1 05:02:25 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep  1 05:04:42 2005
Subject: PCI Bus Card Problems
In-Reply-To: <1125562773.2742.36.camel@hexa0xfb>;
	from itzhak.benakiva@guardit-tech.com on Thu, Sep 01, 2005 at
	11:19:33AM +0300
References: <1125562773.2742.36.camel@hexa0xfb>
Message-ID: <20050901100225.B22540@flint.arm.linux.org.uk>

On Thu, Sep 01, 2005 at 11:19:33AM +0300, Itzhak Ben-Akiva wrote:
> I'm writing again because I have been working on a problem with
> cardbus/pcmcia, which is used to connect a Bluetooth pcmcia card (Anycom
> Blue CF - 300), on ARM Integrator/AP for quite some time without any
> success so far. I have searched the web up and down and I tried anything
> I could found on the subject of PCI interrupt probing failure, but still
> no success. I couldn't find any information on incompatibility of my pci
> bus card and ARM platform. Because of that, I tried two different pci
> bus cards that work properly on linux-x86, but they did not work on ARM.
> Therefore, either I'm missing something in the kernel's configuration
> for ARM or there is a problem with pcmcia on ARM Integrator. However, I
> haven't found any information on this in the web. 

I never finished my fixing of yenta to be architecture independent
since I took on the role of PCMCIA maintainer (which I've subsequently
dropped and virtually completely stopped working on PCMCIA.)  Hence,
the fixes never got completed and merged.

The problem is that yenta itself does resource allocation for the
bridge, and makes assumptions that there's a 1:1 mapping between
resources and PCI BARs.  This is not true on some platforms such
as the one you're using.

Since ARM uses the generic PCI subsystem setup code, I was able to
just #if 0...#endif out all the x86 specific code in yenta and have
it work... IOW something like this:

diff -u linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c linux/drivers/pcmcia/yenta_socket.c
--- linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c	Sun Mar 23 11:57:21 2003
+++ linux/drivers/pcmcia/yenta_socket.c	Fri Mar 28 23:17:12 2003
@@ -524,6 +524,7 @@
 	return 0;
 }
 
+#if 0
 /*
  * Use an adaptive allocation for the memory resource,
  * sometimes the memory behind pci bridges is limited:
@@ -698,6 +699,7 @@
 		res->start = res->end = 0;
 	}
 }
+#endif
 
 
 /*
@@ -721,8 +723,9 @@
 
 	if (sock->base)
 		iounmap(sock->base);
+#if 0
 	yenta_free_resources(sock);
-
+#endif
 	pci_release_regions(dev);
 	pci_disable_device(dev);
 	pci_set_drvdata(dev, NULL);
@@ -940,6 +943,7 @@
 	pci_set_power_state(socket->dev, 0);
 
 	config_writel(socket, CB_LEGACY_MODE_BASE, 0);
+#if 0
 	config_writel(socket, PCI_BASE_ADDRESS_0, dev->resource[0].start);
 	config_writew(socket, PCI_COMMAND,
 			PCI_COMMAND_IO |
@@ -955,6 +959,7 @@
 		(dev->subordinate->subordinate << 16) | /* subordinate bus */
 		(dev->subordinate->secondary << 8) |  /* secondary bus */
 		dev->subordinate->primary);		   /* primary bus */
+#endif
 
 	/*
 	 * Set up the bridging state:
@@ -1037,9 +1042,14 @@
 	/* Disable all events */
 	cb_writel(socket, CB_SOCKET_MASK, 0x0);
 
+#if 0
 	/* Set up the bridge regions.. */
 	yenta_allocate_resources(socket);
+#endif
 
+	pci_set_master(dev);
+	/* FIXME: should we also pci_set_mwi(dev); ? */
+
 	socket->cb_irq = dev->irq;
 
 	/* Do we have special options for the device? */


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

From linux at dominikbrodowski.net  Thu Sep  1 05:15:42 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep  1 05:16:13 2005
Subject: PCI Bus Card Problems
In-Reply-To: <20050901100225.B22540@flint.arm.linux.org.uk>
References: <1125562773.2742.36.camel@hexa0xfb>
	<20050901100225.B22540@flint.arm.linux.org.uk>
Message-ID: <20050901091542.GE6285@isilmar.linta.de>

Hi,

On Thu, Sep 01, 2005 at 10:02:25AM +0100, Russell King wrote:
> Since ARM uses the generic PCI subsystem setup code, I was able to
> just #if 0...#endif out all the x86 specific code in yenta and have
> it work... IOW something like this:

yenta_allocate_res() contains a check whether the device was already set up:

	/* Already allocated? */
	if (res->parent)
		return 0;

On x86, this is the case since 2.6.13, as x86 switched to the generic PCI 
subsystem setup code, IIRC. Do you know why this doesn't handle the ARM case
correctly?

> +#if 0
>  	yenta_free_resources(sock);
> -
> +#endif

Also, even if the resources are "freed", 2.6.13 tries to re-use exactly the
same resources; only if it fails, it re-assigns:

	region.start = config_readl(socket, addr_start) & mask;
	region.end = config_readl(socket, addr_end) | ~mask;
	if (region.start && region.end > region.start && !override_bios) {
		pcibios_bus_to_resource(socket->dev, res, &region);
		root = pci_find_parent_resource(socket->dev, res);
		if (root && (request_resource(root, res) == 0))
			return 0;
		printk(KERN_INFO "yenta %s: Preassigned resource %d busy or not available, reconfiguring...\n",
				pci_name(socket->dev), nr);
	}

Note the pcibios_bus_to_resource(), which indeed was missing before...

> +#if 0
>  	config_writel(socket, PCI_BASE_ADDRESS_0, dev->resource[0].start);

Might this just miss a pcibus_resource_to_bus() conversion of dev->resource[0].start?

>  	config_writew(socket, PCI_COMMAND,
>  			PCI_COMMAND_IO |
> @@ -955,6 +959,7 @@
>  		(dev->subordinate->subordinate << 16) | /* subordinate bus */
>  		(dev->subordinate->secondary << 8) |  /* secondary bus */
>  		dev->subordinate->primary);		   /* primary bus */
> +#endif

Why the rest of it?

> +	pci_set_master(dev);

Is this ARM-specific? Should this go in unconditionally?


Also, to me it seems that the original poster had mostly a problem with the
IRQ not being allocated properly -- or is this a symptom rather than the
cause?

Thanks,
	Dominik

From linux at dominikbrodowski.net  Thu Sep  1 05:22:09 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep  1 05:22:31 2005
Subject: [PATCH] Help in pccardctl, misc fixes
In-Reply-To: <1125370565.13033.18.camel@dv>
References: <1125370565.13033.18.camel@dv>
Message-ID: <20050901092209.GA6728@isilmar.linta.de>

On Mon, Aug 29, 2005 at 10:56:05PM -0400, Pavel Roskin wrote:
> Hello!
> 
> This patch against pcmciautils 008 does following.

Applied, thanks.

	Dominik

From rmk+pcmcia at arm.linux.org.uk  Thu Sep  1 05:22:35 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep  1 05:23:20 2005
Subject: PCI Bus Card Problems
In-Reply-To: <20050901091542.GE6285@isilmar.linta.de>;
	from linux@dominikbrodowski.net on Thu, Sep 01, 2005 at
	11:15:42AM +0200
References: <1125562773.2742.36.camel@hexa0xfb>
	<20050901100225.B22540@flint.arm.linux.org.uk>
	<20050901091542.GE6285@isilmar.linta.de>
Message-ID: <20050901102234.C22540@flint.arm.linux.org.uk>

On Thu, Sep 01, 2005 at 11:15:42AM +0200, Dominik Brodowski wrote:
> On x86, this is the case since 2.6.13, as x86 switched to the generic PCI 
> subsystem setup code, IIRC. Do you know why this doesn't handle the ARM case
> correctly?

No idea - I just keep using the patch because it works for me.  I've
little interest in delving into this code anymore.

> >  	config_writel(socket, PCI_BASE_ADDRESS_0, dev->resource[0].start);
> 
> Might this just miss a pcibus_resource_to_bus() conversion of dev->resource[0].start?

It does look like it.

> >  	config_writew(socket, PCI_COMMAND,
> >  			PCI_COMMAND_IO |
> > @@ -955,6 +959,7 @@
> >  		(dev->subordinate->subordinate << 16) | /* subordinate bus */
> >  		(dev->subordinate->secondary << 8) |  /* secondary bus */
> >  		dev->subordinate->primary);		   /* primary bus */
> > +#endif
> 
> Why the rest of it?

I moved these to the generic PCI layer a while back, and so in theory
these are no longer required.  However, I never tested it on an x86
box so I was never happy to remove them.

> > +	pci_set_master(dev);
> 
> Is this ARM-specific? Should this go in unconditionally?

Probably unconditionally, but as I've said above, it never got tested
on x86.

> Also, to me it seems that the original poster had mostly a problem with the
> IRQ not being allocated properly -- or is this a symptom rather than the
> cause?

Check what's happening - the socket status is 0xffffffff which implies
we can't access the socket registers.  Hence we'll never produce an IRQ
and fail to cause a PCI interrupt.

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

From migno18 at yahoo.it  Fri Sep  2 11:52:31 2005
From: migno18 at yahoo.it (filippo mignogna)
Date: Fri Sep  2 11:59:35 2005
Subject: bug:socket0_pcmcia unable to apply power
Message-ID: <20050902155231.58283.qmail@web26906.mail.ukl.yahoo.com>

hi
could somebody help me please?

If I don't end my network connection before turning
off my laptop when starting it I get this message:

socket0_pcmcia unable to apply power

thanks

my laptop is:

Packard bell easyNote



cardbus bridge:  ENE Technology Inc CB1410 

I cannot compile cbdump

and

lspci -vv




00:00.0 Host bridge: VIA Technologies, Inc.: Unknown
device 0204
        Subsystem: Unknown device 1631:c008
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 8
        Region 0: Memory at b0000000 (32-bit,
prefetchable) [size=256M]
        Capabilities: [80] AGP version 3.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+
ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP-
GART64- 64bit- FW- Rate=<none>
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2-
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-
        Capabilities: [60] HyperTransport: Slave or
Primary Interface
        !!! Possibly incomplete decoding
                Command: BaseUnitID=0 UnitCnt=3
MastHost- DefDir-
                Link Control 0: CFlE- CST- CFE-
<LkFail- Init+ EOC- TXO- <CRCErr=0
                Link Config 0: MLWI=16bit MLWO=16bit
LWI=16bit LWO=16bit
                Link Control 1: CFlE- CST- CFE-
<LkFail+ Init- EOC+ TXO+ <CRCErr=0
                Link Config 1: MLWI=8bit MLWO=8bit
LWI=8bit LWO=8bit
                Revision ID: 1.02
        Capabilities: [58] HyperTransport: Interrupt
Discovery and Configuration

00:00.1 Host bridge: VIA Technologies, Inc.: Unknown
device 1204
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:00.2 Host bridge: VIA Technologies, Inc.: Unknown
device 2204
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:00.3 Host bridge: VIA Technologies, Inc. K8M800
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:00.4 Host bridge: VIA Technologies, Inc.: Unknown
device 4204
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:00.7 Host bridge: VIA Technologies, Inc. K8M800
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI
bridge [K8T800 South] (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=01, subordinate=01,
sec-latency=0
        I/O behind bridge: 0000c000-0000dfff
        Memory behind bridge: e0000000-efffffff
        Prefetchable memory behind bridge:
a0000000-afffffff
        Secondary status: 66Mhz+ FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR+ <PERR+
        BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort-
>Reset- FastB2B-
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2-
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:09.0 CardBus bridge: ENE Technology Inc CB1410
Cardbus Controller (rev 01)
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 168, Cache Line Size 20
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at 1c000000 (32-bit,
non-prefetchable) [size=4K]
        Bus: primary=00, secondary=02, subordinate=05,
sec-latency=176
        Memory window 0: 1c400000-1c7ff000
(prefetchable)
        Memory window 1: 1c800000-1cbff000
        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

00:10.0 USB Controller: VIA Technologies, Inc.
VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00
[UHCI])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 22
        Interrupt: pin A routed to IRQ 11
        Region 4: I/O ports at 1200 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:10.1 USB Controller: VIA Technologies, Inc.
VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00
[UHCI])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 22
        Interrupt: pin B routed to IRQ 10
        Region 4: I/O ports at 1300 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:10.2 USB Controller: VIA Technologies, Inc.
VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00
[UHCI])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 22
        Interrupt: pin C routed to IRQ 5
        Region 4: I/O ports at 1700 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0
(rev 82) (prog-if 20 [EHCI])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, Cache Line Size 10
        Interrupt: pin D routed to IRQ 10
        Region 0: Memory at f0000000 (32-bit,
non-prefetchable) [size=256]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA
Bridge
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2-
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:11.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master
IDE (rev 06) (prog-if 8a [Master SecP PriP])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Interrupt: pin A routed to IRQ 11
        Region 4: I/O ports at 1100 [size=16]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2-
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:11.5 Multimedia audio controller: VIA Technologies,
Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin C routed to IRQ 5
        Region 0: I/O ports at e000 [size=256]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:11.6 Communication controller: VIA Technologies,
Inc. AC'97 Modem Controller (rev 80)
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin C routed to IRQ 5
        Region 0: I/O ports at e100 [size=256]
        Capabilities: [d0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2-
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:12.0 Ethernet controller: VIA Technologies, Inc.
VT6102 [Rhine-II] (rev 74)
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 128 (750ns min, 2000ns max), Cache
Line Size 04
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at e200 [size=256]
        Region 1: Memory at f0000100 (32-bit,
non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+
AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] HyperTransport Technology
Configuration
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Capabilities: [80] HyperTransport: Host or
Secondary Interface
        !!! Possibly incomplete decoding
                Command: WarmRst+ DblEnd-
                Link Control: CFlE- CST- CFE- <LkFail-
Init+ EOC- TXO- <CRCErr=0
                Link Config: MLWI=16bit MLWO=16bit
LWI=16bit LWO=16bit
                Revision ID: 1.02

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Address Map
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] DRAM Controller
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Miscellaneous Control
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

01:00.0 VGA compatible controller: VIA Technologies,
Inc. S3 Unichrome Pro VGA Adapter (rev 01) (prog-if 00
[VGA])
        Subsystem: Unknown device 1631:c008
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 128 (500ns min)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at a4000000 (32-bit,
prefetchable) [size=64M]
        Region 1: Memory at e1000000 (32-bit,
non-prefetchable) [size=16M]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+
AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0
PME-
        Capabilities: [70] AGP version 3.0
                Status: RQ=256 Iso- ArqSz=0 Cal=7 SBA+
ITACoh- GART64- HTrans- 64bit- FW- AGP3+ Rate=x4,x8
                Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP-
GART64- 64bit- FW- Rate=<none>




	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it

From buffalo.phil at free.fr  Fri Sep  2 16:26:11 2005
From: buffalo.phil at free.fr (Philippe Bourcier)
Date: Fri Sep  2 16:27:12 2005
Subject: Bug#321419: linux-image-2.6.12-1-686: irq11 makes eth0 problems
	(Was: Re: Bug#303550: kernel-image-2.6.11-1-686: irq11 makes
	eth0 problems)
In-Reply-To: <20050901095508.A22540@flint.arm.linux.org.uk>
References: <E1DJVpI-0004i7-Lw@ile> <200504132346.53596.daniel.ritz@gmx.ch>
	<20050816204742.GA11800@ile>
	<200508170226.18348.daniel.ritz@gmx.ch> <20050831201259.GA6925@ile>
	<20050901095508.A22540@flint.arm.linux.org.uk>
Message-ID: <20050902202610.GA3512@ile>

    hi,

On Thu, Sep 01, 2005 at 09:55:08AM +0100, Russell King wrote:
> On Wed, Aug 31, 2005 at 10:12:59PM +0200, Philippe Bourcier wrote:
> > > if the patch doesn't help please give me the output of cbdump and cardctl
> > > ident when the card is inserted and all drivers are loaded.
> > 
> > i got http://pcmcia.arm.linux.org.uk/progs/cbdump.c
> > 
> > $ cbdump
> > pcilib: sysfs_read: tried to read 4 bytes at 128, but got only 0
> 
> Re-run it as root.  It needs to access registers which are only available
> to root.

00:03.1 CardBus bridge: Texas Instruments PCI1250
  -- generic cardbus config registers
  Vendor ID                      [00] : 0x104c
  Device ID                      [02] : 0xac16
  PCI command                    [04] : 0x0007
  Base address                   [10] : 0x10001000
  Memory Base 0                  [1c] : 0x10c00000
  Memory Limit 0                 [20] : 0x10fff000
  Memory Base 1                  [24] : 0x11000000
  Memory Limit 1                 [28] : 0x113ff000
  IO Base 0                      [2c] : 0x00004800
  IO Limit 0                     [30] : 0x000048fc
  IO Base 1                      [34] : 0x00004c00
  IO Limit 1                     [38] : 0x00004cfc
  Bridge control                 [3e] : 0x05c0
  Subsystem vendor ID            [40] : 0x0000
  Subsystem device ID            [42] : 0x0000
  Legacy mode base               [44] : 0x0001
  -- TI specific config registers
  System control                 [80] : 0x0844b061
  IRQ Mux                        [8c] : 0xcba97543
  Retry                          [90] : 0xc0
  Card control                   [91] : 0x83
  Device control                 [92] : 0x62
  Diagnostic                     [93] : 0x61
  -- cardbus registers
  CB_SOCKET_EVENT                [00] : 0x00000000
  CB_SOCKET_MASK                 [04] : 0x00000006
  CB_SOCKET_STATE                [08] : 0x30000459
  CB_SOCKET_FORCE                [0c] : 0x00000000
  CB_SOCKET_CONTROL              [10] : 0x00000020
  CB_SOCKET_POWER                [20] : 0x00000000
  -- exca registers
  I365_IDENT                     [00] : 0x84
  I365_STATUS                    [01] : 0x6f
  I365_POWER                     [02] : 0x90
  I365_INTCTL                    [03] : 0x79
  I365_CSC                       [04] : 0x00
  I365_CSCINT                    [05] : 0x08
  I365_ADDRWIN                   [06] : 0xc1
  I365_IOCTL                     [07] : 0x01
  I365_GENCTL                    [16] : 0x00c0
  I365_GBLCTL                    [1e] : 0x0000
  I365_IO0_START                 [08] : 0x0310
  I365_IO0_STOP                  [0a] : 0x031f
  I365_IO1_START                 [0c] : 0x03e8
  I365_IO1_STOP                  [0e] : 0x03ef
  I365_MEM0_START                [10] : 0x0001
  I365_MEM0_STOP                 [12] : 0x8001
  I365_MEM0_OFF                  [14] : 0x7fff
  I365_MEM0_PAGE                 [40] : 0xa0
  I365_MEM1_START                [18] : 0x0000
  I365_MEM1_STOP                 [1a] : 0x0000
  I365_MEM1_OFF                  [1c] : 0x0000
  I365_MEM1_PAGE                 [41] : 0x00
  I365_MEM2_START                [20] : 0x0000
  I365_MEM2_STOP                 [22] : 0x0000
  I365_MEM2_OFF                  [24] : 0x0000
  I365_MEM2_PAGE                 [42] : 0x00
  I365_MEM3_START                [28] : 0x0000
  I365_MEM3_STOP                 [2a] : 0x0000
  I365_MEM3_OFF                  [2c] : 0x0000
  I365_MEM3_PAGE                 [43] : 0x00
  I365_MEM4_START                [30] : 0x0000
  I365_MEM4_STOP                 [32] : 0x0000
  I365_MEM4_OFF                  [34] : 0x0000
  I365_MEM4_PAGE                 [44] : 0x00

00:03.0 CardBus bridge: Texas Instruments PCI1250
  -- generic cardbus config registers
  Vendor ID                      [00] : 0x104c
  Device ID                      [02] : 0xac16
  PCI command                    [04] : 0x0007
  Base address                   [10] : 0x10000000
  Memory Base 0                  [1c] : 0x10400000
  Memory Limit 0                 [20] : 0x107ff000
  Memory Base 1                  [24] : 0x10800000
  Memory Limit 1                 [28] : 0x10bff000
  IO Base 0                      [2c] : 0x00004000
  IO Limit 0                     [30] : 0x000040fc
  IO Base 1                      [34] : 0x00004400
  IO Limit 1                     [38] : 0x000044fc
  Bridge control                 [3e] : 0x05c0
  Subsystem vendor ID            [40] : 0x0000
  Subsystem device ID            [42] : 0x0000
  Legacy mode base               [44] : 0x0001
  -- TI specific config registers
  System control                 [80] : 0x0844b061
  IRQ Mux                        [8c] : 0xcba97543
  Retry                          [90] : 0xc0
  Card control                   [91] : 0x83
  Device control                 [92] : 0x62
  Diagnostic                     [93] : 0x61
  -- cardbus registers
  CB_SOCKET_EVENT                [00] : 0x00000000
  CB_SOCKET_MASK                 [04] : 0x00000006
  CB_SOCKET_STATE                [08] : 0x30000459
  CB_SOCKET_FORCE                [0c] : 0x00000000
  CB_SOCKET_CONTROL              [10] : 0x00000020
  CB_SOCKET_POWER                [20] : 0x00000000
  -- exca registers
  I365_IDENT                     [00] : 0x84
  I365_STATUS                    [01] : 0x7f
  I365_POWER                     [02] : 0x90
  I365_INTCTL                    [03] : 0x73
  I365_CSC                       [04] : 0x00
  I365_CSCINT                    [05] : 0x08
  I365_ADDRWIN                   [06] : 0x41
  I365_IOCTL                     [07] : 0x02
  I365_GENCTL                    [16] : 0x00c0
  I365_GBLCTL                    [1e] : 0x0000
  I365_IO0_START                 [08] : 0x0340
  I365_IO0_STOP                  [0a] : 0x035f
  I365_IO1_START                 [0c] : 0x0000
  I365_IO1_STOP                  [0e] : 0x0001
  I365_MEM0_START                [10] : 0x0000
  I365_MEM0_STOP                 [12] : 0x8000
  I365_MEM0_OFF                  [14] : 0x4002
  I365_MEM0_PAGE                 [40] : 0xa0
  I365_MEM1_START                [18] : 0x0000
  I365_MEM1_STOP                 [1a] : 0x0000
  I365_MEM1_OFF                  [1c] : 0x0000
  I365_MEM1_PAGE                 [41] : 0x00
  I365_MEM2_START                [20] : 0x0000
  I365_MEM2_STOP                 [22] : 0x0000
  I365_MEM2_OFF                  [24] : 0x0000
  I365_MEM2_PAGE                 [42] : 0x00
  I365_MEM3_START                [28] : 0x0000
  I365_MEM3_STOP                 [2a] : 0x0000
  I365_MEM3_OFF                  [2c] : 0x0000
  I365_MEM3_PAGE                 [43] : 0x00
  I365_MEM4_START                [30] : 0x0000
  I365_MEM4_STOP                 [32] : 0x0000
  I365_MEM4_OFF                  [34] : 0x0000
  I365_MEM4_PAGE                 [44] : 0x00

-- 
                                           /             \
                                          ((__-^^-,-^^-__))
 .''`.          Philippe BOURCIER          `-_---' `---_-'  .-.
: :' :  http://bourcier.philippe.online.fr  `--|o` 'o|--'   /V\
`. `'                                          \  `  /     // \\
  `-   Linux Counter registered user #290012    ): :(     /(   )\
                                                :o_o:      ^^-^^
                                                 "-"

From stblack at linux.it  Sat Sep  3 03:17:28 2005
From: stblack at linux.it (Stefano Negro)
Date: Sat Sep  3 03:17:57 2005
Subject: Strange behaviour of PCMCIA
Message-ID: <200509030917.28371.stblack@linux.it>

Hi.
I am posting here because it's very hard for me to see working my PCMCIA 
wireless card.
I am using a notebook Toshiba Equium A60 with Mandriva 10.2 and my lspci is :

00:00.0 Host bridge: ATI Technologies Inc: Unknown device cab3 (rev 05)
00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 340M]
00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01)
00:13.1 USB Controller: ATI Technologies Inc OHCI USB Controller #2 (rev 01)
00:13.2 USB Controller: ATI Technologies Inc EHCI USB Controller (rev 01)
00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18)
00:14.1 IDE interface: ATI Technologies Inc ATI Dual Channel Bus Master PCI 
IDEController
00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c
00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342
00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio 
Controller
00:14.6 Modem: ATI Technologies Inc IXP AC'97 Modem (rev 01)
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility 7000 
IGP
02:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller 
(rev 02)
02:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8139/8139C/8139C+ (rev 10)
02:0a.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 
Controller (PHY/Link)

There is stange behaviour of PCMCIA : 
1) using Modem card IBM 56k, inserting it I have:
cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa0ffffff
cs: memory probe 0x60000000-0x60ffffff: clean.
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
And it works

2) trying a wireless Netgear 32-bit CardBus MA521.
inserting it I have nothing at all. No msgs.
Removing it :
PCMCIA: socket e73ca430: *** DANGER *** unable to remove socket power

Both cards it used with another notebook works perfectly
I thank you now for your help.
---
Ciao
Stblack 
http://www.linux.it/~stblack

From davs2rt at gmail.com  Sat Sep  3 20:38:33 2005
From: davs2rt at gmail.com (Dave Stewart)
Date: Sat Sep  3 20:39:11 2005
Subject: TI Cardbus 1225 interrupt problem (?)
Message-ID: <feeed2b050903173873b0ac@mail.gmail.com>

I have a Dell Latitude CPx that I'm trying to get running with a
second ethernet (in addition to the dock) in a PCMCIA slot. The error symptom
is that none of 3 different ethernet cards show the slightest sign of being
recognized: no beeps. Xircom RBEM56G-100, Xircom CreditCard PS-CEM28, Motorola
Mariner 28.8k modem/fax/lan, all known to work in other computers. 
The Xircom RBEM56G-100 worked in this computer under Windows before I
started to repurpose the computer as a Linux server.

>From what I can see, I appear to be having problems with the Cardbus
Bridge TI1225
interrupts.  The error says "Fish. Please report", so I am.  

I've included diagnostic output below.  Let me know if you need additional
information, I'll be happy to provide it.

uname -a
Linux server.davs2rt.com 2.6.12-1.1447_FC4 #1 Fri Aug 26 20:29:51 EDT 2005
i686 i686 i386 GNU/Linux

I'm running FC4 release, yum-ed to get the 'latest', without much concern for
what that might actually be.  Haven't recompiled anything.

dmesg output:

Linux version 2.6.12-1.1447_FC4 (bhcompile@decompose.build.redhat.com)
(gcc version 4.0.1 20050727 (Red Hat 4.0.1-5)) #1 Fri Aug 26 20:29:51
EDT 2005
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000ffdb000 (usable)
 BIOS-e820: 000000000ffdb000 - 0000000010000000 (reserved)
 BIOS-e820: 00000000100a0000 - 0000000010100000 (reserved)
 BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
255MB LOWMEM available.
Using x86 segment limits to approximate NX protection
On node 0 totalpages: 65499
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 61403 pages, LIFO batch:31
  HighMem zone: 0 pages, LIFO batch:1
DMI 2.3 present.
ACPI: RSDP (v000 DELL                                  ) @ 0x000f4040
ACPI: RSDT (v001 DELL    CPi R   0x27d2051c ASL  0x00000061) @ 0x0fff0000
ACPI: FADT (v001 DELL    CPi R   0x27d2051c ASL  0x00000061) @ 0x0fff0400
ACPI: DSDT (v001 INT430 SYSFexxx 0x00001001 MSFT 0x0100000d) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
Allocating PCI resources starting at 10100000 (gap: 10100000:efd00000)
Built 1 zonelists
Kernel command line: ro root=/dev/VolGroup00/LogVol00 quiet 
Initializing CPU#0
CPU 0 irqstacks, hard=c0458000 soft=c0457000
PID hash table entries: 1024 (order: 10, 16384 bytes)
Detected 648.306 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 253480k/261996k available (2518k kernel code, 7908k reserved,
690k data, 184k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 1286.14 BogoMIPS (lpj=643072)
Security Framework v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0387f9ff 00000000 00000000 00000000
00000000 00000000 00000000
CPU: After vendor identify, caps: 0387f9ff 00000000 00000000 00000000
00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU serial number disabled.
CPU: After all inits, caps: 0383f1ff 00000000 00000000 00000040
00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: Intel Pentium III (Coppermine) stepping 03
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
ACPI: setting ELCR to 0200 (from 0c20)
checking if image is initramfs... it is
Freeing initrd memory: 1667k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfc0ae, last bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050729
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] segment is 0
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
Boot video device is 0000:01:00.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
ACPI: Power Resource [PADA] (on)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 13 devices
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
<note> I have tried this as a kernel argument.  It didn't help. </note>
pnp: 00:01: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:01: ioport range 0x800-0x805 could not be reserved
pnp: 00:01: ioport range 0x808-0x80f could not be reserved
pnp: 00:02: ioport range 0x806-0x807 has been reserved
pnp: 00:02: ioport range 0x850-0x853 has been reserved
pnp: 00:02: ioport range 0x856-0x85f has been reserved
pnp: 00:02: ioport range 0x810-0x83f has been reserved
pnp: 00:02: ioport range 0x840-0x84f has been reserved
pnp: 00:02: ioport range 0x600-0x67f has been reserved
pnp: 00:02: ioport range 0x680-0x6ff has been reserved
pnp: 00:07: ioport range 0x3f0-0x3f1 has been reserved
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
audit(1125790209.715:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux:  Registering netfilter hooks
Initializing Cryptographic API
ksign: Installing public key data
Loading keyring
- Added public key 1C1942C715575330
- User ID: Red Hat, Inc. (Kernel Module GPG key)
Limiting direct PCI/PCI transfers.
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Thermal Zone [THM] (44 C)
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 440BX Chipset.
agpgart: AGP aperture is 64M @ 0xf4000000
PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x0860-0x0867, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x0868-0x086f, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: HITACHI_DK23CA-20, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: TOSHIBA CD-ROM XM-1902B, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 39070080 sectors (20003 MB) w/2048KiB Cache, CHS=38760/16/63, UDMA(33)
hda: cache flushes not supported
 hda: hda1 hda2
hdc: ATAPI 24X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 16Kbytes
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 6, 458752 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI wakeup devices: 
 LID PBTN PCI0 UAR1 MPCI 
ACPI: (supports S0 S1 S3 S4 S4bios S5)
Freeing unused kernel memory: 184k freed
input: AT Translated Set 2 keyboard on isa0060/serio0
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
hdc: packet command error: error=0x50 { LastFailedSense=0x05 }
ide: failed opcode was: unknown
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
input: PS2++ Logitech Wheel Mouse on isa0060/serio1
SELinux:  Disabled at runtime.
SELinux:  Unregistering netfilter hooks
FDC 0 is a post-1991 82077
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:0d.0[A] -> Link [LNKC] -> GSI 10 (level,
low) -> IRQ 10
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
0000:00:0d.0: 3Com PCI 3c905C Tornado at 0xdc00. Vers LK1.1.19
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
snd_maestro3: Unknown parameter `'
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:08.0[A] -> Link [LNKB] -> GSI 5 (level,
low) -> IRQ 5
piix4_smbus 0000:00:07.3: Found 0000:00:07.3 device
shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5
USB Universal Host Controller Interface driver v2.2
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:07.2[D] -> Link [LNKD] -> GSI 11 (level,
low) -> IRQ 11
uhci_hcd 0000:00:07.2: UHCI Host Controller
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:07.2: irq 11, io base 0x0000dce0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:03.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKD] -> GSI 11 (level,
low) -> IRQ 11
Yenta: CardBus bridge found at 0000:00:03.0 [1028:00bb]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:03.0, mfunc 0x01261222, devctl 0x66
Yenta TI: socket 0000:00:03.0 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:03.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:00:03.0 no PCI interrupts. Fish. Please report.
Yenta: ISA IRQ mask 0x0000, PCI irq 0
Socket status: 00000000
PCI: Enabling device 0000:00:03.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:00:03.1[A] -> Link [LNKD] -> GSI 11 (level,
low) -> IRQ 11
Yenta: CardBus bridge found at 0000:00:03.1 [1028:00bb]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:03.1, mfunc 0x01261222, devctl 0x64
Yenta TI: socket 0000:00:03.1 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:03.1 no PCI interrupts. Fish. Please report.
Yenta: ISA IRQ mask 0x0000, PCI irq 0
Socket status: 00000000
ACPI: AC Adapter [AC] (on-line)
Using generic hotkey driver
ACPI: Battery Slot [BAT0] (battery present)
ACPI: Battery Slot [BAT1] (battery absent)
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
ibm_acpi: Using generic hotkey driver
toshiba_acpi: Using generic hotkey driver
ACPI: Video Device [VID] (multi-head: yes  rom: no  post: no)
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
hdc: packet command error: error=0x50 { LastFailedSense=0x05 }
ide: failed opcode was: unknown
hdc: packet command error: status=0x51 { DriveReady SeekComplete Error }
hdc: packet command error: error=0x50 { LastFailedSense=0x05 }
ide: failed opcode was: unknown
EXT3 FS on dm-0, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 524280k swap on /dev/VolGroup00/LogVol01.  Priority:-1 extents:1
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0x800-0x8ff: clean.
cs: IO port probe 0x800-0x8ff: clean.
cs: IO port probe 0x100-0x4ff: excluding 0x200-0x207
cs: IO port probe 0x100-0x4ff: excluding 0x200-0x207
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0xa00-0xaff: clean.
ACPI: PCI Interrupt 0000:00:0d.0[A] -> Link [LNKC] -> GSI 10 (level,
low) -> IRQ 10
lp: driver loaded but no devices found
NET: Registered protocol family 10
Disabled Privacy Extensions on device c03e6a20(lo)
IPv6 over IPv4 tunneling driver
eth0: no IPv6 routers present

lspci -vvv shows:

00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX
Host bridge (rev 03)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
	Latency: 32
	Region 0: Memory at f4000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit-
FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP
bridge (rev 03) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
	I/O behind bridge: 0000e000-0000efff
	Memory behind bridge: fc000000-feffffff
	Prefetchable memory behind bridge: fff00000-000fffff
	Secondary status: 66Mhz+ FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+

00:03.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
	Subsystem: Dell: Unknown device 00bb
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 168, Cache Line Size 20
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 10100000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	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

00:03.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
	Subsystem: Dell: Unknown device 00bb
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 168, Cache Line Size 20
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 10101000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
	Memory window 0: 10c00000-10fff000 (prefetchable)
	Memory window 1: 11000000-113ff000
	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

00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev
01) (prog-if 80 [Master])
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Region 4: I/O ports at 0860 [size=16]

00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev
01) (prog-if 00 [UHCI])
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Interrupt: pin D routed to IRQ 11
	Region 4: I/O ports at dce0 [size=32]

00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin ? routed to IRQ 9

00:08.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i
PCI Audio Accelerator (rev 10)
	Subsystem: Dell: Unknown device 00bb
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (500ns min, 6000ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: I/O ports at d800 [size=256]
	Region 1: Memory at faffe000 (32-bit, non-prefetchable) [size=8K]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:0d.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
	Subsystem: Dell: Unknown device 00a7
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (2500ns min, 2500ns max), Cache Line Size 08
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at dc00 [size=128]
	Region 1: Memory at faffdc00 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at fb000000 [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=2 PME-

01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility
P/M AGP 2x (rev 64) (prog-if 00 [VGA])
	Subsystem: Dell Latitude CPx
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (2000ns min), Cache Line Size 08
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: I/O ports at ec00 [size=256]
	Region 2: Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [50] AGP version 1.0
		Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [5c] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-



#/etc/sysconfig/pcmcia:
#
#  PCMCIA=yes|no
#  PCIC=i82365|tcic
#  PCIC_OPTS=<socket driver (i82365 or tcic) timing parameters>
#  CORE_OPTS=<pcmcia_core options>
#  CARDMGR_OPTS=<cardmgr options>
#
PCMCIA=yes
PCIC=yenta_socket
PCIC_OPTS=
CORE_OPTS=
CARDMGR_OPTS='-v'

From nemesis-lists at icequake.net  Mon Sep  5 22:08:04 2005
From: nemesis-lists at icequake.net (Ryan Underwood)
Date: Mon Sep  5 22:39:56 2005
Subject: ToPIC and 2.6.13
Message-ID: <20050906020804.GA6594@dbz.icequake.net>


Hello,

Since 2.6.13 did not include the ToPIC95 patch, I patched it myself.  I
also included the following patches:
-rw-------  1 nemesis nemesis  723 2005-06-12 17:04 topic.h.diff
Changes to topic97_override().

-rw-------  1 nemesis nemesis  738 2005-06-15 17:09 yenta_socket.diff
Changes to yenta_get_socket_capabilities().

-rw-------  1 nemesis nemesis 6806 2005-06-25 20:57 topic.diff
ToPIC95 ExCA workaround for 16-bit cards.

-rw-------  1 nemesis nemesis 4074 2005-07-24 15:19 yenta_resume.diff
[PATCH 10/11] yenta: free_irq() on suspend.

-rw-------  1 nemesis nemesis 3879 2005-08-17 15:52 multifunc.diff
[PATCH] fix pcmcia_request_irq() for multifunction card

-rw-------  1 nemesis nemesis 4336 2005-08-17 16:06 pci_posting.diff
[PATCH] pcmcia/yenta: avoid PCI write posting problem

-rw-------  1 nemesis nemesis 6477 2005-08-24 05:45 yenta_bridge_control.diff
[RFC, PATCH] pcmcia/yenta: don't mess with bridge control register

Well, the good news is that all of the patches seem to not create any
additional problems.  The bad news is that all of the problems on my
system (Tecra 500CDT, ToPIC95B, Linux 2.6.13) remain ;)

The card is IBM Home & Away 16-bit multifunction modem/eth0 card.  I
only have a VIA USB2 card to test with otherwise, and it has its own
problems at the moment.  (I also have RT2500 wireless card, but no bug
mails are acknowledged if its driver is loaded...)

- nobody cared irq11 still shows when pcmcia-cs is loaded with the card
  inserted.  I dont have the new pcmciautils yet, could this fix the
  problem?  Booting with irqpoll changes nothing except for adding about
  a 15-second system hang immediately before the nobody cared message
  shows up.

  It appears that the IRQ happens while pcnet is being configured and
  thus before the handler is installed?

[__report_bad_irq+49/115] __report_bad_irq+0x31/0x73
[note_interrupt+123/158] note_interrupt+0x7b/0x9e
[__do_IRQ+133/177] __do_IRQ+0x85/0xb1 [do_IRQ+25/36] do_IRQ+0x19/0x24
[common_interrupt+26/32] common_interrupt+0x1a/0x20
[__do_softirq+44/125] __do_softirq+0x2c/0x7d
[do_softirq+34/38] do_softirq+0x22/0x26
[do_IRQ+30/36] do_IRQ+0x1e/0x24
[common_interrupt+26/32] common_interrupt+0x1a/0x20
[pci_bus_write_config_word+49/57] pci_bus_write_config_word+0x31/0x39
[pg0+165938639/1070052352] yenta_set_socket+0x192/0x1b7 [yenta_socket]
[pg0+166530469/1070052352] pcmcia_request_configuration+0xe0/0x309 [pcmcia]
[pg0+166815629/1070052352] pcnet_config+0x2cb/0x5fb [pcnet_cs]
[__getblk+40/84] __getblk+0x28/0x54
[pg0+164780432/1070052352] do_get_write_access+0x361/0x385 [jbd]
[pg0+164995330/1070052352] __ext3_get_inode_loc+0x54/0x204 [ext3]
[pg0+164997307/1070052352] ext3_do_update_inode+0x29e/0x338 [ext3]
[pg0+164998159/1070052352] ext3_mark_iloc_dirty+0x18/0x22 [ext3]
[pg0+164998344/1070052352] ext3_mark_inode_dirty+0x2c/0x36 [ext3]
[pg0+164987577/1070052352] ext3_splice_branch+0x72/0xf2 [ext3]
[pg0+164988173/1070052352] ext3_get_block_handle+0x1d4/0x292 [ext3]
[__find_get_block+139/169] __find_get_block+0x8b/0xa9
[pg0+165861712/1070052352] follow_link+0xa4/0x173 [pcmcia_core]
[pg0+165939355/1070052352] yenta_set_mem_map+0x18b/0x1ca [yenta_socket]
[pg0+165859786/1070052352] set_cis_map+0x88/0xd5 [pcmcia_core]
[pg0+165860123/1070052352] pcmcia_read_cis_mem+0x104/0x16d [pcmcia_core]
[pg0+165862524/1070052352] pccard_get_tuple_data+0x56/0x5f [pcmcia_core]
[pg0+165866779/1070052352] pccard_read_tuple+0x50/0x8b [pcmcia_core]
[pg0+166816678/1070052352] pcnet_event+0x95/0x14f [pcnet_cs]
[pg0+166526986/1070052352] pcmcia_register_client+0x1c8/0x1e7 [pcmcia]
[alloc_netdev+110/124] alloc_netdev+0x6e/0x7c
[pg0+166813838/1070052352] pcnet_attach+0x8e/0xb1 [pcnet_cs]
[kobject_get+18/23] kobject_get+0x12/0x17
[pg0+166523641/1070052352] pcmcia_device_probe+0x40/0x9e [pcmcia]
[driver_probe_device+50/130] driver_probe_device+0x32/0x82
[__device_attach+0/5] __device_attach+0x0/0x5
[bus_for_each_drv+70/108] bus_for_each_drv+0x46/0x6c
[device_attach+71/89] device_attach+0x47/0x59
[__device_attach+0/5] __device_attach+0x0/0x5
[bus_add_device+34/120] bus_add_device+0x22/0x78
[device_add+129/222] device_add+0x81/0xde
[pg0+166524350/1070052352] pcmcia_device_add+0xe7/0x142 [pcmcia]
[pg0+166532653/1070052352] bind_request+0xb3/0x151 [pcmcia]
[pg0+166534926/1070052352] ds_ioctl+0x466/0x544 [pcmcia]
[do_ioctl+73/86] do_ioctl+0x49/0x56
[vfs_ioctl+348/363] vfs_ioctl+0x15c/0x16b
[sys_ioctl+70/99] sys_ioctl+0x46/0x63
[syscall_call+7/11] syscall_call+0x7/0xb


- apm suspend/resume still gives a nonfunctional eth0. I found that
  the modem still works after suspend/resume, so perhaps this is a
  problem with pcnet_cs instead of yenta.

- cardctl status shows:
5V 16-bit PC Card
function 0: [ready], [bat dead], [bat low]
function 1: [busy], [bat dead], [bat low], [req attn]

- I got a new strange message when inserting the card:
"2.6. kernels use pcmciamtd instead of memory_cs.c and do not require
special MTD handling any more."
But this card doesn't have anything to do with memory_cs or MTD.

One problem I had was solved: unresponsive system after removing a card,
I found the cause of it.  I noticed that I was able to scroll up/down in
the console while the system was unresponsive.  So the kernel was not
blocked.  I ran a shell at high priority to watch things, and it turned
out udev/hotplug had about 10 processes awaking at once after the card
was removed, and all are running at -2 (hotplug) or -4 (udev) priority.
That would account for the lag from a normal priority program.  I'm not
sure how to fix this but at least it isn't a bug in the kernel.

Anyway, the card (and sockets) are working fine for the moment and the
mentioned patches check out okay, it just appears that some little bugs
are remaining.  I'm in the process of trying to debug the VIA card
problem, so maybe there will be some more data later from using that
card.

-- 
Ryan Underwood, <nemesis@icequake.net>

From bugme-daemon at kernel-bugs.osdl.org  Tue Sep  6 06:10:09 2005
From: bugme-daemon at kernel-bugs.osdl.org (bugme-daemon@kernel-bugs.osdl.org)
Date: Tue Sep  6 06:10:23 2005
Subject: [Bug 5017] pcmcia: trouble inserting network card and then network
	unstability
Message-ID: <200509061010.j86AA9U5014655@fire-1.osdl.org>

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





------- Additional Comments From Jean-Damien.Durand@cern.ch  2005-09-06 03:10 -------
Played with preemption - no go - Not tried official 2.6.13 yet. 
In the meantime my enterasys card got broken by my daughter...! 
Will use a linksys wpc54g card from now on. 
 

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

From itzhak.benakiva at guardit-tech.com  Tue Sep  6 07:01:26 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Tue Sep  6 07:01:46 2005
Subject: PCI Bus Card Problems
In-Reply-To: <20050901100225.B22540@flint.arm.linux.org.uk>
References: <1125562773.2742.36.camel@hexa0xfb>
	<20050901100225.B22540@flint.arm.linux.org.uk>
Message-ID: <1126004486.2818.18.camel@hexa0xfb>

Hi Russel,

Thanks for the patched. It solved the problem with yenta. pcmcia is
working properly now. Now, I have to do some work to get Bluetooth
working.

many thanks,
Itzhak

On Thu, 2005-09-01 at 10:02 +0100, Russell King wrote:
> On Thu, Sep 01, 2005 at 11:19:33AM +0300, Itzhak Ben-Akiva wrote:
> > I'm writing again because I have been working on a problem with
> > cardbus/pcmcia, which is used to connect a Bluetooth pcmcia card (Anycom
> > Blue CF - 300), on ARM Integrator/AP for quite some time without any
> > success so far. I have searched the web up and down and I tried anything
> > I could found on the subject of PCI interrupt probing failure, but still
> > no success. I couldn't find any information on incompatibility of my pci
> > bus card and ARM platform. Because of that, I tried two different pci
> > bus cards that work properly on linux-x86, but they did not work on ARM.
> > Therefore, either I'm missing something in the kernel's configuration
> > for ARM or there is a problem with pcmcia on ARM Integrator. However, I
> > haven't found any information on this in the web. 
> 
> I never finished my fixing of yenta to be architecture independent
> since I took on the role of PCMCIA maintainer (which I've subsequently
> dropped and virtually completely stopped working on PCMCIA.)  Hence,
> the fixes never got completed and merged.
> 
> The problem is that yenta itself does resource allocation for the
> bridge, and makes assumptions that there's a 1:1 mapping between
> resources and PCI BARs.  This is not true on some platforms such
> as the one you're using.
> 
> Since ARM uses the generic PCI subsystem setup code, I was able to
> just #if 0...#endif out all the x86 specific code in yenta and have
> it work... IOW something like this:
> 
> diff -u linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c linux/drivers/pcmcia/yenta_socket.c
> --- linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c	Sun Mar 23 11:57:21 2003
> +++ linux/drivers/pcmcia/yenta_socket.c	Fri Mar 28 23:17:12 2003
> @@ -524,6 +524,7 @@
>  	return 0;
>  }
>  
> +#if 0
>  /*
>   * Use an adaptive allocation for the memory resource,
>   * sometimes the memory behind pci bridges is limited:
> @@ -698,6 +699,7 @@
>  		res->start = res->end = 0;
>  	}
>  }
> +#endif
>  
> 
>  /*
> @@ -721,8 +723,9 @@
>  
>  	if (sock->base)
>  		iounmap(sock->base);
> +#if 0
>  	yenta_free_resources(sock);
> -
> +#endif
>  	pci_release_regions(dev);
>  	pci_disable_device(dev);
>  	pci_set_drvdata(dev, NULL);
> @@ -940,6 +943,7 @@qt-devel-3.3.4-15.1
>  	pci_set_power_state(socket->dev, 0);
>  
>  	config_writel(socket, CB_LEGACY_MODE_BASE, 0);
> +#if 0
>  	config_writel(socket, PCI_BASE_ADDRESS_0, dev->resource[0].start);
>  	config_writew(socket, PCI_COMMAND,
>  			PCI_COMMAND_IO |
> @@ -955,6 +959,7 @@
>  		(dev->subordinate->subordinate << 16) | /* subordinate bus */
>  		(dev->subordinate->secondary << 8) |  /* secondary bus */
>  		dev->subordinate->primary);		   /* primary bus */
> +#endif
>  
>  	/*
>  	 * Set up the bridging state:
> @@ -1037,9 +1042,14 @@
>  	/* Disable all events */
>  	cb_writel(socket, CB_SOCKET_MASK, 0x0);
>  
> +#if 0
>  	/* Set up the bridge regions.. */
>  	yenta_allocate_resources(socket);
> +#endif
>  
> +	pci_set_master(dev);
> +	/* FIXME: should we also pci_set_mwi(dev); ? */
> +
>  	socket->cb_irq = dev->irq;
>  
>  	/* Do we have special options for the device? */
> 
> 


From lkml at maintech.de  Tue Sep  6 12:47:08 2005
From: lkml at maintech.de (Thomas Kleffel (LKML))
Date: Tue Sep  6 12:47:35 2005
Subject: [PATCH] Make ide-cs work for hardware with 8-bit CF-Interface
Message-ID: <431DC80C.8030706@maintech.de>

Hello,

it is technically possible to access a CF-Card with an 8-bit width bus.

The problem with the current code is that the IDE code does a 16 (or 32) 
bit read on the IDE data register. If the bus interface for a 8-bit bus 
would then do two reads to offsets 0 and 1.

The second read (to offset 1) then reads the error register instead of 
the data register's odd byte.

To fix this problem I've changed the ide-cs code to use the duplicated 
data registers at offset 8 and 9 which are not overlapped with anything.

According to the specs, those registers should be there in every CF 
card. I've tested this with a couple of CFs, including SanDisk, 
Microdrive and several NoNames.

The specific architechture I'm using this on is a AT91RM9200 with kernel 
2.6.13 and the patches from http://maxim.org.za/AT91RM9200/2.6/.

For more information on the overlapped / non-overlapped registers see 
http://www.compactflash.org/cfspc3_0.pdf - page 96

The following patch is against vanilla 2.6.13.

ldiff -uprN a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c
--- a/drivers/ide/legacy/ide-cs.c       2005-08-08 15:30:35.000000000 +0200
+++ b/drivers/ide/legacy/ide-cs.c       2005-09-05 02:09:47.000000000 +0200
@@ -186,7 +186,8 @@ static int idecs_register(unsigned long
  {
      hw_regs_t hw;
      memset(&hw, 0, sizeof(hw));
-    ide_init_hwif_ports(&hw, io, ctl, NULL);
+    ide_std_init_ports(&hw, io, ctl);
+    hw.io_ports[IDE_DATA_OFFSET] = io + 0x08;
      hw.irq = irq;
      hw.chipset = ide_pci;
      return ide_register_hw_with_fixup(&hw, NULL, ide_undecoded_slave);


Signed-off-by: Thomas Kleffel <tk@maintech.de>


Best regards,

Thomas

From dhinds at sonic.net  Tue Sep  6 18:20:35 2005
From: dhinds at sonic.net (David Hinds)
Date: Tue Sep  6 18:21:13 2005
Subject: [PATCH] Make ide-cs work for hardware with 8-bit CF-Interface
In-Reply-To: <431DC80C.8030706@maintech.de>
References: <431DC80C.8030706@maintech.de>
Message-ID: <20050906222035.GA26345@sonic.net>

On Tue, Sep 06, 2005 at 06:47:08PM +0200, Thomas Kleffel (LKML) wrote:
> 
> The following patch is against vanilla 2.6.13.
> 
> ldiff -uprN a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c
> --- a/drivers/ide/legacy/ide-cs.c       2005-08-08 15:30:35.000000000 +0200
> +++ b/drivers/ide/legacy/ide-cs.c       2005-09-05 02:09:47.000000000 +0200
> @@ -186,7 +186,8 @@ static int idecs_register(unsigned long
>  {
>      hw_regs_t hw;
>      memset(&hw, 0, sizeof(hw));
> -    ide_init_hwif_ports(&hw, io, ctl, NULL);
> +    ide_std_init_ports(&hw, io, ctl);
> +    hw.io_ports[IDE_DATA_OFFSET] = io + 0x08;
>      hw.irq = irq;
>      hw.chipset = ide_pci;
>      return ide_register_hw_with_fixup(&hw, NULL, ide_undecoded_slave);

You can't do this, at least not exactly this way.  io + 0x08 may not
be a mapped IO address; it is only valid when a card is mapped with
one contiguous 16-bit IO window.  PCMCIA IDE cards are not necessarily
mapped that way: they may be mapped with one 8-port window and one
1-port window, to match standard IBM PC IDE port locations.  In that
case, the registers at 0x08 and 0x09 are not available.  The CF spec
may impose more uniformity here than the PCMCIA spec does.  I do know
that some IDE cards do end up configured with discontiguous register
allocations when used with ide-cs.c.

-- Dave

From supersaucy151 at yahoo.com  Tue Sep  6 18:40:49 2005
From: supersaucy151 at yahoo.com (James)
Date: Tue Sep  6 18:47:53 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
Message-ID: <20050906224049.57688.qmail@web52806.mail.yahoo.com>

This is another pcmcia_socket0: unable to apply power
problem.
I have a averatec 6240 64bit cpu
I am using Fedora Core 4 and am trying to use a 16bit
Netgear MA401 wireless PCMCIA card.
I am getting the unable to apply power problem.
Is there any fix to this.
Please help me.  I am fairly novice at linux but i
follow   directions very well.
I need a wireless connection at my university with
linux installed.
I hope i have supplied all the information needed.
Please help. This has been a good learning source for
me since I am computer science major

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

From alan at lxorguk.ukuu.org.uk  Tue Sep  6 19:30:31 2005
From: alan at lxorguk.ukuu.org.uk (Alan Cox)
Date: Wed Sep  7 11:20:31 2005
Subject: [PATCH] Make ide-cs work for hardware with 8-bit CF-Interface
In-Reply-To: <431DC80C.8030706@maintech.de>
References: <431DC80C.8030706@maintech.de>
Message-ID: <1126049432.29122.6.camel@localhost.localdomain>

On Maw, 2005-09-06 at 18:47 +0200, Thomas Kleffel (LKML) wrote:
> According to the specs, those registers should be there in every CF 
> card. I've tested this with a couple of CFs, including SanDisk, 
> Microdrive and several NoNames.

ide-cs handles a lot more than just CF cards so it might not be a wise
approach fpr general consumption.



From towergeebulk at gmail.com  Wed Sep  7 11:37:03 2005
From: towergeebulk at gmail.com (mail mail)
Date: Wed Sep  7 11:37:32 2005
Subject: restart pcmcia problem for my LT4000 driver for kernel 2.6
Message-ID: <575303a10509070837221c870f@mail.gmail.com>

Hi, 
 
I have worked a few days to port INFINEER LT4000 PCMCIA device driver
from 2.4 to 2.6.
And I have made some progress. Now I can compile it successfully, and
copy it to
/lib/modules/2.6.11-1.14_FC3/kernel/drivers/pcmcia/LT4000_cs.ko 
but seems that it does not work well. I will attach the source code in
the last of this thread.
 
Thanks for help in advanced. :)
 
Other works such as making libLT4000.so and copying it to
/usr/local/pcsc/drivers direcotry
and editing /usr/local/pcsc/etc/reader.conf containing the following lines :
===========BEGIN==========
FRIENDLYNAME     "INFINEER LT4000 Reader"
DEVICENAME       /dev/LT4000
LIBPATH          /usr/local/pcsc/drivers/libLT4000.so 
CHANNELID        1 
=========== END ==========
and making nodes in /dev/ are all done. And I have done the same
things in kernle 2.4 while
LT4000 works fine.
 
My working environment is Linux FC3 2.6.11-1.14_FC3 on NEC laptop with 2
pcmcia plots. One is for network adaptor, the other is for LT4000.
 
# cat /var/lib/pcmcia/stab 
Socket 0: LT4000 Mako Technologies Smart Card Reader 1
Socket 1: empty 
 
Also, I have added the following lines to the file /etc/pcmcia/config.
=============BEGIN================
device "LT4000_cs"
  class "smartcard" module "LT4000_cs"
card "LT4000 Mako Technologies Smart Card Reader 1" 
  manfid 0x0290, 0x0050
    bind "LT4000_cs"

card "LT4000 Mako Technologies Smart Card Reader 2"
  manfid 0xadde, 0x0050
    bind "LT4000_cs"
=============END================

When I try to run "/etc/rc.d/init.d/pcmcia restart" to load LT4000, I
find that some errors occur.

In "/var/log/message", there are the following lines;

Aug 30 22:01:32 FC3 cardmgr[4251]: socket 0: LT4000 Mako Technologies
Smart Card Reader 1
Aug 30 22:01:32 FC3 cardmgr[4251]: executing: 'modprobe LT4000_cs 2>&1'
Aug 30 22:01:32 FC3 cardmgr[4251]: + FATAL: Module LT4000_cs not found. 
Aug 30 22:01:32 FC3 cardmgr[4251]: modprobe exited with status 1
Aug 30 22:01:32 FC3 cardmgr[4251]: module
/lib/modules/2.6.11-1.14_FC3/pcmcia/LT4000_cs.o not available
Aug 30 22:01:32 FC3 cardmgr[4251]: bind 'LT4000_cs' to socket 0
failed: Invalid argument


>From the above , I find that although in kernel 2.6, .ko files have
replace .o files. But cardmgr still tries to load
.o files. So LT4000_cs.ko can't be loaded.

From towergeebulk at gmail.com  Wed Sep  7 11:37:55 2005
From: towergeebulk at gmail.com (mail mail)
Date: Wed Sep  7 11:38:28 2005
Subject: LT4000 driver source code
Message-ID: <575303a105090708372b6489b7@mail.gmail.com>

Hi, 


Here is my source code.

==================================BEGIN==============================

 /*======================================================================

   A Infineer PCMCIA client driver

   LT4000_cs.c 1.28 2000/10/04 00:31:08

   Derived from dummy_cs.c 1.27 2000/06/12 21:27:25 which had the
   following notice:

   The contents of this file are subject to the Mozilla Public
   License Version 1.1 (the "License"); you may not use this file
   except in compliance with the License. You may obtain a copy of
   the License at 

   Software distributed under the License is distributed on an "AS
   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
   implied. See the License for the specific language governing
   rights and limitations under the License. 

   The initial developer of the original code is David A. Hinds
   <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
   are Copyright (C) 1999 David A. Hinds.  All Rights Reserved. 

   Alternatively, the contents of this file may be used under the
   terms of the GNU Public License version 2 (the "GPL"), in which
   case the provisions of the GPL are applicable instead of the
   above.  If you wish to allow the use of your version of this file 
   only under the terms of the GPL and not to allow others to use
   your version of this file under the MPL, indicate your decision
   by deleting the provisions above and replace them with the notice
   and other provisions required by the GPL.  If you do not delete 
   the provisions above, a recipient may use your version of this
   file under either the MPL or the GPL.

======================================================================*/
#define PCMCIA_DEBUG 2
#define INFINEER_BUFSZ          265     /* Max buffer size      */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/ptrace.h>
#include <linux/slab.h>
#include <linux/string.h> 
#include <linux/timer.h>
#include <linux/ioport.h>
#include <linux/fs.h>
#include <asm/io.h>
#include <asm/segment.h>
#include <asm/system.h>
#include <asm/uaccess.h> 

#include <pcmcia/version.h>
#include <pcmcia/cs_types.h>
#include <pcmcia/cs.h>
#include <pcmcia/cistpl.h>
#include <pcmcia/cisreg.h>
#include <pcmcia/ds.h>
#include <linux/kref.h> 
//#include <pcmcia/bus_ops.h>

#include "LT4000_cs.h"

/*
  All the PCMCIA modules use PCMCIA_DEBUG to control debugging.  If
  you do not define PCMCIA_DEBUG at all, all the debug code will be
  left out.  If you compile with PCMCIA_DEBUG=0, the debug code will
  be present but disabled -- but it can then be enabled for specific
  modules at load time with a 'pc_debug=#' option to insmod.
*/

static int debug = 0;

#ifdef PCMCIA_DEBUG
//static int pc_debug = PCMCIA_DEBUG;
//MODULE_PARM(pc_debug, "i");
#define DEBUG(n, args...) printk(KERN_DEBUG args)
//#define PRINTK printk
#define PRINTK(format, arg...) do { if (debug) printk(KERN_DEBUG \ 
__FILE__ ": " format "\n" , ## arg); } while (0)
static char *version =
"LT4000_cs.c 1.02 2005/8/30 01:04:01 (TowerGee) 1.01 2004/05/20
00:31:08 (Alexandre Davi Silva)";
#else
#define DEBUG(n, args...)
#endif

/*====================================================================*/
 /* Parameters that can be set with 'insmod' */
/* hharan - to be removed */
/* Release IO ports after configuration? */
static int free_ports = 0; 

/* hharan - to be removed */
/* The old way: bit map of interrupts to choose from */
/* This means pick from 15, 14, 12, 11, 10, 9, 7, 5, 4, and 3 */
static u_int irq_mask = 0xdeb8;
/* Newer, simpler way of listing specific interrupts */ 
static int irq_list[4] = { -1 };

MODULE_PARM(free_ports, "i");
MODULE_PARM(irq_mask, "i");
MODULE_PARM(irq_list, "1-4i");

/*====================================================================*/

/*
  The event() function is this driver's Card Services event handler.
  It will be called by Card Services when an appropriate card status
  event is received.  The config() and release() entry points are
  used to configure or release a socket, in response to card
  insertion and ejection events.  They are invoked from the LT4000
  event handler.
*/

static void LT4000_config(dev_link_t *link);
static void LT4000_release(u_long arg);
static int  LT4000_event(event_t event, int priority,
                      event_callback_args_t *args);

/*
  The attach() and detach() entry points are used to create and destroy
  "instances" of the driver, where each instance represents everything
  needed to manage one actual PCMCIA card.
*/

static dev_link_t *LT4000_attach(void);
static void LT4000_detach(dev_link_t *);

/*
  To Do: Need to prototype all the functions that will actually
  be used to talk to the LT4000
*/
static ssize_t  LT4000_read(struct file * , char *, size_t,loff_t *);
static ssize_t  LT4000_write(struct file * , const char * , size_t , loff_t *); 
static int LT4000_open(struct inode *, struct file *) ;
static int LT4000_close(struct inode *, struct file *) ;
static int LT4000_ioctl(struct inode *, struct file *,u_int , u_long );

static struct file_operations LT4000_fops = {
open: LT4000_open,
release: LT4000_close,
read: LT4000_read,
write: LT4000_write,
ioctl: LT4000_ioctl,
};

/*
  The dev_info variable is the "key" that is used to match up this
  device driver with appropriate cards, through the card configuration
  database.
*/

static dev_info_t dev_info = "LT4000_cs";

/*
  A linked list of "instances" of the LT4000 device.  Each actual
  PCMCIA card corresponds to one device instance, and is described
  by one dev_link_t structure (defined in ds.h).

  You may not want to use a linked list for this -- for example, the
  memory card driver uses an array of dev_link_t pointers, where minor
  device numbers are used to derive the corresponding array index.
*/ 

static dev_link_t *dev_list = NULL;

/*
  A dev_link_t structure has fields for most things that are needed
  to keep track of a socket, but there will usually be some device
  specific information that also needs to be kept track of.  The
  'priv' pointer in a dev_link_t structure can be used to point to 
  a device-specific private data structure, like this.

  To simplify the data structure handling, we actually include the
  dev_link_t structure in the device's private data structure.

  A driver needs to provide a dev_node_t structure for each device
  on a card.  In some cases, there is only one device per card (for
  example, ethernet cards, modems).  In other cases, there may be
  many actual or logical devices (SCSI adapters, memory cards with 
  multiple partitions).  The dev_node_t structures need to be kept
  in a linked list starting at the 'dev' field of a dev_link_t
  structure.  We allocate them in the card's private data structure,
  because they generally shouldn't be allocated dynamically. 

  In this case, we also provide a flag to indicate if a device is
  "stopped" due to a power management event, or card ejection.  The
  device IO routines can use a flag like this to throttle IO to a
  card that is not ready to accept it.

  The bus_operations pointer is used on platforms for which we need
  to use special socket-specific versions of normal IO primitives
  (inb, outb, readb, writeb, etc) for card IO.
*/
 /*
typedef struct local_info_t { 
   dev_link_t          link;
   dev_node_t          node;
   int                 stop;
   struct bus_operations *bus;
} local_info_t;
 sample devnode_t structure */

 /*LT4000 Dev_t Structure*/
typedef struct LT4000_local_t {
       dev_link_t link;
       dev_node_t node;
       int stop;
       //struct bus_operations *bus;
       caddr_t am_base;        /* Base of mapped attribute memory      */ 
       u_long io_base;         /* Base of I/O port range               */
       struct kref kref;
} LT4000_local_t;

// Added by TowerGee
static struct pcmcia_driver LT4000_driver = {
       .owner  = THIS_MODULE,
       .drv    = {
               .name = "LT4000_cs",
       },
       .attach = LT4000_attach, 
       .detach = LT4000_detach,
};

#define to_skel_dev(d) container_of(d, struct LT4000_local_t, kref)

static int writeToDevice(u_char * ,u_char * ,LT4000_local_t * );


/*====================================================================*/
#if 0
void cs_error(client_handle_t handle, int func, int ret)
{
   error_info_t err = { func, ret };
   //CardServices(ReportError, handle, &err); 
   pcmcia_report_error(handle, &err);
}
#endif
/*======================================================================

   LT4000_attach() creates an "instance" of the driver, allocating
   local data structures for one device.  The device is registered
   with Card Services.

   The dev_link structure is initialized, but we don't actually
   configure the card at this point -- we wait until we receive a
   card insertion event.

======================================================================*/

static dev_link_t *LT4000_attach(void)
{
   LT4000_local_t *local;
   dev_link_t *link;
   client_reg_t client_reg;
   int ret, i;

   //DEBUG(0, "LT4000_attach()\n");
   printk("LT4000_attach() v1.3\n");

   /* Allocate space for private device-specific data */
   local = kmalloc(sizeof(LT4000_local_t), GFP_KERNEL);
   if (!local) return NULL;
   memset(local, 0, sizeof(LT4000_local_t));
   link = &local->link; link->priv = local; 

   /* Initialize the dev_link_t structure */
   //link->release.function = &LT4000_release;
   //link->release.data = (u_long)link;

   /* Interrupt setup */
   link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
   link->irq.IRQInfo1 = IRQ_INFO2_VALID|IRQ_LEVEL_ID;
   if (irq_list[0] == -1)
       link->irq.IRQInfo2 = irq_mask;
   else 
       for (i = 0; i < 4; i++)
           link->irq.IRQInfo2 |= 1 << irq_list[i];
   link->irq.Handler = NULL;

   /*
     General socket configuration defaults can go here.  In this
     client, we assume very little, and rely on the CIS for almost
     everything.  In most clients, many details (i.e., number, sizes,
     and attributes of IO windows) are fixed by the nature of the
     device, and can be hard-wired here.
   */
   link->conf.Attributes = 0;
   link->conf.Vcc = 50;
   link->conf.IntType = INT_MEMORY_AND_IO; 

   /* Register with Card Services */
   link->next = dev_list;
   dev_list = link;
   client_reg.dev_info = &dev_info;
   client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
   client_reg.EventMask = 
       CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
       CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
       CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
   client_reg.event_handler = &LT4000_event; 
   client_reg.Version = 0x0210;
   client_reg.event_callback_args.client_data = link;
   //ret = CardServices(RegisterClient, &link->handle, &client_reg);
   ret = pcmcia_register_client(&link->handle, &client_reg); 
   if (ret != CS_SUCCESS) {
       cs_error(link->handle, RegisterClient, ret);
       LT4000_detach(link);
       return NULL;
   }

   // Added by TowerGee
   // kref->get(&local->kref);
   //kref_init(&local->kref);

   return link;
} /* LT4000_attach */

/*======================================================================

   This deletes a driver "instance".  The device is de-registered
   with Card Services.  If it has been released, all local data
   structures are freed.  Otherwise, the structures will be freed
   when the device is released. 

======================================================================*/

static void LT4000_detach(dev_link_t *link)
{
   dev_link_t **linkp;

   //EBUG(0, "LT4000_detach(0x%p)\n", link);
   printk("LT4000_detach(0x%p)\n", link);

   /* Locate device structure */
   for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
       if (*linkp == link) break;
   if (*linkp == NULL)
       return;

   /*
      If the device is currently configured and active, we won't
      actually delete it yet.  Instead, it is marked so that when
      the release() function is called, that will trigger a proper
      detach(). 
   */
   if (link->state & DEV_CONFIG) {
#ifdef PCMCIA_DEBUG
       printk(KERN_DEBUG "LT4000_cs: detach postponed, '%s' "
              "still locked\n", link->dev->dev_name); 
#endif
       link->state |= DEV_STALE_LINK;
       return;
   }

   /* Break the link with Card Services */
   if (link->handle)
       //CardServices(DeregisterClient, link->handle);
       pcmcia_deregister_client(link->handle);

   /* Unlink device structure, and free it */
   *linkp = link->next;
   /* This points to the parent local_info_t struct */
   kfree(link->priv);

   // Added by Towergee
   //kref->put(&link.priv.kref, LT4000_delete);

} /* LT4000_detach */

/*======================================================================

   LT4000_config() is scheduled to run after a CARD_INSERTION event
   is received, to configure the PCMCIA socket, and to make the
   device available to the system.

======================================================================*/
/*
#define CS_CHECK(fn, args...) \
while ((last_ret=CardServices(last_fn=(fn),args))!=0) goto cs_failed

#define CS_CHECK(fn, ret) \
  do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)

#define CS_CHECK(fn_number, fn, args...) \
do { last_fn = fn_number; \
 if ((last_ret = fn(args)) != 0) goto cs_failed; \
} while(0)

#define CFG_CHECK(fn, args...) \
if (CardServices(fn, args) != 0) goto next_entry

#define CFG_CHECK(fn_number, fn, args...) \
{ last_fn = fn_number \
if ((last_ret=fn(args))!=0) {  \
*/
#define CS_CHECK(fn, ret) \
do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) 
                                                                                
#define CFG_CHECK(fn, ret) \
 if ((last_ret = (ret)) != 0) goto next_entry;

 

static void LT4000_config(dev_link_t *link)
{
   client_handle_t handle = link->handle;
   LT4000_local_t *dev = link->priv;
   tuple_t tuple;
   cisparse_t parse;
   int last_fn, last_ret;
   u_char buf[64];
   config_info_t conf;
   win_req_t req;
   memreq_t map;
   cisinfo_t cisinfo;
   int ret=0;

   //DEBUG(1, "LT4000_config(0x%p)\n", link);
   printk("LT4000_config(0x%p)\n", link);

   /*
      This reads the card's CONFIG tuple to find its configuration
      registers.
   */
   //ret = CardServices(ValidateCIS,handle,&cisinfo);
   ret = pcmcia_validate_cis(handle, &cisinfo); 
       printk(KERN_INFO "ValidateCIS returns %d\n",cisinfo.Chains);
   tuple.DesiredTuple = CISTPL_CONFIG;
   tuple.Attributes = 0;
   tuple.TupleData = buf;
   tuple.TupleDataMax = sizeof(buf);
   tuple.TupleOffset = 0;
   //CS_CHECK(GetFirstTuple, handle, &tuple);
   CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(handle, &tuple));
   //CS_CHECK(GetTupleData, handle, &tuple);
   CS_CHECK(GetTupleData, pcmcia_get_tuple_data(handle, &tuple)); 
   //CS_CHECK(ParseTuple, handle, &tuple, &parse);
   CS_CHECK(ParseTuple, pcmcia_parse_tuple(handle, &tuple, &parse));
   link->conf.ConfigBase = parse.config.base;
   link->conf.Present = parse.config.rmask[0];

   /* Configure card */
   link->state |= DEV_CONFIG;

   /* Look up the current Vcc */
   //CS_CHECK(GetConfigurationInfo, handle, &conf);
   CS_CHECK(GetConfigurationInfo, pcmcia_get_configuration_info(handle, &conf));
   link->conf.Vcc = conf.Vcc;

   /*
     In this loop, we scan the CIS for configuration table entries,
     each of which describes a valid card configuration, including
     voltage, IO window, memory window, and interrupt settings.

     We make no assumptions about the card to be configured: we use
     just the information available in the CIS.  In an ideal world,
     this would work for any PCMCIA card, but it requires a complete
     and accurate CIS.  In practice, a driver usually "knows" most of 
     these things without consulting the CIS, and most client drivers
     will only use the CIS to fill in implementation-defined details.
   */
   tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
   //CS_CHECK(GetFirstTuple, handle, &tuple); 
   CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(handle, &tuple));

   while (1) {
       cistpl_cftable_entry_t dflt = { 0 };
       cistpl_cftable_entry_t *cfg = &(parse.cftable_entry);
       //CFG_CHECK(GetTupleData, handle, &tuple);
       CFG_CHECK(GetTupleDate, pcmcia_get_tuple_data(handle, &tuple)); 
       //CFG_CHECK(ParseTuple, handle, &tuple, &parse);
       CFG_CHECK(ParseTuple, pcmcia_parse_tuple(handle, &tuple, &parse));

       if (cfg->flags & CISTPL_CFTABLE_DEFAULT) dflt = *cfg;
       if (cfg->index == 0) goto next_entry;
       link->conf.ConfigIndex = cfg->index;

       /* Does this card need audio output? */
       if (cfg->flags & CISTPL_CFTABLE_AUDIO) {
           link->conf.Attributes |= CONF_ENABLE_SPKR;
           link->conf.Status = CCSR_AUDIO_ENA; 
       }

       /* Use power settings for Vcc and Vpp if present */
       /*  Note that the CIS values need to be rescaled */
       if (cfg->vcc.present & (1<<CISTPL_POWER_VNOM)) {
           if (conf.Vcc != cfg->vcc.param[CISTPL_POWER_VNOM]/10000)
               goto next_entry;
       } else if (dflt.vcc.present & (1<<CISTPL_POWER_VNOM)) {
           if (conf.Vcc != dflt.vcc.param[CISTPL_POWER_VNOM]/10000) 
               goto next_entry;
       }

       if (cfg->vpp1.present & (1<<CISTPL_POWER_VNOM))
           link->conf.Vpp1 = link->conf.Vpp2 =
               cfg->vpp1.param[CISTPL_POWER_VNOM]/10000;
       else if (dflt.vpp1.present & (1<<CISTPL_POWER_VNOM))
           link->conf.Vpp1 = link->conf.Vpp2 =
               dflt.vpp1.param[CISTPL_POWER_VNOM]/10000;

       /* Do we need to allocate an interrupt? */
       if (cfg->irq.IRQInfo1 || dflt.irq.IRQInfo1)
           link->conf.Attributes |= CONF_ENABLE_IRQ;

       /* IO window settings */
       link->io.NumPorts1 = link->io.NumPorts2 = 0;
       if ((cfg->io.nwin > 0) || (dflt.io.nwin > 0)) {
           cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt.io; 
           link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
           if (!(io->flags & CISTPL_IO_8BIT))
               link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
           if (!(io->flags & CISTPL_IO_16BIT)) 
               link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
           link->io.IOAddrLines = io->flags & CISTPL_IO_LINES_MASK;
           link->io.BasePort1 = io->win[0].base;
           link-> io.NumPorts1 = io->win[0].len;
           if (io->nwin > 1) {
               link->io.Attributes2 = link->io.Attributes1;
               link->io.BasePort2 = io->win[1].base;
               link-> io.NumPorts2 = io->win[1].len;
           }
           /* This reserves IO space but doesn't actually enable it */
           //CFG_CHECK(RequestIO, link->handle, &link->io);
           CFG_CHECK(RequestIO, pcmcia_request_io(link->handle, &link->io)); 
       }

       /*
         Now set up a common memory window, if needed.  There is room
         in the dev_link_t structure for one memory window handle,
         but if the base addresses need to be saved, or if multiple 
         windows are needed, the info should go in the private data
         structure for this device.

         Note that the memory window base is a physical address, and
         needs to be mapped to virtual space with ioremap() before it
         is used.
       */
       if ((cfg->mem.nwin > 0) || ( dflt.mem.nwin > 0)) {
           cistpl_mem_t *mem =
               (cfg->mem.nwin) ? &cfg->mem : &dflt.mem;
           req.Attributes = WIN_DATA_WIDTH_16|WIN_MEMORY_TYPE_CM;
           req.Attributes |= WIN_ENABLE;
           req.Base = mem->win[0].host_addr;
           req.Size = mem->win[0].len;
           if (req.Size < 0x1000)
               req.Size = 0x1000;
           req.AccessSpeed = 0; 
           link->win = (window_handle_t)link->handle;
           //CFG_CHECK(RequestWindow, &link->win, &req);
           CFG_CHECK(RequestWindow,
pcmcia_request_window(&link->handle, &req, &link->win));
           map.Page = 0; map.CardOffset = mem->win[0].card_addr;
           //CFG_CHECK(MapMemPage, link->win, &map);
           CFG_CHECK(MapMemPage, pcmcia_map_mem_page(link->win, &map));
       } 
       /* If we got this far, we're cool! */
       break;

   next_entry:
       if (link->io.NumPorts1)
           //CardServices(ReleaseIO, link->handle, &link->io);
           pcmcia_release_io(link->handle, &link->io);
       //CS_CHECK(GetNextTuple, handle, &tuple); 
       CS_CHECK(GetNextTuple, pcmcia_get_next_tuple(handle, &tuple));
   }

   /*
      Allocate an interrupt line.  Note that this does not assign a
      handler to the interrupt, unless the 'Handler' member of the
      irq structure is initialized.
   */
   if (link->conf.Attributes & CONF_ENABLE_IRQ)
       //CS_CHECK(RequestIRQ, link->handle, &link->irq);
       CS_CHECK(RequestIRQ, pcmcia_request_irq(link->handle, &link->irq));

   /*
      This actually configures the PCMCIA socket -- setting up
      the I/O windows and the interrupt mapping, and putting the
      card and host interface into "Memory and IO" mode.
   */ 
   //CS_CHECK(RequestConfiguration, link->handle, &link->conf);
   CS_CHECK(RequestConfiguration,
pcmcia_request_configuration(link->handle, &link->conf));

   /*
     We can release the IO port allocations here, if some other
     driver for the card is going to loaded, and will expect the
     ports to be available.
   */
   if (free_ports) {
       printk(KERN_INFO "in free ports \n"); 
       if (link->io.BasePort1)
           release_region(link->io.BasePort1, link->io.NumPorts1);
       if (link->io.BasePort2)
           release_region(link->io.BasePort2, link->io.NumPorts2 );
   }

   /*
     At this point, the dev_node_t structure(s) need to be
     initialized and arranged in a linked list at link->dev.
 */
   sprintf(dev->node.dev_name, "LT4000");
   dev->node.major = 123;
   dev->node.minor = 0;

 /* Maps Physical Memmory To Local Data Structure For IO */
 /* Using physical Base requires (caddr_t) cast */
   dev->am_base = ioremap(req.Base, req.Size);
       dev->io_base = link->io.BasePort1; 

   /* Make Device Link*/
   link->dev = &dev->node;

   /* Finally, report what we've done */
   printk(KERN_INFO "%s: index 0x%02x: Vcc %d.%d",
          dev->node.dev_name, link->conf.ConfigIndex,
          link->conf.Vcc/10, link->conf.Vcc%10 );
   if (link->conf.Vpp1)
       printk(", Vpp %d.%d", link->conf.Vpp1/10, link->conf.Vpp1%10);
   if (link->conf.Attributes & CONF_ENABLE_IRQ)
       printk(", irq %d", link-> irq.AssignedIRQ);
   if (link->io.NumPorts1)
       printk(", io 0x%04x-0x%04x", link->io.BasePort1,
              link->io.BasePort1+link->io.NumPorts1-1);
   if (link->io.NumPorts2)
       printk(" & 0x%04x-0x%04x", link->io.BasePort2,
              link->io.BasePort2+link->io.NumPorts2-1);
   if (link->win)
       printk(", mem 0x%06lx-0x%06lx", req.Base, 
              req.Base+req.Size-1);
   printk("\n");

   link->state &= ~DEV_CONFIG_PENDING;
   return;

cs_failed:
   cs_error(link->handle, last_fn, last_ret);
   LT4000_release((u_long)link);

} /* LT4000_config */

/*======================================================================

   After a card is removed, LT4000_release() will unregister the
   device, and release the PCMCIA configuration.  If the device is
   still open, this will be postponed until it is closed.

======================================================================*/

static void LT4000_release(u_long arg)
{
   dev_link_t *link = (dev_link_t *)arg;

   //DEBUG(0, "LT4000_release(0x%p)\n", link);
   printk("LT4000_release(0x%p)\n", link);

   /*
      If the device is currently in use, we won't release until it
      is actually closed, because until then, we can't be sure that
      no one will try to access the device or its data structures.
   */
   if (link->open) {
       //DEBUG(1, "LT4000_cs: release postponed, '%s' still open\n",
       printk("LT4000_cs: release postponed, '%s' still open\n",
             link->dev->dev_name); 
       link->state |= DEV_STALE_CONFIG;
       return;
   }

   /* Unlink the device chain */
   link->dev = NULL;

   /*
     In a normal driver, additional code may be needed to release
     other kernel data structures associated with this device.
   */

   /* Don't bother checking to see if these succeed or not */
   if (link->win)
      // CardServices(ReleaseWindow, link->win);
   //CardServices(ReleaseConfiguration, link->handle);
      pcmcia_release_window(link->win); 
      pcmcia_release_configuration(link->handle);
   if (link->io.NumPorts1)
       //CardServices(ReleaseIO, link->handle, &link->io);
       pcmcia_release_io(link->handle, &link->io); 
   if (link->irq.AssignedIRQ)
       //CardServices(ReleaseIRQ, link->handle, &link->irq);
       pcmcia_release_irq(link->handle, &link->irq);
   link->state &= ~DEV_CONFIG;

   if (link->state & DEV_STALE_LINK)
       LT4000_detach(link);

} /* LT4000_release */

/*======================================================================

   The card status event handler.  Mostly, this schedules other
   stuff to run after an event is received.

   When a CARD_REMOVAL event is received, we immediately set a
   private flag to block future accesses to this device.  All the
   functions that actually access the device should check this flag
   to make sure the card is still present. 

======================================================================*/

static int LT4000_event(event_t event, int priority,
                      event_callback_args_t *args)
{
   dev_link_t *link = args->client_data;
   LT4000_local_t *dev = link->priv;

   //DEBUG(1, "LT4000_event(0x%06x)\n", event);
   printk( "LT4000_event(0x%06x)\n", event);

   switch (event) {
   case CS_EVENT_CARD_REMOVAL:
       link->state &= ~DEV_PRESENT;
       if (link->state & DEV_CONFIG) {
           ((LT4000_local_t *)link->priv)->stop = 1;
           //mod_timer(&link->release, jiffies + HZ/20); 
       }
       break;
   case CS_EVENT_CARD_INSERTION:
       link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
//      dev->bus = args->bus;
       LT4000_config(link);
       break;
   case CS_EVENT_PM_SUSPEND: 
       link->state |= DEV_SUSPEND;
       /* Fall through... */
   case CS_EVENT_RESET_PHYSICAL:
       /* Mark the device as stopped, to block IO until later */
       dev->stop = 1;
       if (link->state & DEV_CONFIG) 
           //CardServices(ReleaseConfiguration, link->handle);
           pcmcia_release_configuration(link->handle);
       break;
   case CS_EVENT_PM_RESUME:
       link->state &= ~DEV_SUSPEND; 
       /* Fall through... */
   case CS_EVENT_CARD_RESET:
       if (link->state & DEV_CONFIG)
           //CardServices(RequestConfiguration, link->handle, &link->conf);
           pcmcia_release_configuration(link->handle); 
       dev->stop = 0;
       /*
         In a normal driver, additional code may go here to restore
         the device state and restart IO.
       */
       break;
   }
   return 0;
} /* LT4000_event */ 

/*====================================================================*/
/*
static struct file_operations LT4000_fops = {
owner: THIS_MODULE,
open: LT4000_open,
release: LT4000_close,
read: LT4000_read, 
write: LT4000_write,
ioctl: LT4000_ioctl,
} ;
*/

int majorn=123;

static int __init init_LT4000_cs(void)
{
   // Commented by TowerGee
   servinfo_t serv;
   // Added by TowerGee
   int error;

   //DEBUG(0, "%s\n", version);
   printk("%s\n", version);

   // Commented by TowerGee
   //CardServices(GetCardServicesInfo, &serv);
   pcmcia_get_card_services_info(&serv);
   if (serv.Revision != CS_RELEASE_CODE) {
       printk(KERN_NOTICE "LT4000_cs: Card Services release " 
              "does not match!\n");
       return -1;
   }
   //register_pccard_driver(&dev_info, &LT4000_attach, &LT4000_detach);

   // Added by TowerGee
   error = pcmcia_register_driver(&LT4000_driver);
   if (error)
       return error;

       majorn = register_chrdev(123,"LT4000",&LT4000_fops);


   return 0;
}

static void __exit exit_LT4000_cs(void)
{
   //DEBUG(0, "LT4000_cs: unloading\n");
   printk("LT4000_cs: unloading\n");
   // Commented by TowerGee
   /*
   unregister_pccard_driver(&dev_info); 
       unregister_chrdev(123,"LT4000");
   while (dev_list != NULL) {
       //del_timer(&dev_list->release);
       if (dev_list->state & DEV_CONFIG)
           LT4000_release((u_long)dev_list); 
       LT4000_detach(dev_list);
   }
   */
   pcmcia_unregister_driver(&LT4000_driver);
   while (dev_list != NULL)
       LT4000_detach(dev_list);
}

module_init(init_LT4000_cs);
module_exit(exit_LT4000_cs);


/**********************************************************************************/
/* Smart Port Specific Routines*/
/**********************************************************************************/
static ssize_t  LT4000_read(struct file *file,char *buf,size_t count
,loff_t *loc)
{

       return -EINVAL;
}

static ssize_t LT4000_write(struct file *file,const char *buf,size_t
count , loff_t *loc)
{
       return -EINVAL;
}

static int LT4000_open(struct inode *inode , struct file *file )
{
 int minor = MINOR(inode->i_rdev);
 dev_link_t *link;
/*  LT4000_local_t *dev;  */

 printk(KERN_INFO "LT4000_open(%d)\n", minor);

 for (link = dev_list; link; link = link->next) {
     if (link->dev && link->dev->minor == minor)
         break;
 }
 if(!DEV_OK(link))
       return -EINVAL;
 link->open++;
 //MOD_INC_USE_COUNT;
 //kref_get(&link.priv->kref);
 return 0;
}

static int LT4000_close(struct inode *inode , struct file *file )
{
 int minor = MINOR(inode->i_rdev);
 dev_link_t *link;
 printk(KERN_INFO "LT4000_close(%d)\n", minor);

 for (link = dev_list; link; link = link->next) {
     if (link->dev && link->dev->minor == minor)
         break;
 }
 link->open--;
 //MOD_DEC_USE_COUNT;
 return 0;
}

#if 0
static u_char calcChksum( u_char data[] ,int length)
{
       int i;
       u_char chksum=0;
   for(i=0;i<length;i++) {
               chksum ^= data[i];
       }
       return chksum; 
}
#endif

static int writeToDevice(u_char * cmd ,u_char result[] ,LT4000_local_t *dev )
{
int i;
caddr_t am_base;   /* To store the base address */
u_char len;
u_char rlen;
u_char SPCmdPacket[265];
u_char ctl_byte; 
u_char chksum,sts_byte;
u_char status;
am_base = dev->am_base;

if(get_user(len,cmd+1)<0) return -EFAULT;
if(get_user(ctl_byte,cmd+0) < 0 ) return -EFAULT;
if ( ctl_byte & CONTROL_LENGTHBIT ) len+=256;
if(copy_from_user(SPCmdPacket,cmd,len+3)) return -EFAULT;

PRINTK("WSPCmdPacket = ");
for(i=0;i<len+3;i++) {
       PRINTK("%0x-",SPCmdPacket[i]);
       writeb(SPCmdPacket[i],am_base+i*2);
}
PRINTK("\n");

/* Tell the card that there is a new Command */
writeb(NEW_COMMAND,am_base+STATUS_OFFSET);

/* Wait for status to change */
while(1) {
   status = readb(am_base+STATUS_OFFSET);
   //printk(KERN_INFO " status = %0x \n ", status );
 if( status != STATUS_READY ) {
           schedule_timeout(1000);//100 
       }
   else
       break;
   }
sts_byte = readb(am_base);
PRINTK(KERN_INFO "sts_byte = %0x \n",sts_byte);
/*if( !validStatus(sts_byte) ) return  -1; */
rlen = readb(am_base+LENGTH_OFFSET) ; 
if( sts_byte & STATUS_LENGTHBIT)  rlen+=256;
PRINTK(KERN_INFO "rlen = %d \n",rlen);
chksum = readb(am_base+CHKSUM_OFFSET);
result[0]=sts_byte;
result[1]=rlen;
result[2]=chksum;
PRINTK(KERN_INFO " response = "); 
for(i=3;i<rlen+3;i++) {
   result[i]=readb(am_base+i*2);
   PRINTK("%0x-",result[i]);
}
PRINTK("\nSaiu Write to device\n");


return rlen+3;
}

static int LT4000_ioctl(struct inode *inode, struct file *file, u_int
cmd, u_long arg)
{
       int minor = MINOR(inode->i_rdev);
       dev_link_t *link;
       LT4000_local_t *dev;
       int length = 0;                                                
                                /* return value                 */
//      u_int size;                                                   
                                         /* size for data transfers   
  */
       u_char buf[LT4000_BUFSZ];

//#ifdef PCMCIA_DEBUG
//      if (pc_debug)
               printk(KERN_DEBUG "LT4000_ioctl(%d, 0x%0x)\n", minor, cmd);
//#endif

/*Determine Recipient of IOCTL*/
       for (link = dev_list; link; link = link->next) {
               if (link->dev && link->dev->minor == minor)
                       break;
       } 

       if (!DEV_OK(link))
               return -ENODEV;

       dev = (LT4000_local_t *)link->priv;
/*
       size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
       if (cmd & IOC_IN)
               if ((ret = verify_area(VERIFY_READ, (char *)arg, size))) 
                       return ret;
       if (cmd & IOC_OUT)
               if ((ret = verify_area(VERIFY_WRITE, (char *)arg, size)))
                       return ret;
*/
/*
       switch (cmd) { 
       case LT4000_SEL_CHAN:
        CmdAPDU[0]=0;
                CmdAPDU[1] = 0x00;
                CmdAPDU[2] = 0;
                CmdAPDU[3] = 0;
                CmdAPDU[4] = 0;
                length=5; 
                control=0xC0;
                break;
       case LT4000_STATUS:
                CmdAPDU[0]=0;
                CmdAPDU[1] = 0x16;
                CmdAPDU[2] = 0;
                CmdAPDU[3] = 0; 
                CmdAPDU[4] = 0;
                length =5;
                control = 0xC0;
                break;
       break;
   case LT4000_CONTROL:
               CmdAPDU[0]=0x00;
               CmdAPDU[1]=0x16; 
               CmdAPDU[2]=0x00;
               get_user(CmdAPDU[3],(u_char *)arg);
               CmdAPDU[4]=0x00;
               length=5;
               control=0x80;
               break;
   case LT4000_RESET: 
               CmdAPDU[0]=0x00;
               CmdAPDU[1]=0x02;
               CmdAPDU[2]=0x00;
               get_user(temp,(u_char *) arg);
               if( temp == 1 )
                       CmdAPDU[3]=0x01; 
               else
                       CmdAPDU[3]=0x00;
               CmdAPDU[4]=0x20;
               length = 5;
               control = 0xC0;
               break;

       case LT4000_SLEEP:
               CmdAPDU[0]=0x00;
               CmdAPDU[1]=0x0E;
               get_user(CmdAPDU[2],(u_char *)arg);
               get_user(CmdAPDU[3],(u_char *)(arg+1));
               CmdAPDU[4]=0x00; 
               length = 0x05;
               control = 0x80;
               break;

       case LT4000_POWER:
               CmdAPDU[0]=0x00;
               CmdAPDU[1]=0x14;
               CmdAPDU[2]=0x00;
               get_user(CmdAPDU[3],(u_char *)arg);
               CmdAPDU[4]=0x20; 
               length = 0x05;
               control = 0xC0;
               break;
       case LT4000_PASS_THRU:
               get_user(length,(u_char *)arg);
               get_user(temp,(u_char *)(arg+1)); 
               if( temp ==1 )
                       length+=256;
               for(i=0;i<length;i++) {
                       get_user(CmdAPDU[i],(u_char *)( arg+2+i));
                       }
               printk(KERN_INFO "length in transmit = %0x \n",length ); 
               control =0x00;
               break;
       default:
               ret = -EINVAL;
               break;
       }
       if( cmd == LT4000_DEBUG) {
               length = writeSPCmdPacket_debug(CmdAPDU,buf,length,dev); 
       }
       else
               length = writeSPCmdPacket(CmdAPDU ,buf ,length, control , dev);
       if( buf == NULL ) return -EINVAL;
       if ( copy_to_user((u_char *) arg,buf,length) ) return -EFAULT; 
       return length-1;

*/
       switch(cmd) {

       case LT4000_COMMAND :
                       length = writeToDevice((u_char *)arg,buf,dev);
                       if( length < 0) return length;
                       if ( copy_to_user((u_char *) arg,buf,length) )
return -EFAULT;
                       break;
       default:
                       break;
       }
       return 0;
}

MODULE_LICENSE("GPL");


===================================END===============================

From jar at pcuf.fi  Wed Sep  7 13:07:43 2005
From: jar at pcuf.fi (Jar)
Date: Wed Sep  7 13:08:09 2005
Subject: restart pcmcia problem for my LT4000 driver for kernel 2.6
In-Reply-To: <575303a10509070837221c870f@mail.gmail.com>
References: <575303a10509070837221c870f@mail.gmail.com>
Message-ID: <1081.192.168.1.100.1126112863.squirrel@kone>


> And I have made some progress. Now I can compile it successfully, and
> copy it to /lib/modules/2.6.11-1.14_FC3/kernel/drivers/pcmcia/LT4000_cs.ko
> but seems that it does not work well. I will attach the source code in
> the last of this thread.

Should you run e.g. '/sbin/depmod -ae' after you copied the LT4000_cs.ko.

-- 
Best Regards, Jar

From daniel.ritz at gmx.ch  Wed Sep  7 16:00:10 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Wed Sep  7 16:00:35 2005
Subject: bug:socket0_pcmcia unable to apply power
Message-ID: <200509072200.10910.daniel.ritz@gmx.ch>

hi

from you're lspci output it seems that your vide controller is a shared
memory one. looking at the CB controller the iomemory starts at 448 MB.
so you have 512 MB of memory, 64 MB are for the video controller. it's
just that the BIOS is somewhat crappy and don't tell the kernel in the
e820 memory map. to fix your problem just add the following to the kernel
command line:
	reserve=0x1c000000,0x4000000
this tells the kernel that the memory region from 448-512MB is reserved.
pci iomemory will be allocated above that then.

rgds
-daniel

From daniel.ritz at gmx.ch  Wed Sep  7 16:03:10 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Wed Sep  7 16:03:34 2005
Subject: Strange behaviour of PCMCIA
Message-ID: <200509072203.10375.daniel.ritz@gmx.ch>

hi

please send full dmesg output, lspci -vvv and tell what kernel version
this is actually...

rgds
-daniel

From daniel.ritz at gmx.ch  Wed Sep  7 16:15:56 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Wed Sep  7 16:16:26 2005
Subject: TI Cardbus 1225 interrupt problem (?)
Message-ID: <200509072215.56665.daniel.ritz@gmx.ch>

hi

looking closer at the following part:
> Yenta: CardBus bridge found at 0000:00:03.0 [1028:00bb]
> Yenta: Using CSCINT to route CSC interrupts to PCI
> Yenta: Routing CardBus interrupts to PCI
> Yenta TI: socket 0000:00:03.0, mfunc 0x01261222, devctl 0x66

while this seems to be more or less reasonable...

> Yenta TI: socket 0000:00:03.0 probing PCI interrupt failed, trying to fix
> Yenta TI: socket 0000:00:03.0 falling back to parallel PCI interrupts
> Yenta TI: socket 0000:00:03.0 no PCI interrupts. Fish. Please report.
> Yenta: ISA IRQ mask 0x0000, PCI irq 0
> Socket status: 00000000

...the socket state is for sure not. it _has_ to start with a 3, telling
that what voltages the controller is capable of.
to me it seems that somewhat is overlapping the memory region assigned
to the cardbus bridge.
try adding the following to the kernel command line:
	reserve=0x10000000,0x100000
this reserves a block of 32 MB starting ath 256 MB and forces the kernel
to assign a different memory region to the cardbus bridge.

rgds
-daniel

From daniel.ritz at gmx.ch  Wed Sep  7 16:18:43 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Wed Sep  7 16:19:53 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
Message-ID: <200509072218.43704.daniel.ritz@gmx.ch>

hi

please send full dmesg and lspci -vvv. most probably a problem with the
BIOS not telling the kernel the truth about used/reserved memory...

rgds
-daniel

From linux at dominikbrodowski.net  Wed Sep  7 17:37:06 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:39:34 2005
Subject: [PATCH 6/13] pcmcia: convert serial_cs to use new suspend mechanism
Message-ID: <20050907213706.GG7453@dominikbrodowski.de>

Update the serial_cs driver for the suspend/resume changes.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/serial/serial_cs.c |   31 ++++++++++---------------------
 1 files changed, 10 insertions(+), 21 deletions(-)

Index: 2.6.13-git4/drivers/serial/serial_cs.c
===================================================================
--- 2.6.13-git4.orig/drivers/serial/serial_cs.c
+++ 2.6.13-git4/drivers/serial/serial_cs.c
@@ -159,8 +159,9 @@ static void serial_remove(dev_link_t *li
 	}
 }
 
-static void serial_suspend(dev_link_t *link)
+static int serial_suspend(struct pcmcia_device *dev)
 {
+	dev_link_t *link = dev_to_instance(dev);
 	link->state |= DEV_SUSPEND;
 
 	if (link->state & DEV_CONFIG) {
@@ -173,10 +174,13 @@ static void serial_suspend(dev_link_t *l
 		if (!info->slave)
 			pcmcia_release_configuration(link->handle);
 	}
+
+	return 0;
 }
 
-static void serial_resume(dev_link_t *link)
+static int serial_resume(struct pcmcia_device *dev)
 {
+	dev_link_t *link = dev_to_instance(dev);
 	link->state &= ~DEV_SUSPEND;
 
 	if (DEV_OK(link)) {
@@ -189,6 +193,8 @@ static void serial_resume(dev_link_t *li
 		for (i = 0; i < info->ndev; i++)
 			serial8250_resume_port(info->line[i]);
 	}
+
+	return 0;
 }
 
 /*======================================================================
@@ -731,7 +737,6 @@ static int
 serial_event(event_t event, int priority, event_callback_args_t * args)
 {
 	dev_link_t *link = args->client_data;
-	struct serial_info *info = link->priv;
 
 	DEBUG(1, "serial_event(0x%06x)\n", event);
 
@@ -744,24 +749,6 @@ serial_event(event_t event, int priority
 		link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
 		serial_config(link);
 		break;
-
-	case CS_EVENT_PM_SUSPEND:
-		serial_suspend(link);
-		break;
-
-	case CS_EVENT_RESET_PHYSICAL:
-		if ((link->state & DEV_CONFIG) && !info->slave)
-			pcmcia_release_configuration(link->handle);
-		break;
-
-	case CS_EVENT_PM_RESUME:
-		serial_resume(link);
-		break;
-
-	case CS_EVENT_CARD_RESET:
-		if (DEV_OK(link) && !info->slave)
-			pcmcia_request_configuration(link->handle, &link->conf);
-		break;
 	}
 	return 0;
 }
@@ -880,6 +867,8 @@ static struct pcmcia_driver serial_cs_dr
 	.event		= serial_event,
 	.detach		= serial_detach,
 	.id_table	= serial_ids,
+	.suspend	= serial_suspend,
+	.resume		= serial_resume,
 };
 
 static int __init init_serial_cs(void)

From linux at dominikbrodowski.net  Wed Sep  7 17:36:56 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:11 2005
Subject: [PATCH 4/13] pcmcia: new suspend core
Message-ID: <20050907213656.GE7453@dominikbrodowski.de>

Add support to the PCMCIA core to move the supend and resume methods out
of the event handler. Also use these functions for pre- and post-reset,
as almost all drivers do it this way anyway. Convert pcnet_cs as an
example.

Signed-off-by: Dominik Brodowski <linux@dominikbrodoswki.net>
---
 Documentation/pcmcia/driver-changes.txt |    6 +++
 drivers/net/pcmcia/pcnet_cs.c           |   58 +++++++++++++++++++-------------
 drivers/pcmcia/ds.c                     |   10 +++++
 include/pcmcia/ds.h                     |    6 +++
 4 files changed, 57 insertions(+), 23 deletions(-)

Index: 2.6.13-rc4-git1/drivers/net/pcmcia/pcnet_cs.c
===================================================================
--- 2.6.13-rc4-git1.orig/drivers/net/pcmcia/pcnet_cs.c
+++ 2.6.13-rc4-git1/drivers/net/pcmcia/pcnet_cs.c
@@ -780,6 +780,39 @@ static void pcnet_release(dev_link_t *li
 
 ======================================================================*/
 
+static int pcnet_suspend(struct pcmcia_device *p_dev)
+{
+	dev_link_t *link = dev_to_instance(p_dev);
+	struct net_device *dev = link->priv;
+
+	link->state |= DEV_SUSPEND;
+	if (link->state & DEV_CONFIG) {
+		if (link->open)
+			netif_device_detach(dev);
+		pcmcia_release_configuration(link->handle);
+	}
+
+	return 0;
+}
+
+static int pcnet_resume(struct pcmcia_device *p_dev)
+{
+	dev_link_t *link = dev_to_instance(p_dev);
+	struct net_device *dev = link->priv;
+
+	link->state &= ~DEV_SUSPEND;
+	if (link->state & DEV_CONFIG) {
+		pcmcia_request_configuration(link->handle, &link->conf);
+		if (link->open) {
+			pcnet_reset_8390(dev);
+			NS8390_init(dev, 1);
+			netif_device_attach(dev);
+		}
+	}
+
+	return 0;
+}
+
 static int pcnet_event(event_t event, int priority,
 		       event_callback_args_t *args)
 {
@@ -798,29 +831,6 @@ static int pcnet_event(event_t event, in
 	link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
 	pcnet_config(link);
 	break;
-    case CS_EVENT_PM_SUSPEND:
-	link->state |= DEV_SUSPEND;
-	/* Fall through... */
-    case CS_EVENT_RESET_PHYSICAL:
-	if (link->state & DEV_CONFIG) {
-	    if (link->open)
-		netif_device_detach(dev);
-	    pcmcia_release_configuration(link->handle);
-	}
-	break;
-    case CS_EVENT_PM_RESUME:
-	link->state &= ~DEV_SUSPEND;
-	/* Fall through... */
-    case CS_EVENT_CARD_RESET:
-	if (link->state & DEV_CONFIG) {
-	    pcmcia_request_configuration(link->handle, &link->conf);
-	    if (link->open) {
-		pcnet_reset_8390(dev);
-		NS8390_init(dev, 1);
-		netif_device_attach(dev);
-	    }
-	}
-	break;
     }
     return 0;
 } /* pcnet_event */
@@ -1843,6 +1853,8 @@ static struct pcmcia_driver pcnet_driver
 	.detach		= pcnet_detach,
 	.owner		= THIS_MODULE,
 	.id_table	= pcnet_ids,
+	.suspend	= pcnet_suspend,
+	.resume		= pcnet_resume,
 };
 
 static int __init init_pcnet_cs(void)
Index: 2.6.13-rc4-git1/include/pcmcia/ds.h
===================================================================
--- 2.6.13-rc4-git1.orig/include/pcmcia/ds.h
+++ 2.6.13-rc4-git1/include/pcmcia/ds.h
@@ -137,6 +137,10 @@ struct pcmcia_driver {
 	int (*event)		(event_t event, int priority,
 				 event_callback_args_t *);
 	void			(*detach)(dev_link_t *);
+
+	int (*suspend)		(struct pcmcia_device *dev);
+	int (*resume)		(struct pcmcia_device *dev);
+
 	struct module		*owner;
 	struct pcmcia_device_id	*id_table;
 	struct device_driver	drv;
@@ -193,6 +197,8 @@ struct pcmcia_device {
 #define handle_to_pdev(handle) (handle)
 #define handle_to_dev(handle) (handle->dev)
 
+#define dev_to_instance(dev) (dev->instance);
+
 /* error reporting */
 void cs_error(client_handle_t handle, int func, int ret);
 
Index: 2.6.13-rc4-git1/drivers/pcmcia/ds.c
===================================================================
--- 2.6.13-rc4-git1.orig/drivers/pcmcia/ds.c
+++ 2.6.13-rc4-git1/drivers/pcmcia/ds.c
@@ -946,6 +946,16 @@ static int send_event_callback(struct de
 	if (p_dev->state & (CLIENT_UNBOUND|CLIENT_STALE))
 		return 0;
 
+	if ((data->event == CS_EVENT_PM_SUSPEND) ||
+	    (data->event == CS_EVENT_RESET_PHYSICAL)) {
+		if (p_drv->suspend)
+			return p_drv->suspend(p_dev);
+	} else if ((data->event == CS_EVENT_PM_RESUME) ||
+		   (data->event == CS_EVENT_CARD_RESET)) {
+		if (p_drv->resume)
+			return p_drv->resume(p_dev);
+	}
+
 	if (p_drv->event)
 		return p_drv->event(data->event, data->priority,
 				    &p_dev->event_callback_args);
Index: 2.6.13-rc4-git1/Documentation/pcmcia/driver-changes.txt
===================================================================
--- 2.6.13-rc4-git1.orig/Documentation/pcmcia/driver-changes.txt
+++ 2.6.13-rc4-git1/Documentation/pcmcia/driver-changes.txt
@@ -1,5 +1,11 @@
 This file details changes in 2.6 which affect PCMCIA card driver authors:
 
+* Move suspend, resume and reset out of event handler (as of 2.6.14)
+       int (*suspend)          (struct pcmcia_device *dev);
+       int (*resume)           (struct pcmcia_device *dev);
+  should be initialized in struct pcmcia_driver, and handle
+  (SUSPEND == RESET_PHYSICAL) and (RESUME == CARD_RESET) events
+
 * event handler initialization in struct pcmcia_driver (as of 2.6.13)
    The event handler is notified of all events, and must be initialized
    as the event() callback in the driver's struct pcmcia_driver.

From linux at dominikbrodowski.net  Wed Sep  7 17:37:27 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:14 2005
Subject: [PATCH 7/13] pcmcia: use runtime suspend/resume support to unify
	all suspend code paths
Message-ID: <20050907213727.GH7453@dominikbrodowski.de>

Merge the suspend and resume methods for 16-bit PCMCIA cards into the
device model -- for both runtime power management and suspend to ram/disk.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/base/power/power.h   |   17 -------
 drivers/base/power/runtime.c |    2
 drivers/pcmcia/cs.c          |   14 +++++-
 drivers/pcmcia/cs_internal.h |    2
 drivers/pcmcia/ds.c          |   96 ++++++++++++++++++++++++++++++++++++++-----
 include/linux/device.h       |   20 ++++++++
 6 files changed, 123 insertions(+), 28 deletions(-)

Index: 2.6.13-git4/drivers/pcmcia/cs.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/cs.c
+++ 2.6.13-git4/drivers/pcmcia/cs.c
@@ -773,8 +773,13 @@ int pccard_reset_card(struct pcmcia_sock
 		ret = send_event(skt, CS_EVENT_RESET_REQUEST, CS_EVENT_PRI_LOW);
 		if (ret == 0) {
 			send_event(skt, CS_EVENT_RESET_PHYSICAL, CS_EVENT_PRI_LOW);
-			if (socket_reset(skt) == CS_SUCCESS)
+			if (skt->callback)
+				skt->callback->suspend(skt);
+			if (socket_reset(skt) == CS_SUCCESS) {
 				send_event(skt, CS_EVENT_CARD_RESET, CS_EVENT_PRI_LOW);
+				if (skt->callback)
+					skt->callback->resume(skt);
+			}
 		}
 
 		ret = CS_SUCCESS;
@@ -805,6 +810,11 @@ int pcmcia_suspend_card(struct pcmcia_so
 			ret = CS_UNSUPPORTED_FUNCTION;
 			break;
 		}
+		if (skt->callback) {
+			ret = skt->callback->suspend(skt);
+			if (ret)
+				break;
+		}
 		ret = socket_suspend(skt);
 	} while (0);
 	up(&skt->skt_sem);
@@ -831,6 +841,8 @@ int pcmcia_resume_card(struct pcmcia_soc
 			break;
 		}
 		ret = socket_resume(skt);
+		if (!ret && skt->callback)
+			skt->callback->resume(skt);
 	} while (0);
 	up(&skt->skt_sem);
 
Index: 2.6.13-git4/drivers/pcmcia/cs_internal.h
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/cs_internal.h
+++ 2.6.13-git4/drivers/pcmcia/cs_internal.h
@@ -143,6 +143,8 @@ struct pcmcia_callback{
 	struct module	*owner;
 	int		(*event) (struct pcmcia_socket *s, event_t event, int priority);
 	void		(*requery) (struct pcmcia_socket *s);
+	int		(*suspend) (struct pcmcia_socket *s);
+	int		(*resume) (struct pcmcia_socket *s);
 };
 
 int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c);
Index: 2.6.13-git4/drivers/pcmcia/ds.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/ds.c
+++ 2.6.13-git4/drivers/pcmcia/ds.c
@@ -915,6 +915,78 @@ static struct device_attribute pcmcia_de
 	__ATTR_NULL,
 };
 
+/* PM support, also needed for reset */
+
+static int pcmcia_dev_suspend(struct device * dev, pm_message_t state)
+{
+	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
+	struct pcmcia_driver *p_drv = NULL;
+
+	if (dev->driver)
+		p_drv = to_pcmcia_drv(dev->driver);
+
+	if (p_drv && p_drv->suspend)
+		return p_drv->suspend(p_dev);
+
+	return 0;
+}
+
+
+static int pcmcia_dev_resume(struct device * dev)
+{
+	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
+        struct pcmcia_driver *p_drv = NULL;
+
+	if (dev->driver)
+		p_drv = to_pcmcia_drv(dev->driver);
+
+	if (p_drv && p_drv->suspend)
+		return p_drv->suspend(p_dev);
+
+	return 0;
+}
+
+
+static int pcmcia_bus_suspend_callback(struct device *dev, void * _data)
+{
+	struct pcmcia_socket *skt = _data;
+	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
+
+	if (p_dev->socket != skt)
+		return 0;
+
+	return dpm_runtime_suspend(dev, PMSG_SUSPEND);
+}
+
+static int pcmcia_bus_resume_callback(struct device *dev, void * _data)
+{
+	struct pcmcia_socket *skt = _data;
+	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
+
+	if (p_dev->socket != skt)
+		return 0;
+
+	dpm_runtime_resume(dev);
+
+	return 0;
+}
+
+static int pcmcia_bus_resume(struct pcmcia_socket *skt)
+{
+	bus_for_each_dev(&pcmcia_bus_type, NULL, skt, pcmcia_bus_resume_callback);
+	return 0;
+}
+
+static int pcmcia_bus_suspend(struct pcmcia_socket *skt)
+{
+	if (bus_for_each_dev(&pcmcia_bus_type, NULL, skt,
+			     pcmcia_bus_suspend_callback)) {
+		pcmcia_bus_resume(skt);
+		return -EIO;
+	}
+	return 0;
+}
+
 
 /*======================================================================
 
@@ -922,6 +994,8 @@ static struct device_attribute pcmcia_de
     
 ======================================================================*/
 
+
+
 struct send_event_data {
 	struct pcmcia_socket *skt;
 	event_t event;
@@ -946,16 +1020,6 @@ static int send_event_callback(struct de
 	if (p_dev->state & (CLIENT_UNBOUND|CLIENT_STALE))
 		return 0;
 
-	if ((data->event == CS_EVENT_PM_SUSPEND) ||
-	    (data->event == CS_EVENT_RESET_PHYSICAL)) {
-		if (p_drv->suspend)
-			return p_drv->suspend(p_dev);
-	} else if ((data->event == CS_EVENT_PM_RESUME) ||
-		   (data->event == CS_EVENT_CARD_RESET)) {
-		if (p_drv->resume)
-			return p_drv->resume(p_dev);
-	}
-
 	if (p_drv->event)
 		return p_drv->event(data->event, data->priority,
 				    &p_dev->event_callback_args);
@@ -1007,6 +1071,13 @@ static int ds_event(struct pcmcia_socket
 		ret = send_event(skt, event, priority);
 		break;
 
+	case CS_EVENT_PM_SUSPEND:
+	case CS_EVENT_PM_RESUME:
+	case CS_EVENT_RESET_PHYSICAL:
+	case CS_EVENT_CARD_RESET:
+		handle_event(skt, event);
+		break;
+
 	default:
 		handle_event(skt, event);
 		send_event(skt, event, priority);
@@ -1161,10 +1232,13 @@ int pcmcia_deregister_client(struct pcmc
 } /* deregister_client */
 EXPORT_SYMBOL(pcmcia_deregister_client);
 
+
 static struct pcmcia_callback pcmcia_bus_callback = {
 	.owner = THIS_MODULE,
 	.event = ds_event,
 	.requery = pcmcia_bus_rescan,
+	.suspend = pcmcia_bus_suspend,
+	.resume = pcmcia_bus_resume,
 };
 
 static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev)
@@ -1231,6 +1305,8 @@ struct bus_type pcmcia_bus_type = {
 	.hotplug = pcmcia_bus_hotplug,
 	.match = pcmcia_bus_match,
 	.dev_attrs = pcmcia_dev_attrs,
+	.suspend = pcmcia_dev_suspend,
+	.resume = pcmcia_dev_resume,
 };
 
 
Index: 2.6.13-git4/drivers/base/power/power.h
===================================================================
--- 2.6.13-git4.orig/drivers/base/power/power.h
+++ 2.6.13-git4/drivers/base/power/power.h
@@ -63,13 +63,6 @@ extern int resume_device(struct device *
 extern int suspend_device(struct device *, pm_message_t);
 
 
-/*
- * runtime.c
- */
-
-extern int dpm_runtime_suspend(struct device *, pm_message_t);
-extern void dpm_runtime_resume(struct device *);
-
 #else /* CONFIG_PM */
 
 
@@ -82,14 +75,4 @@ static inline void device_pm_remove(stru
 
 }
 
-static inline int dpm_runtime_suspend(struct device * dev, pm_message_t state)
-{
-	return 0;
-}
-
-static inline void dpm_runtime_resume(struct device * dev)
-{
-
-}
-
 #endif
Index: 2.6.13-git4/include/linux/device.h
===================================================================
--- 2.6.13-git4.orig/include/linux/device.h
+++ 2.6.13-git4/include/linux/device.h
@@ -431,4 +431,24 @@ extern void firmware_unregister(struct s
 	MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
 #define MODULE_ALIAS_CHARDEV_MAJOR(major) \
 	MODULE_ALIAS("char-major-" __stringify(major) "-*")
+
+#ifdef CONFIG_PM
+
+extern int dpm_runtime_suspend(struct device *, pm_message_t);
+extern void dpm_runtime_resume(struct device *);
+
+#else
+
+static inline int dpm_runtime_suspend(struct device * dev, pm_message_t state)
+{
+	return 0;
+}
+
+static inline void dpm_runtime_resume(struct device * dev)
+{
+
+}
+
+#endif /* CONFIG_PM */
+
 #endif /* _DEVICE_H_ */
Index: 2.6.13-git4/drivers/base/power/runtime.c
===================================================================
--- 2.6.13-git4.orig/drivers/base/power/runtime.c
+++ 2.6.13-git4/drivers/base/power/runtime.c
@@ -36,6 +36,7 @@ void dpm_runtime_resume(struct device * 
 	runtime_resume(dev);
 	up(&dpm_sem);
 }
+EXPORT_SYMBOL_GPL(dpm_runtime_resume);
 
 
 /**
@@ -61,6 +62,7 @@ int dpm_runtime_suspend(struct device * 
 	up(&dpm_sem);
 	return error;
 }
+EXPORT_SYMBOL_GPL(dpm_runtime_suspend);
 
 
 /**

From linux at dominikbrodowski.net  Wed Sep  7 17:36:46 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:17 2005
Subject: [PATCH 2/13] pcmcia: tiny yenta_socket.c cleanup
Message-ID: <20050907213646.GC7453@dominikbrodowski.de>

pci_set_power_state is not needed, as we call pci_enable_device()
somewhere else. Also, the resource we write to PCI_BASE_ADDRESS_0 needs
to be converted to bus-centric view first.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 drivers/pcmcia/yenta_socket.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Index: 2.6.13-git4/drivers/pcmcia/yenta_socket.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/yenta_socket.c
+++ 2.6.13-git4/drivers/pcmcia/yenta_socket.c
@@ -919,11 +919,12 @@ static void yenta_config_init(struct yen
 {
 	u16 bridge;
 	struct pci_dev *dev = socket->dev;
+	struct pci_bus_region region;
 
-	pci_set_power_state(socket->dev, 0);
+	pcibios_resource_to_bus(socket->dev, &region, &dev->resource[0]);
 
 	config_writel(socket, CB_LEGACY_MODE_BASE, 0);
-	config_writel(socket, PCI_BASE_ADDRESS_0, dev->resource[0].start);
+	config_writel(socket, PCI_BASE_ADDRESS_0, region.start);
 	config_writew(socket, PCI_COMMAND,
 			PCI_COMMAND_IO |
 			PCI_COMMAND_MEMORY |

From linux at dominikbrodowski.net  Wed Sep  7 17:36:33 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:46 2005
Subject: [PATCH 0/13] pcmcia updates
Message-ID: <20050907213633.GA7453@dominikbrodowski.de>

Hi,

Some additional PCMCIA cleanups will soon be sent to the list for review, and to
akpm to merge into -mm. Four patches, though, are so large that I'll not post them
here; they are available at

http://kernel.org/pub/linux/kernel/people/brodo/patches/2.6.13/pcmcia-34-02-convert-drivers

Update in-kernel drivers to use the new suspend and resume methods.


http://kernel.org/pub/linux/kernel/people/brodo/patches/2.6.13/pcmcia-36-02-convert-drivers

Convert all in-kernel drivers to use the one-step removal function



http://kernel.org/pub/linux/kernel/people/brodo/patches/2.6.13/pcmcia-37-01-remove-list-in-drivers

The linked list of devices managed by each PCMCIA driver is, in very most
cases, unused. Therefore, remove it from many drivers.


http://kernel.org/pub/linux/kernel/people/brodo/patches/2.6.13/pcmcia-38-02-convert-drivers

Convert the remaining drivers in Linus' tree to use the new
->probe() mechanism.

Overall diffstat: 2462 insertions(+), 4709 deletions(-)

	Dominik

From linux at dominikbrodowski.net  Wed Sep  7 17:37:34 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:52 2005
Subject: [PATCH 8/13] pcmcia: unified device removal code path
Message-ID: <20050907213734.GI7453@dominikbrodowski.de>

Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function,
and convert pcnet_cs.c as an example. Old functionality is preserved, for
the moment.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 Documentation/pcmcia/driver-changes.txt |    3
 drivers/net/pcmcia/pcnet_cs.c           |   48 ++++++---------
 drivers/pcmcia/ds.c                     |   97 ++++++++++++++++++++------------
 include/pcmcia/ds.h                     |    2
 4 files changed, 87 insertions(+), 63 deletions(-)

Index: 2.6.13-git4/drivers/net/pcmcia/pcnet_cs.c
===================================================================
--- 2.6.13-git4.orig/drivers/net/pcmcia/pcnet_cs.c
+++ 2.6.13-git4/drivers/net/pcmcia/pcnet_cs.c
@@ -121,7 +121,7 @@ static int setup_dma_config(dev_link_t *
 			    int stop_pg);
 
 static dev_link_t *pcnet_attach(void);
-static void pcnet_detach(dev_link_t *);
+static void pcnet_detach(struct pcmcia_device *p_dev);
 
 static dev_info_t dev_info = "pcnet_cs";
 static dev_link_t *dev_list;
@@ -280,7 +280,7 @@ static dev_link_t *pcnet_attach(void)
     ret = pcmcia_register_client(&link->handle, &client_reg);
     if (ret != CS_SUCCESS) {
 	cs_error(link->handle, RegisterClient, ret);
-	pcnet_detach(link);
+	pcnet_detach(link->handle);
 	return NULL;
     }
 
@@ -296,31 +296,29 @@ static dev_link_t *pcnet_attach(void)
 
 ======================================================================*/
 
-static void pcnet_detach(dev_link_t *link)
+static void pcnet_detach(struct pcmcia_device *p_dev)
 {
-    struct net_device *dev = link->priv;
-    dev_link_t **linkp;
-
-    DEBUG(0, "pcnet_detach(0x%p)\n", link);
+	dev_link_t *link = dev_to_instance(p_dev);
+	struct net_device *dev = link->priv;
+	dev_link_t **linkp;
 
-    /* Locate device structure */
-    for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-	if (*linkp == link) break;
-    if (*linkp == NULL)
-	return;
+	DEBUG(0, "pcnet_detach(0x%p)\n", link);
 
-    if (link->dev)
-	unregister_netdev(dev);
+	/* Locate device structure */
+	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
+		if (*linkp == link) break;
+	if (*linkp == NULL)
+		return;
 
-    if (link->state & DEV_CONFIG)
-	pcnet_release(link);
+	if (link->dev)
+		unregister_netdev(dev);
 
-    if (link->handle)
-	pcmcia_deregister_client(link->handle);
+	if (link->state & DEV_CONFIG)
+		pcnet_release(link);
 
-    /* Unlink device structure, free bits */
-    *linkp = link->next;
-    free_netdev(dev);
+	/* Unlink device structure, free bits */
+	*linkp = link->next;
+	free_netdev(dev);
 } /* pcnet_detach */
 
 /*======================================================================
@@ -817,16 +815,10 @@ static int pcnet_event(event_t event, in
 		       event_callback_args_t *args)
 {
     dev_link_t *link = args->client_data;
-    struct net_device *dev = link->priv;
 
     DEBUG(2, "pcnet_event(0x%06x)\n", event);
 
     switch (event) {
-    case CS_EVENT_CARD_REMOVAL:
-	link->state &= ~DEV_PRESENT;
-	if (link->state & DEV_CONFIG)
-	    netif_device_detach(dev);
-	break;
     case CS_EVENT_CARD_INSERTION:
 	link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
 	pcnet_config(link);
@@ -1850,7 +1842,7 @@ static struct pcmcia_driver pcnet_driver
 	},
 	.attach		= pcnet_attach,
 	.event		= pcnet_event,
-	.detach		= pcnet_detach,
+	.remove		= pcnet_detach,
 	.owner		= THIS_MODULE,
 	.id_table	= pcnet_ids,
 	.suspend	= pcnet_suspend,
Index: 2.6.13-git4/drivers/pcmcia/ds.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/ds.c
+++ 2.6.13-git4/drivers/pcmcia/ds.c
@@ -57,8 +57,6 @@ module_param_named(pc_debug, ds_pc_debug
 
 spinlock_t pcmcia_dev_list_lock;
 
-static int unbind_request(struct pcmcia_socket *s);
-
 /*====================================================================*/
 
 /* code which was in cs.c before */
@@ -205,7 +203,7 @@ static void pcmcia_check_driver(struct p
 	unsigned int i;
 	u32 hash;
 
-	if (!p_drv->attach || !p_drv->event || !p_drv->detach)
+	if (!p_drv->attach || !p_drv->event || !p_drv->remove)
 		printk(KERN_DEBUG "pcmcia: %s lacks a requisite callback "
 		       "function\n", p_drv->drv.name);
 
@@ -399,13 +397,42 @@ static int pcmcia_device_remove(struct d
 {
 	struct pcmcia_device *p_dev;
 	struct pcmcia_driver *p_drv;
+	int i;
 
 	/* detach the "instance" */
 	p_dev = to_pcmcia_dev(dev);
 	p_drv = to_pcmcia_drv(dev->driver);
 
+	/* the likely, new path */
+	if (p_drv && p_drv->remove) {
+	       	p_drv->remove(p_dev);
+
+		/* check for proper unloading */
+		if (p_dev->state & (CLIENT_IRQ_REQ|CLIENT_IO_REQ|CLIENT_CONFIG_LOCKED))
+			printk(KERN_INFO "pcmcia: driver %s did not release config properly\n",
+			       p_drv->drv.name);
+
+		for (i = 0; i < MAX_WIN; i++)
+			if (p_dev->state & CLIENT_WIN_REQ(i))
+				printk(KERN_INFO "pcmcia: driver %s did not release windows properly\n",
+				       p_drv->drv.name);
+
+		/* undo pcmcia_register_client */
+		p_dev->state = CLIENT_UNBOUND;
+		pcmcia_put_dev(p_dev);
+
+		/* references from pcmcia_probe_device */
+		pcmcia_put_dev(p_dev);
+		module_put(p_drv->owner);
+
+		return 0;
+	}
+
+	/* old path */
 	if (p_drv) {
 		if ((p_drv->detach) && (p_dev->instance)) {
+			printk(KERN_INFO "pcmcia: using deprecated detach mechanism. Fix the driver!\n");
+
 			p_drv->detach(p_dev->instance);
 			/* from pcmcia_probe_device */
 			put_device(&p_dev->dev);
@@ -417,6 +444,36 @@ static int pcmcia_device_remove(struct d
 }
 
 
+/*
+ * Removes a PCMCIA card from the device tree and socket list.
+ */
+static void pcmcia_card_remove(struct pcmcia_socket *s)
+{
+	struct pcmcia_device	*p_dev;
+	unsigned long		flags;
+
+	ds_dbg(2, "unbind_request(%d)\n", s->sock);
+
+	s->device_count = 0;
+
+	for (;;) {
+		/* unregister all pcmcia_devices registered with this socket*/
+		spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
+		if (list_empty(&s->devices_list)) {
+			spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
+ 			return;
+		}
+		p_dev = list_entry((&s->devices_list)->next, struct pcmcia_device, socket_device_list);
+		list_del(&p_dev->socket_device_list);
+		p_dev->state |= CLIENT_STALE;
+		spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
+
+		device_unregister(&p_dev->dev);
+	}
+
+	return;
+} /* unbind_request */
+
 
 /*
  * pcmcia_device_query -- determine information about a pcmcia device
@@ -1056,8 +1113,8 @@ static int ds_event(struct pcmcia_socket
 
 	case CS_EVENT_CARD_REMOVAL:
 		s->pcmcia_state.present = 0;
-	    	send_event(skt, event, priority);
-		unbind_request(skt);
+		send_event(skt, event, priority);
+		pcmcia_card_remove(skt);
 		handle_event(skt, event);
 		break;
 	
@@ -1174,36 +1231,6 @@ int pcmcia_register_client(struct pcmcia
 EXPORT_SYMBOL(pcmcia_register_client);
 
 
-/* unbind _all_ devices attached to a given pcmcia_bus_socket. The
- * drivers have been called with EVENT_CARD_REMOVAL before.
- */
-static int unbind_request(struct pcmcia_socket *s)
-{
-	struct pcmcia_device	*p_dev;
-	unsigned long		flags;
-
-	ds_dbg(2, "unbind_request(%d)\n", s->sock);
-
-	s->device_count = 0;
-
-	for (;;) {
-		/* unregister all pcmcia_devices registered with this socket*/
-		spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
-		if (list_empty(&s->devices_list)) {
-			spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
- 			return 0;
-		}
-		p_dev = list_entry((&s->devices_list)->next, struct pcmcia_device, socket_device_list);
-		list_del(&p_dev->socket_device_list);
-		p_dev->state |= CLIENT_STALE;
-		spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-
-		device_unregister(&p_dev->dev);
-	}
-
-	return 0;
-} /* unbind_request */
-
 int pcmcia_deregister_client(struct pcmcia_device *p_dev)
 {
 	struct pcmcia_socket *s;
Index: 2.6.13-git4/include/pcmcia/ds.h
===================================================================
--- 2.6.13-git4.orig/include/pcmcia/ds.h
+++ 2.6.13-git4/include/pcmcia/ds.h
@@ -138,6 +138,8 @@ struct pcmcia_driver {
 				 event_callback_args_t *);
 	void			(*detach)(dev_link_t *);
 
+	void (*remove)		(struct pcmcia_device *dev);
+
 	int (*suspend)		(struct pcmcia_device *dev);
 	int (*resume)		(struct pcmcia_device *dev);
 
Index: 2.6.13-git4/Documentation/pcmcia/driver-changes.txt
===================================================================
--- 2.6.13-git4.orig/Documentation/pcmcia/driver-changes.txt
+++ 2.6.13-git4/Documentation/pcmcia/driver-changes.txt
@@ -1,5 +1,8 @@
 This file details changes in 2.6 which affect PCMCIA card driver authors:
 
+* Unify detach and REMOVAL event code (as of 2.6.14)
+        void (*remove)          (struct pcmcia_device *dev);
+
 * Move suspend, resume and reset out of event handler (as of 2.6.14)
        int (*suspend)          (struct pcmcia_device *dev);
        int (*resume)           (struct pcmcia_device *dev);

From linux at dominikbrodowski.net  Wed Sep  7 17:36:39 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:40:58 2005
Subject: [PATCH 1/13] pcmcia: avoid macro usage
Message-ID: <20050907213639.GB7453@dominikbrodowski.de>

From: Pavel Machek <pavel@ucw.cz>

Fix macro abuse in pcmcia.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 drivers/pcmcia/cistpl.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Index: 2.6.13/drivers/pcmcia/cistpl.c
===================================================================
--- 2.6.13.orig/drivers/pcmcia/cistpl.c
+++ 2.6.13/drivers/pcmcia/cistpl.c
@@ -60,9 +60,9 @@ static const u_int exponent[] = {
 
 /* Parameters that can be set with 'insmod' */
 
-#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444)
-
-INT_MODULE_PARM(cis_width,	0);		/* 16-bit CIS? */
+/* 16-bit CIS? */
+static int cis_width = 0;
+module_param(cis_width, int, 0444);
 
 void release_cis_mem(struct pcmcia_socket *s)
 {

From linux at dominikbrodowski.net  Wed Sep  7 17:36:50 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:41:04 2005
Subject: [PATCH 3/13] pcmcia: warn on IOCTL usage
Message-ID: <20050907213650.GD7453@dominikbrodowski.de>

More visible user information of scheduled feature removal.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 drivers/pcmcia/pcmcia_ioctl.c |    8 ++++++++
 1 files changed, 8 insertions(+)

Index: 2.6.13-git4/drivers/pcmcia/pcmcia_ioctl.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/pcmcia_ioctl.c
+++ 2.6.13-git4/drivers/pcmcia/pcmcia_ioctl.c
@@ -376,6 +376,7 @@ static int ds_open(struct inode *inode, 
     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);
 
@@ -407,6 +408,13 @@ static int ds_open(struct inode *inode, 
     s->user = user;
     file->private_data = user;
 
+    if (!warning_printed) {
+	    printk(KERN_INFO "pcmcia: Detected deprecated PCMCIA ioctl usage.\n");
+	    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++;
+    }
+
     if (s->pcmcia_state.present)
 	queue_event(user, CS_EVENT_CARD_INSERTION);
     return 0;

From linux at dominikbrodowski.net  Wed Sep  7 17:37:44 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:41:10 2005
Subject: [PATCH 10/13] pcmcia: remove old two-step removal mechanism
Message-ID: <20050907213744.GK7453@dominikbrodowski.de>

Remove the old "detach" mechanism as it is unused now.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 drivers/pcmcia/ds.c |   77 +++++++++++-----------------------------------------
 include/pcmcia/cs.h |    1
 include/pcmcia/ds.h |    1
 3 files changed, 17 insertions(+), 62 deletions(-)

Index: 2.6.13-git4/drivers/pcmcia/ds.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/ds.c
+++ 2.6.13-git4/drivers/pcmcia/ds.c
@@ -402,43 +402,29 @@ static int pcmcia_device_remove(struct d
 	/* detach the "instance" */
 	p_dev = to_pcmcia_dev(dev);
 	p_drv = to_pcmcia_drv(dev->driver);
+	if (!p_drv)
+		return 0;
 
-	/* the likely, new path */
-	if (p_drv && p_drv->remove) {
+	if (p_drv->remove)
 	       	p_drv->remove(p_dev);
 
-		/* check for proper unloading */
-		if (p_dev->state & (CLIENT_IRQ_REQ|CLIENT_IO_REQ|CLIENT_CONFIG_LOCKED))
-			printk(KERN_INFO "pcmcia: driver %s did not release config properly\n",
-			       p_drv->drv.name);
+	/* check for proper unloading */
+	if (p_dev->state & (CLIENT_IRQ_REQ|CLIENT_IO_REQ|CLIENT_CONFIG_LOCKED))
+		printk(KERN_INFO "pcmcia: driver %s did not release config properly\n",
+		       p_drv->drv.name);
 
-		for (i = 0; i < MAX_WIN; i++)
-			if (p_dev->state & CLIENT_WIN_REQ(i))
-				printk(KERN_INFO "pcmcia: driver %s did not release windows properly\n",
-				       p_drv->drv.name);
-
-		/* undo pcmcia_register_client */
-		p_dev->state = CLIENT_UNBOUND;
-		pcmcia_put_dev(p_dev);
-
-		/* references from pcmcia_probe_device */
-		pcmcia_put_dev(p_dev);
-		module_put(p_drv->owner);
+	for (i = 0; i < MAX_WIN; i++)
+		if (p_dev->state & CLIENT_WIN_REQ(i))
+			printk(KERN_INFO "pcmcia: driver %s did not release windows properly\n",
+			       p_drv->drv.name);
 
-		return 0;
-	}
+	/* undo pcmcia_register_client */
+	p_dev->state = CLIENT_UNBOUND;
+	pcmcia_put_dev(p_dev);
 
-	/* old path */
-	if (p_drv) {
-		if ((p_drv->detach) && (p_dev->instance)) {
-			printk(KERN_INFO "pcmcia: using deprecated detach mechanism. Fix the driver!\n");
-
-			p_drv->detach(p_dev->instance);
-			/* from pcmcia_probe_device */
-			put_device(&p_dev->dev);
-		}
-		module_put(p_drv->owner);
-	}
+	/* references from pcmcia_probe_device */
+	pcmcia_put_dev(p_dev);
+	module_put(p_drv->owner);
 
 	return 0;
 }
@@ -1231,35 +1217,6 @@ int pcmcia_register_client(struct pcmcia
 EXPORT_SYMBOL(pcmcia_register_client);
 
 
-int pcmcia_deregister_client(struct pcmcia_device *p_dev)
-{
-	struct pcmcia_socket *s;
-	int i;
-
-	s = p_dev->socket;
-	ds_dbg(1, "deregister_client(%p)\n", p_dev);
-
-	if (p_dev->state & (CLIENT_IRQ_REQ|CLIENT_IO_REQ|CLIENT_CONFIG_LOCKED))
-		goto warn_out;
-	for (i = 0; i < MAX_WIN; i++)
-		if (p_dev->state & CLIENT_WIN_REQ(i))
-			goto warn_out;
-
-	if (p_dev->state & CLIENT_STALE) {
-		p_dev->state &= ~CLIENT_STALE;
-		pcmcia_put_dev(p_dev);
-	} else {
-		p_dev->state = CLIENT_UNBOUND;
-	}
-
-	return CS_SUCCESS;
- warn_out:
-	printk(KERN_WARNING "ds: deregister_client was called too early.\n");
-	return CS_IN_USE;
-} /* deregister_client */
-EXPORT_SYMBOL(pcmcia_deregister_client);
-
-
 static struct pcmcia_callback pcmcia_bus_callback = {
 	.owner = THIS_MODULE,
 	.event = ds_event,
Index: 2.6.13-git4/include/pcmcia/ds.h
===================================================================
--- 2.6.13-git4.orig/include/pcmcia/ds.h
+++ 2.6.13-git4/include/pcmcia/ds.h
@@ -136,7 +136,6 @@ struct pcmcia_driver {
 	dev_link_t		*(*attach)(void);
 	int (*event)		(event_t event, int priority,
 				 event_callback_args_t *);
-	void			(*detach)(dev_link_t *);
 
 	void (*remove)		(struct pcmcia_device *dev);
 
Index: 2.6.13-git4/include/pcmcia/cs.h
===================================================================
--- 2.6.13-git4.orig/include/pcmcia/cs.h
+++ 2.6.13-git4/include/pcmcia/cs.h
@@ -382,7 +382,6 @@ enum service {
 struct pcmcia_socket;
 
 int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, conf_reg_t *reg);
-int pcmcia_deregister_client(struct pcmcia_device *p_dev);
 int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *config);
 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);

From linux at dominikbrodowski.net  Wed Sep  7 17:37:53 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep  7 17:45:53 2005
Subject: [PATCH 12/13] pcmcia: unified probe code path
Message-ID: <20050907213753.GM7453@dominikbrodowski.de>

Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
probe() callback. As all in-kernel drivers will be changed to this new
callback in the next path (pcnet_cs in here is only an example), there
will be no temporary backwards-compatibility. Inside a probe() function,
each driver _must_ set struct pcmcia_device *p_dev->instance and
instance->handle correctly.

With these patches, the basic driver interface for 16-bit PCMCIA drivers
now has the classic four callbacks known also from other buses:

        int (*probe)            (struct pcmcia_device *dev);
        void (*remove)          (struct pcmcia_device *dev);

        int (*suspend)          (struct pcmcia_device *dev);
        int (*resume)           (struct pcmcia_device *dev);

Next steps will include "streamlining" the drivers to make better use of
this improved interface as well as merging the dev_link_t typedef into
struct pcmcia_device.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 Documentation/pcmcia/driver-changes.txt |    6 -
 drivers/net/pcmcia/pcnet_cs.c           |   45 +-------
 drivers/pcmcia/ds.c                     |  178 ++++----------------------------
 include/pcmcia/cs.h                     |    1
 include/pcmcia/ds.h                     |    7 -
 5 files changed, 42 insertions(+), 195 deletions(-)

Index: 2.6.13-git4/drivers/net/pcmcia/pcnet_cs.c
===================================================================
--- 2.6.13-git4.orig/drivers/net/pcmcia/pcnet_cs.c
+++ 2.6.13-git4/drivers/net/pcmcia/pcnet_cs.c
@@ -105,8 +105,6 @@ module_param_array(hw_addr, int, NULL, 0
 static void mii_phy_probe(struct net_device *dev);
 static void pcnet_config(dev_link_t *link);
 static void pcnet_release(dev_link_t *link);
-static int pcnet_event(event_t event, int priority,
-		       event_callback_args_t *args);
 static int pcnet_open(struct net_device *dev);
 static int pcnet_close(struct net_device *dev);
 static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -120,7 +118,6 @@ static int setup_shmem_window(dev_link_t
 static int setup_dma_config(dev_link_t *link, int start_pg,
 			    int stop_pg);
 
-static dev_link_t *pcnet_attach(void);
 static void pcnet_detach(struct pcmcia_device *p_dev);
 
 static dev_info_t dev_info = "pcnet_cs";
@@ -243,19 +240,17 @@ static inline pcnet_dev_t *PRIV(struct n
 
 ======================================================================*/
 
-static dev_link_t *pcnet_attach(void)
+static int pcnet_probe(struct pcmcia_device *p_dev)
 {
     pcnet_dev_t *info;
     dev_link_t *link;
     struct net_device *dev;
-    client_reg_t client_reg;
-    int ret;
 
     DEBUG(0, "pcnet_attach()\n");
 
     /* Create new ethernet device */
     dev = __alloc_ei_netdev(sizeof(pcnet_dev_t));
-    if (!dev) return NULL;
+    if (!dev) return -ENOMEM;
     info = PRIV(dev);
     link = &info->link;
     link->priv = dev;
@@ -270,19 +265,13 @@ static dev_link_t *pcnet_attach(void)
     dev->stop = &pcnet_close;
     dev->set_config = &set_config;
 
-    /* Register with Card Services */
-    link->next = NULL;
-    client_reg.dev_info = &dev_info;
-    client_reg.Version = 0x0210;
-    client_reg.event_callback_args.client_data = link;
-    ret = pcmcia_register_client(&link->handle, &client_reg);
-    if (ret != CS_SUCCESS) {
-	cs_error(link->handle, RegisterClient, ret);
-	pcnet_detach(link->handle);
-	return NULL;
-    }
+    link->handle = p_dev;
+    p_dev->instance = link;
+
+    link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
+    pcnet_config(link);
 
-    return link;
+    return 0;
 } /* pcnet_attach */
 
 /*======================================================================
@@ -800,21 +789,6 @@ static int pcnet_resume(struct pcmcia_de
 	return 0;
 }
 
-static int pcnet_event(event_t event, int priority,
-		       event_callback_args_t *args)
-{
-    dev_link_t *link = args->client_data;
-
-    DEBUG(2, "pcnet_event(0x%06x)\n", event);
-
-    switch (event) {
-    case CS_EVENT_CARD_INSERTION:
-	link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-	pcnet_config(link);
-	break;
-    }
-    return 0;
-} /* pcnet_event */
 
 /*======================================================================
 
@@ -1829,8 +1803,7 @@ static struct pcmcia_driver pcnet_driver
 	.drv		= {
 		.name	= "pcnet_cs",
 	},
-	.attach		= pcnet_attach,
-	.event		= pcnet_event,
+	.probe		= pcnet_probe,
 	.remove		= pcnet_detach,
 	.owner		= THIS_MODULE,
 	.id_table	= pcnet_ids,
Index: 2.6.13-git4/drivers/pcmcia/ds.c
===================================================================
--- 2.6.13-git4.orig/drivers/pcmcia/ds.c
+++ 2.6.13-git4/drivers/pcmcia/ds.c
@@ -203,7 +203,7 @@ static void pcmcia_check_driver(struct p
 	unsigned int i;
 	u32 hash;
 
-	if (!p_drv->attach || !p_drv->event || !p_drv->remove)
+	if (!p_drv->probe || !p_drv->remove)
 		printk(KERN_DEBUG "pcmcia: %s lacks a requisite callback "
 		       "function\n", p_drv->drv.name);
 
@@ -361,6 +361,7 @@ static int pcmcia_device_probe(struct de
 {
 	struct pcmcia_device *p_dev;
 	struct pcmcia_driver *p_drv;
+	struct pcmcia_socket *s;
 	int ret = 0;
 
 	dev = get_device(dev);
@@ -369,25 +370,39 @@ static int pcmcia_device_probe(struct de
 
 	p_dev = to_pcmcia_dev(dev);
 	p_drv = to_pcmcia_drv(dev->driver);
+	s = p_dev->socket;
 
-	if (!try_module_get(p_drv->owner)) {
+	if ((!p_drv->probe) || (!try_module_get(p_drv->owner))) {
 		ret = -EINVAL;
 		goto put_dev;
 	}
 
-	if (p_drv->attach) {
-		p_dev->instance = p_drv->attach();
-		if ((!p_dev->instance) || (p_dev->state & CLIENT_UNBOUND)) {
-			printk(KERN_NOTICE "ds: unable to create instance "
-			       "of '%s'!\n", p_drv->drv.name);
-			ret = -EINVAL;
+	p_dev->state &= ~CLIENT_UNBOUND;
+
+	/* set up the device configuration, if it hasn't been done before */
+	if (!s->functions) {
+		cistpl_longlink_mfc_t mfc;
+		if (pccard_read_tuple(s, p_dev->func, CISTPL_LONGLINK_MFC,
+				      &mfc) == CS_SUCCESS)
+			s->functions = mfc.nfn;
+		else
+			s->functions = 1;
+		s->config = kmalloc(sizeof(config_t) * s->functions,
+				    GFP_KERNEL);
+		if (!s->config) {
+			ret = -ENOMEM;
+			goto put_module;
 		}
+		memset(s->config, 0, sizeof(config_t) * s->functions);
 	}
 
+	ret = p_drv->probe(p_dev);
+
+ put_module:
 	if (ret)
 		module_put(p_drv->owner);
  put_dev:
-	if ((ret) || !(p_drv->attach))
+	if (ret)
 		put_device(dev);
 	return (ret);
 }
@@ -418,11 +433,8 @@ static int pcmcia_device_remove(struct d
 			printk(KERN_INFO "pcmcia: driver %s did not release windows properly\n",
 			       p_drv->drv.name);
 
-	/* undo pcmcia_register_client */
-	p_dev->state = CLIENT_UNBOUND;
-	pcmcia_put_dev(p_dev);
-
 	/* references from pcmcia_probe_device */
+	p_dev->state = CLIENT_UNBOUND;
 	pcmcia_put_dev(p_dev);
 	module_put(p_drv->owner);
 
@@ -1038,50 +1050,6 @@ static int pcmcia_bus_suspend(struct pcm
 ======================================================================*/
 
 
-
-struct send_event_data {
-	struct pcmcia_socket *skt;
-	event_t event;
-	int priority;
-};
-
-static int send_event_callback(struct device *dev, void * _data)
-{
-	struct pcmcia_device *p_dev = to_pcmcia_dev(dev);
-	struct pcmcia_driver *p_drv;
-	struct send_event_data *data = _data;
-
-	/* we get called for all sockets, but may only pass the event
-	 * for drivers _on the affected socket_ */
-	if (p_dev->socket != data->skt)
-		return 0;
-
-	p_drv = to_pcmcia_drv(p_dev->dev.driver);
-	if (!p_drv)
-		return 0;
-
-	if (p_dev->state & (CLIENT_UNBOUND|CLIENT_STALE))
-		return 0;
-
-	if (p_drv->event)
-		return p_drv->event(data->event, data->priority,
-				    &p_dev->event_callback_args);
-
-	return 0;
-}
-
-static int send_event(struct pcmcia_socket *s, event_t event, int priority)
-{
-	struct send_event_data private;
-
-	private.skt = s;
-	private.event = event;
-	private.priority = priority;
-
-	return bus_for_each_dev(&pcmcia_bus_type, NULL, &private, send_event_callback);
-} /* send_event */
-
-
 /* Normally, the event is passed to individual drivers after
  * informing userspace. Only for CS_EVENT_CARD_REMOVAL this
  * is inversed to maintain historic compatibility.
@@ -1090,20 +1058,17 @@ static int send_event(struct pcmcia_sock
 static int ds_event(struct pcmcia_socket *skt, event_t event, int priority)
 {
 	struct pcmcia_socket *s = pcmcia_get_socket(skt);
-	int ret = 0;
 
 	ds_dbg(1, "ds_event(0x%06x, %d, 0x%p)\n",
 	       event, priority, skt);
-    
-	switch (event) {
 
+	switch (event) {
 	case CS_EVENT_CARD_REMOVAL:
 		s->pcmcia_state.present = 0;
-		send_event(skt, event, priority);
 		pcmcia_card_remove(skt);
 		handle_event(skt, event);
 		break;
-	
+
 	case CS_EVENT_CARD_INSERTION:
 		s->pcmcia_state.present = 1;
 		pcmcia_card_add(skt);
@@ -1111,19 +1076,14 @@ static int ds_event(struct pcmcia_socket
 		break;
 
 	case CS_EVENT_EJECTION_REQUEST:
-		ret = send_event(skt, event, priority);
 		break;
 
 	case CS_EVENT_PM_SUSPEND:
 	case CS_EVENT_PM_RESUME:
 	case CS_EVENT_RESET_PHYSICAL:
 	case CS_EVENT_CARD_RESET:
-		handle_event(skt, event);
-		break;
-
 	default:
 		handle_event(skt, event);
-		send_event(skt, event, priority);
 		break;
     }
 
@@ -1133,90 +1093,6 @@ static int ds_event(struct pcmcia_socket
 } /* ds_event */
 
 
-
-int pcmcia_register_client(struct pcmcia_device **handle, client_reg_t *req)
-{
-	struct pcmcia_socket *s = NULL;
-	struct pcmcia_device *p_dev = NULL;
-	struct pcmcia_driver *p_drv = NULL;
-
-	/* Look for unbound client with matching dev_info */
-	down_read(&pcmcia_socket_list_rwsem);
-	list_for_each_entry(s, &pcmcia_socket_list, socket_list) {
-		unsigned long flags;
-
-		if (s->state & SOCKET_CARDBUS)
-			continue;
-
-		s = pcmcia_get_socket(s);
-		if (!s)
-			continue;
-		spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
-		list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
-			p_dev = pcmcia_get_dev(p_dev);
-			if (!p_dev)
-				continue;
-			if (!(p_dev->state & CLIENT_UNBOUND) ||
-			    (!p_dev->dev.driver)) {
-				pcmcia_put_dev(p_dev);
-				continue;
-			}
-			p_drv = to_pcmcia_drv(p_dev->dev.driver);
-			if (!strncmp(p_drv->drv.name, (char *)req->dev_info, DEV_NAME_LEN)) {
-				spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-				goto found;
-			}
-			pcmcia_put_dev(p_dev);
-		}
-		spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
-		pcmcia_put_socket(s);
-	}
- found:
-	up_read(&pcmcia_socket_list_rwsem);
-	if (!p_dev)
-		return -ENODEV;
-
-	pcmcia_put_socket(s); /* safe, as we already hold a reference from bind_device */
-
-	*handle = p_dev;
-	p_dev->state &= ~CLIENT_UNBOUND;
-	p_dev->event_callback_args = req->event_callback_args;
-	p_dev->event_callback_args.client_handle = p_dev;
-
-
-	if (!s->functions) {
-		cistpl_longlink_mfc_t mfc;
-		if (pccard_read_tuple(s, p_dev->func, CISTPL_LONGLINK_MFC, &mfc)
-		    == CS_SUCCESS)
-			s->functions = mfc.nfn;
-		else
-			s->functions = 1;
-		s->config = kmalloc(sizeof(config_t) * s->functions,
-				    GFP_KERNEL);
-		if (!s->config)
-			goto out_no_resource;
-		memset(s->config, 0, sizeof(config_t) * s->functions);
-	}
-
-	ds_dbg(1, "register_client(): client 0x%p, dev %s\n",
-	       p_dev, p_dev->dev.bus_id);
-
-	if ((s->state & (SOCKET_PRESENT|SOCKET_CARDBUS)) == SOCKET_PRESENT) {
-		if (p_drv->event)
-			p_drv->event(CS_EVENT_CARD_INSERTION, CS_EVENT_PRI_LOW,
-				     &p_dev->event_callback_args);
-
-	}
-
-	return CS_SUCCESS;
-
- out_no_resource:
-	pcmcia_put_dev(p_dev);
-	return CS_OUT_OF_RESOURCE;
-} /* register_client */
-EXPORT_SYMBOL(pcmcia_register_client);
-
-
 static struct pcmcia_callback pcmcia_bus_callback = {
 	.owner = THIS_MODULE,
 	.event = ds_event,
Index: 2.6.13-git4/include/pcmcia/ds.h
===================================================================
--- 2.6.13-git4.orig/include/pcmcia/ds.h
+++ 2.6.13-git4/include/pcmcia/ds.h
@@ -133,10 +133,7 @@ typedef struct dev_link_t {
 struct pcmcia_socket;
 
 struct pcmcia_driver {
-	dev_link_t		*(*attach)(void);
-	int (*event)		(event_t event, int priority,
-				 event_callback_args_t *);
-
+	int (*probe)		(struct pcmcia_device *dev);
 	void (*remove)		(struct pcmcia_device *dev);
 
 	int (*suspend)		(struct pcmcia_device *dev);
@@ -169,7 +166,6 @@ struct pcmcia_device {
 	/* deprecated, a cleaned up version will be moved into this
 	   struct soon */
 	dev_link_t		*instance;
-	event_callback_args_t 	event_callback_args;
 	u_int			state;
 
 	/* information about this device */
@@ -200,6 +196,7 @@ struct pcmcia_device {
 
 #define dev_to_instance(dev) (dev->instance);
 
+
 /* error reporting */
 void cs_error(client_handle_t handle, int func, int ret);
 
Index: 2.6.13-git4/include/pcmcia/cs.h
===================================================================
--- 2.6.13-git4.orig/include/pcmcia/cs.h
+++ 2.6.13-git4/include/pcmcia/cs.h
@@ -389,7 +389,6 @@ int pcmcia_get_status(struct pcmcia_devi
 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_register_client(client_handle_t *handle, client_reg_t *req);
 int pcmcia_release_configuration(struct pcmcia_device *p_dev);
 int pcmcia_release_io(struct pcmcia_device *p_dev, io_req_t *req);
 int pcmcia_release_irq(struct pcmcia_device *p_dev, irq_req_t *req);
Index: 2.6.13-git4/Documentation/pcmcia/driver-changes.txt
===================================================================
--- 2.6.13-git4.orig/Documentation/pcmcia/driver-changes.txt
+++ 2.6.13-git4/Documentation/pcmcia/driver-changes.txt
@@ -1,7 +1,9 @@
 This file details changes in 2.6 which affect PCMCIA card driver authors:
 
-* Unify detach and REMOVAL event code (as of 2.6.14)
-        void (*remove)          (struct pcmcia_device *dev);
+* Unify detach and REMOVAL event code, as well as attach and INSERTION
+  code (as of 2.6.14)
+       void (*remove)          (struct pcmcia_device *dev);
+       int (*probe)            (struct pcmcia_device *dev);
 
 * Move suspend, resume and reset out of event handler (as of 2.6.14)
        int (*suspend)          (struct pcmcia_device *dev);

From stblack at linux.it  Wed Sep  7 18:07:46 2005
From: stblack at linux.it (Stefano Negro)
Date: Wed Sep  7 18:08:16 2005
Subject: Strange behaviour of PCMCIA
In-Reply-To: <200509072203.10375.daniel.ritz@gmx.ch>
References: <200509072203.10375.daniel.ritz@gmx.ch>
Message-ID: <200509080007.47185.stblack@linux.it>

Alle 22:03, mercoled? 7 settembre 2005, Daniel Ritz ha scritto:
> hi
>
> please send full dmesg output, 
[root@localhost ~]# cat /var/log/dmesg
Linux version 2.6.11-12mdksmp (qateam@mercury.mandriva.com) (gcc version 3.4.3 
(Mandrakelinux 10.2 3.4.3-7mdk)) #1 SMP MonJun 27 21:21:32 MDT 2005
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000027ff0000 (usable)
 BIOS-e820: 0000000027ff0000 - 0000000027ffffc0 (ACPI data)
 BIOS-e820: 0000000027ffffc0 - 0000000028000000 (ACPI NVS)
 BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
639MB LOWMEM available.
On node 0 totalpages: 163824
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 159728 pages, LIFO batch:16
  HighMem zone: 0 pages, LIFO batch:1
DMI 2.3 present.
ACPI: RSDP (v000 OID_00                                ) @ 0x000e6010
ACPI: RSDT (v001 INSYDE RSDT_000 0x00000001 _CSI 0x00010101) @ 0x27ffb0eb
ACPI: FADT (v001 INSYDE FACP_000 0x00000100 _CSI 0x00010101) @ 0x27fffa90
ACPI: MADT (v001 INSYDE APIC_000 0x30303030 0000 0x30303030) @ 0x27fffb20
ACPI: BOOT (v001 INSYDE SYS_BOOT 0x00000100 _CSI 0x00010101) @ 0x27fffb90
ACPI: SSDT (v001  PmRef    CpuPm 0x00003000 INTL 0x20030522) @ 0x27ffb11f
ACPI: DSDT (v001 TOSINV   Avani2 0x00001004 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x4008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:3 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1 15:3 APIC version 20
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 21 low level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 28000000 (gap: 28000000:d7f80000)
Built 1 zonelists
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Initializing CPU#0
Kernel command line: BOOT_IMAGE=2611-12smp ro root=305 splash=silent 
reboot=bios,warm
bootsplash: silent mode.
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 2801.435 MHz processor.
Using pmtmr for high-res timesource
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 644616k/655296k available (2383k kernel code, 10160k reserved, 681k 
data, 296k init, 0k highmem, 0k BadRAM)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 5554.17 BogoMIPS (lpj=2777088)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 
0000459d 00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 0000459d 
00000000 00000000
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: Hyper-Threading is disabled
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 0000459d 
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Thermal monitoring enabled
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
ACPI: Looking for DSDT in initrd... not found.
CPU0: Intel Mobile Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 04
per-CPU timeslice cutoff: 2925.33 usecs.
task migration cache decay timeout: 3 msecs.
Booting processor 1/1 eip 3000
Initializing CPU#1
Calibrating delay loop... 5586.94 BogoMIPS (lpj=2793472)
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 
0000459d 00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 0000459d 
00000000 00000000
monitor/mwait feature present.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 1024K
CPU: Hyper-Threading is disabled
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 0000459d 
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel P4/Xeon Extended MCE MSRs (12) available
CPU1: Thermal monitoring enabled
CPU1: Intel Mobile Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 04
Total of 2 processors activated (11141.12 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=-1
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
CPU0 attaching sched-domain:
 domain 0: span 01
  groups: 01
  domain 1: span 03
   groups: 01 02
CPU1 attaching sched-domain:
 domain 0: span 02
  groups: 02
  domain 1: span 03
   groups: 02 01
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like 
an initrd
Freeing initrd memory: 161k freed
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xe9964, last bus=2
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050211
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:14.1
PCI: Transparent bridge - 0000:00:14.4
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
ACPI: PCI Interrupt Link [LNK0] (IRQs 5 7 10 *11)
ACPI: PCI Interrupt Link [LNK1] (IRQs 5 7 *10 11)
ACPI: PCI Interrupt Link [LNK2] (IRQs 5 7 *10 11)
ACPI: PCI Interrupt Link [LNK3] (IRQs *5 7 10 11)
ACPI: Embedded Controller [EC0] (gpe 7)
ACPI: Power Resource [PUT2] (on)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P2P_._PRT]
ACPI: Power Resource [PFA1] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 11 devices
PnPBIOS: Disabled
PCI: Using ACPI for IRQ routing
** PCI interrupts are no longer routed automatically.  If this
** causes a device to stop working, it is probably because the
** driver failed to call pci_enable_device().  As a temporary
** workaround, the "pci=routeirq" argument restores the old
** behavior.  If this argument makes the device work again,
** please email the output of "lspci" to bjorn.helgaas@hp.com
** so I can fix the driver.
pnp: 00:06: ioport range 0x200-0x20f has been reserved
pnp: 00:06: ioport range 0x280-0x29f has been reserved
pnp: 00:06: ioport range 0x40b-0x40b has been reserved
Simple Boot Flag at 0x37 set to 0x1
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: disabled - APM is not SMP safe.
audit: initializing netlink socket (disabled)
audit(1126137631.742:0): initialized
inotify device minor=63
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
Initializing Cryptographic API
vesafb: framebuffer at 0xa0000000, mapped to 0xe8880000, using 3750k, total 
131008k
vesafb: mode is 800x600x16, linelength=1600, pages=135
vesafb: protected mode interface info at c000:51d1
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 13683 
bytes, v3).
Console: switching to colour frame buffer device 85x29
fb0: VESA VGA frame buffer device
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
ACPI: PCI interrupt 0000:00:14.6[B] -> GSI 17 (level, low) -> IRQ 17
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize
pktcdvd: v0.2.0a 2004-07-14 Jens Axboe (axboe@suse.de) and petero2@telia.com
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ATIIXP: IDE controller at PCI slot 0000:00:14.1
ACPI: PCI interrupt 0000:00:14.1[A] -> GSI 16 (level, low) -> IRQ 16
ATIIXP: chipset revision 0
ATIIXP: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x8070-0x8077, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x8078-0x807f, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: IC25N040ATMR04-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 1024KiB
hda: 78140160 sectors (40007 MB) w/1740KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
 /dev/ide/host0/bus0/target0/lun0: p1 p2 < p5 p6 p7 p8 p9 >
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
Synaptics Touchpad, model: 1
 Firmware: 5.9
 180 degree mounted touchpad
 Sensor: 37
 new absolute packet format
 Touchpad has extended capability bits
 -> multifinger detection
 -> palm detection
input: SynPS/2 Synaptics TouchPad on isa0060/serio1
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
NET: Registered protocol family 1
Starting balanced_irq
ACPI wakeup devices:
 LID USB0 USB1 USB2 MC97  P2P LAN0
ACPI: (supports S0 S3 S4 S5)
BIOS EDD facility v0.16 2004-Jun-25, 1 devices found
devfs_mk_dev: could not append to parent for md/0
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 148KiB [1 disk] into ram disk... done.
VFS: Mounted root (cramfs filesystem) readonly.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 296k freed
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI interrupt 0000:00:13.0[A] -> GSI 19 (level, low) -> IRQ 19
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: irq 19, pci mem 0xf0001000
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ACPI: PCI interrupt 0000:00:13.1[A] -> GSI 19 (level, low) -> IRQ 19
ohci_hcd 0000:00:13.1: OHCI Host Controller
ohci_hcd 0000:00:13.1: irq 19, pci mem 0xf0002000
ohci_hcd 0000:00:13.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
PCI: Enabling device 0000:00:13.2 (0000 -> 0002)
ACPI: PCI interrupt 0000:00:13.2[A] -> GSI 19 (level, low) -> IRQ 19
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: irq 19, pci mem 0x28000000
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:13.2: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 6 ports detected
usb 3-1: new high speed USB device using ehci_hcd and address 2
usb 1-3: new low speed USB device using ohci_hcd and address 3
SCSI subsystem initialized
Initializing USB Mass Storage driver...
usbcore: registered new driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver hiddev
input: USB HID v1.10 Mouse [Logitech Optical USB Mouse] on usb-0000:00:13.0-3
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
usbcore: registered new driver usbmouse
drivers/usb/input/usbmouse.c: v1.6:USB HID Boot Protocol mouse driver
ts: Compaq touchscreen protocol output
EXT3 FS on hda5, internal journal
  Vendor: SEAGATE   Model: ST3200822A        Rev: 3.01
  Type:   Direct-Access                      ANSI SCSI revision: 02
usb-storage: device scan complete
SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
sda: assuming drive cache: write through
SCSI device sda: 390721968 512-byte hdwr sectors (200050 MB)
sda: assuming drive cache: write through
 /dev/scsi/host0/bus0/target0/lun0: p1 p2 < p5 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Adding 332600k swap on /dev/hda6.  Priority:-1 extents:1
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
toshiba: not a supported Toshiba laptop
Non-volatile memory driver v1.2
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected Ati IGP7000/M chipset
agpgart: Maximum main memory to use for agp memory: 564M
agpgart: AGP aperture is 64M @ 0xb0000000
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ntfs: Ignoring new-style parameters in presence of obsolete ones
NTFS driver 2.1.22 [Flags: R/O DEBUG MODULE].
NTFS volume version 3.1.
loop: loaded (max 8 devices)
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:02:0a.0[A] -> GSI 19 (level, low) -> IRQ 19
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[19]  MMIO=[d0000000-d00007ff]  
Max Packet=[2048]
hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
8139too Fast Ethernet driver 0.9.27
ACPI: PCI interrupt 0000:02:07.0[A] -> GSI 18 (level, low) -> IRQ 18
eth0: RealTek RTL8139 at 0xe8ee0000, 00:a0:d1:bf:1a:59, IRQ 18
eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
eth1394: $Rev: 1224 $ Ben Collins <bcollins@debian.org>
eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)


> lspci -vvv  
 [root@localhost ~]# lspci -vvv
00:00.0 Host bridge: ATI Technologies Inc: Unknown device cab3 (rev 05)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort+ >SERR- <PERR-
        Latency: 64
        Region 0: Memory at b0000000 (32-bit, prefetchable) [size=64M]
        Region 1: Memory at b4000000 (32-bit, prefetchable) [size=4K]
        Capabilities: [a0] AGP version 2.0
                Status: RQ=16 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 
64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- 
Rate=<none>

00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 340M] (prog-if 00 
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 0000c000-0000dfff
        Memory behind bridge: e0000000-efffffff
        Prefetchable memory behind bridge: a0000000-afffffff
        BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-

00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01) 
(prog-if 10 [OHCI])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, cache line size 20
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at f0001000 (32-bit, non-prefetchable) [size=4K]

00:13.1 USB Controller: ATI Technologies Inc OHCI USB Controller #2 (rev 01) 
(prog-if 10 [OHCI])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, cache line size 20
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at f0002000 (32-bit, non-prefetchable) [size=4K]

00:13.2 USB Controller: ATI Technologies Inc EHCI USB Controller (rev 01) 
(prog-if 20 [EHCI])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, cache line size 20
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at 28000000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+

00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18)
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Region 0: I/O ports at e000 [size=16]
        Region 1: Memory at f0000000 (32-bit, non-prefetchable) [size=1K]

00:14.1 IDE interface: ATI Technologies Inc ATI Dual Channel Bus Master PCI 
IDE Controller (prog-if 8a [Master SecP PriP])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort+ 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Interrupt: pin A routed to IRQ 16
        Region 0: I/O ports at <unassigned>
        Region 1: I/O ports at <unassigned>
        Region 2: I/O ports at <unassigned>
        Region 3: I/O ports at <unassigned>
        Region 4: I/O ports at 8070 [size=16]

00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342 (prog-if 01 
[Subtractive decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
        I/O behind bridge: 0000a000-0000bfff
        Memory behind bridge: d0000000-dfffffff
        Prefetchable memory behind bridge: 90000000-9fffffff
        BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio 
Controller
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (500ns min), cache line size 08
        Interrupt: pin B routed to IRQ 17
        Region 0: Memory at f0000400 (32-bit, non-prefetchable) [size=256]

00:14.6 Modem: ATI Technologies Inc IXP AC'97 Modem (rev 01) (prog-if 00 
[Generic])
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin B routed to IRQ 17
        Region 0: Memory at f0000500 (32-bit, non-prefetchable) [size=256]

01:05.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility 7000 
IGP (prog-if 00 [VGA])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (2000ns min), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at a0000000 (32-bit, prefetchable) [size=256M]
        Region 1: I/O ports at c000 [size=256]
        Region 2: Memory at e0000000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
                Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 
64bit- FW- AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- 
Rate=<none>
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

02:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller 
(rev 02)
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 168, cache line size 08
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at 28001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
        Memory window 0: 28400000-287ff000 (prefetchable)
        Memory window 1: 28800000-28bff000
        I/O window 0: 00004400-000044ff
        I/O window 1: 00004800-000048ff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
        16-bit legacy interface ports at 0001

02:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 18
        Region 0: I/O ports at a000 [size=256]
        Region 1: Memory at d0008000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA 
PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

02:0a.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 
Controller (PHY/Link) (prog-if 10 [OHCI])
        Subsystem: Toshiba America Info Systems: Unknown device ff10
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (500ns min, 1000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at d0000000 (32-bit, non-prefetchable) [size=2K]
        Region 1: Memory at d0004000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

> and tell what kernel version 
[root@localhost ~]# uname -a
Linux localhost 2.6.11-12mdksmp #1 SMP Mon Jun 27 21:21:32 MDT 2005 i686 
Mobile Intel(R) Pentium(R) 4 CPU 2.80GHz unknown GNU/Linux

> this is actually...
>
> rgds
> -daniel

Thanks Daniel,
please find here above the three files you required. I would like to add the 
part of lilo.conf regarding the option which I use to boot, because I think 
could be useful to know the append parameters.

---lilo.conf---
[cut]
image=/boot/vmlinuz-2.6.11-12mdksmp
        label="2611-12smp"
        root=/dev/hda5
        initrd=/boot/initrd-2.6.11-12mdksmp.img
        append="splash=silent reboot=bios,warm"
        vga=788
        read-only

Thanks againg for your help.

---
Ciao
Stblack 
http://www.linux.it/~stblack

From rmk+pcmcia at arm.linux.org.uk  Wed Sep  7 18:15:58 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Wed Sep  7 18:16:27 2005
Subject: [PATCH 6/13] pcmcia: convert serial_cs to use new suspend
	mechanism
In-Reply-To: <20050907213706.GG7453@dominikbrodowski.de>;
	from linux@dominikbrodowski.net on Wed, Sep 07, 2005 at
	11:37:06PM +0200
References: <20050907213706.GG7453@dominikbrodowski.de>
Message-ID: <20050907231558.I19199@flint.arm.linux.org.uk>

On Wed, Sep 07, 2005 at 11:37:06PM +0200, Dominik Brodowski wrote:
> Update the serial_cs driver for the suspend/resume changes.
> 
> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

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

From daniel.ritz at gmx.ch  Wed Sep  7 18:53:26 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Wed Sep  7 18:53:54 2005
Subject: Strange behaviour of PCMCIA
In-Reply-To: <200509080007.47185.stblack@linux.it>
References: <200509072203.10375.daniel.ritz@gmx.ch>
	<200509080007.47185.stblack@linux.it>
Message-ID: <200509080053.26422.daniel.ritz@gmx.ch>

On Thursday 08 September 2005 00.07, Stefano Negro wrote:
> Alle 22:03, mercoled? 7 settembre 2005, Daniel Ritz ha scritto:
> > hi
> >
> > please send full dmesg output, 
> [root@localhost ~]# cat /var/log/dmesg
[snip dmesg]

dmesg is missing the lines that start with "Yenta:". but it wouldn't
tell why the cardbus cards is not working anyway. lspci does that...

> 
> > lspci -vvv  
>  [root@localhost ~]# lspci -vvv
[ blablabla ]
> 00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342 (prog-if 01 
> [Subtractive decode])
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
> Stepping- SERR+ FastB2B-
>         Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
> <TAbort- <MAbort- >SERR- <PERR-
>         Latency: 64
>         Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
                                         ^^^^^^^^^^^^^^
and here's the problem. subordinate bus is 2 so only bus 2 is forwarded
by the pci bridge....

>         I/O behind bridge: 0000a000-0000bfff
>         Memory behind bridge: d0000000-dfffffff
>         Prefetchable memory behind bridge: 90000000-9fffffff
>         BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
> 
[ snip some more unrelated stuff ]
> 02:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller 
> (rev 02)
>         Subsystem: Toshiba America Info Systems: Unknown device ff10
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
> Stepping- SERR- FastB2B-
>         Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
> <TAbort- <MAbort- >SERR- <PERR-
>         Latency: 168, cache line size 08
>         Interrupt: pin A routed to IRQ 19
>         Region 0: Memory at 28001000 (32-bit, non-prefetchable) [size=4K]
>         Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
                           ^^^^^^^^^^^^
but the cardbus bridge (which is on bus 2) forwards buses 3 to 6. the wireless
card would end up on bus 3. but that one is not reachable.

>         Memory window 0: 28400000-287ff000 (prefetchable)
>         Memory window 1: 28800000-28bff000
>         I/O window 0: 00004400-000044ff
>         I/O window 1: 00004800-000048ff
>         BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
>         16-bit legacy interface ports at 0001
> 
>
[ snip even more ]
> 
> Thanks Daniel,
> please find here above the three files you required. I would like to add the 
> part of lilo.conf regarding the option which I use to boot, because I think 
> could be useful to know the append parameters.
> 
> ---lilo.conf---
> [cut]
> image=/boot/vmlinuz-2.6.11-12mdksmp
>         label="2611-12smp"
>         root=/dev/hda5
>         initrd=/boot/initrd-2.6.11-12mdksmp.img
>         append="splash=silent reboot=bios,warm"
>         vga=788
>         read-only
> 

so the solution is to add
	pci=assign-busses
to the kernel command line. the kernel then sets the correct subordinate
number on the PCI bridge. alternativley if you're too lazy to reboot use setpci:
	setpci -s 00:14.4 0x1a.b=0x06
(before you insert the wireless card, of course).

the unable to remove socket power message is probably just because of some
pci posted writes. if that's the case the message is completly harmless.
(see the following link for a patch that fixes it:
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.13-mm1/broken-out/pcmcia-yenta-avoid-pci-write-posting-problem.patch
)

rgds
-daniel

From akpm at osdl.org  Wed Sep  7 19:01:30 2005
From: akpm at osdl.org (Andrew Morton)
Date: Wed Sep  7 19:01:51 2005
Subject: [PATCH 4/13] pcmcia: new suspend core
In-Reply-To: <20050907213656.GE7453@dominikbrodowski.de>
References: <20050907213656.GE7453@dominikbrodowski.de>
Message-ID: <20050907160130.27c2adf7.akpm@osdl.org>

Dominik Brodowski <linux@dominikbrodowski.net> wrote:
>
> Add support to the PCMCIA core to move the supend and resume methods out
> of the event handler.

Is this considered 2.6.15 material?

From supersaucy151 at yahoo.com  Thu Sep  8 01:16:29 2005
From: supersaucy151 at yahoo.com (James)
Date: Thu Sep  8 01:23:35 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
Message-ID: <20050908051630.19115.qmail@web52805.mail.yahoo.com>

hi

please send full dmesg and lspci -vvv. most probably a
problem with the
BIOS not telling the kernel the truth about
used/reserved memory...

rgds
-daniel

Delete 

Here you go

Linux version 2.6.12-1.1447_FC4
(bhcompile@decompose.build.redhat.com) (gcc version
4.0.1 20050727 (Red Hat 4.0.1-5)) #1 Fri Aug 26
20:29:51 EDT 2005
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00
(usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000
(reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000
(reserved)
 BIOS-e820: 0000000000100000 - 000000001dfd0000
(usable)
 BIOS-e820: 000000001dfd0000 - 000000001dfdf000 (ACPI
data)
 BIOS-e820: 000000001dfdf000 - 000000001e000000 (ACPI
NVS)
 BIOS-e820: 00000000ff780000 - 0000000100000000
(reserved)
0MB HIGHMEM available.
479MB LOWMEM available.
Using x86 segment limits to approximate NX protection
On node 0 totalpages: 122832
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 118736 pages, LIFO batch:31
  HighMem zone: 0 pages, LIFO batch:1
DMI 2.3 present.
ACPI: RSDP (v000 MSI                                  
) @ 0x000f7220
ACPI: RSDT (v001 MSI    1011     0x12062004 MSFT
0x00000097) @ 0x1dfd0000
ACPI: FADT (v002 MSI    1011     0x12062004 MSFT
0x00000097) @ 0x1dfd0200
ACPI: MADT (v001 MSI    OEMAPIC  0x12062004 MSFT
0x00000097) @ 0x1dfd0390
ACPI: OEMB (v001 MSI    AMI_OEM  0x12062004 MSFT
0x00000097) @ 0x1dfdf040
ACPI: DSDT (v001    MSI     1011 0x12062004 INTL
0x02002026) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
Allocating PCI resources starting at 1e000000 (gap:
1e000000:e1780000)
Built 1 zonelists
Kernel command line: ro root=/dev/VolGroup00/LogVol00
rhgb quiet
Initializing CPU#0
CPU 0 irqstacks, hard=c0458000 soft=c0457000
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 2000.451 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 65536 (order: 6,
262144 bytes)
Inode-cache hash table entries: 32768 (order: 5,
131072 bytes)
Memory: 480936k/491328k available (2518k kernel code,
9720k reserved, 690k data, 184k init, 0k highmem)
Checking if this processor honours the WP bit even in
supervisor mode... Ok.
Calibrating delay loop... 3973.12 BogoMIPS
(lpj=1986560)
Security Framework v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
selinux_register_security:  Registering secondary
module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 078bfbff e3d3fbff
00000000 00000000 00000000 00000000 00000000
CPU: After vendor identify, caps: 078bfbff e3d3fbff
00000000 00000000 00000000 00000000 00000000
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64
bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: After all inits, caps: 078bf3ff e3d3fbff 00000000
00000010 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: AMD Mobile AMD Athlon(tm) 64 Processor 3000+
stepping 00
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
ACPI: setting ELCR to 0200 (from 0cb0)
checking if image is initramfs... it is
Freeing initrd memory: 1666k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last
bus=1
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050729
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] segment is 0
Uncovering SIS963 that hid as a SIS503 (compatible=0)
Enabling SiS 96x SMBus.
Boot video device is 0000:01:00.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table
[\_SB_.PCI0.P0P1._PRT]
ACPI: Embedded Controller [EC] (gpe 26)
ACPI: PCI Interrupt Link [LNKA] (IRQs 4 5 6 7 10 11 12
14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs 4 5 6 7 10 11 12
14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 4 5 6 7 10 *11
12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs *4 5 6 7 10 11
12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 4 5 6 *7 10 11
12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 4 *5 6 7 10 11
12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 4 5 6 7 10 11 12
14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 4 5 6 7 *10 11
12 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 8 devices
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If
it helps, post a report
apm: BIOS version 1.2 Flags 0x03 (Driver version
1.16ac)
apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
audit(1126130714.806:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096
bytes)
SELinux:  Registering netfilter hooks
Initializing Cryptographic API
ksign: Installing public key data
Loading keyring
- Added public key 1C1942C715575330
- User ID: Red Hat, Inc. (Kernel Module GPG key)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: CPU0 (power states: C1[C1])
ACPI: Thermal Zone [THRM] (52 C)
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected SiS 760 chipset
agpgart: AGP aperture is 4M @ 0xe0000000
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at
0x60,0x64 irq 1,12
i8042.c: Detected active multiplexing controller, rev
1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports,
IRQ sharing enabled
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:02.6[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt for device 0000:00:02.6 disabled
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K
size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
SIS5513: IDE controller at PCI slot 0000:00:02.5
SIS5513: chipset revision 0
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings:
hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings:
hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: IC25N080ATMR04-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: Slimtype DVDRW SOSW-852S, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 1024KiB
hda: 156301488 sectors (80026 MB) w/7884KiB Cache,
CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 < hda5 hda6 hda7 >
hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB
Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core
driver
mice: PS/2 mouse device common for all mice
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 32Kbytes
TCP established hash table entries: 16384 (order: 5,
131072 bytes)
TCP bind hash table entries: 16384 (order: 6, 458752
bytes)
TCP: Hash tables configured (established 16384 bind
16384)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI wakeup devices:
AC97 MC97 CBC0  MAC
ACPI: (supports S0 S1 S3 S4 S5)
Freeing unused kernel memory: 184k freed
device-mapper: 4.4.0-ioctl (2005-01-12) initialised:
dm-devel@redhat.com
input: AT Translated Set 2 keyboard on isa0060/serio0
alps.c: Enabling hardware tapping
input: PS/2 Mouse on isa0060/serio1
input: AlpsPS/2 ALPS GlidePoint on isa0060/serio1
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
security:  3 users, 6 roles, 764 types, 87 bools
security:  55 classes, 180131 rules
SELinux:  Completing initialization.
SELinux:  Setting up existing superblocks.
SELinux: initialized (dev dm-0, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
SELinux: initialized (dev selinuxfs, type selinuxfs),
uses genfs_contexts
SELinux: initialized (dev mqueue, type mqueue), not
configured for labeling
SELinux: initialized (dev hugetlbfs, type hugetlbfs),
not configured for labeling
SELinux: initialized (dev devpts, type devpts), uses
transition SIDs
SELinux: initialized (dev eventpollfs, type
eventpollfs), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
SELinux: initialized (dev futexfs, type futexfs), uses
genfs_contexts
SELinux: initialized (dev pipefs, type pipefs), uses
task SIDs
SELinux: initialized (dev sockfs, type sockfs), uses
task SIDs
SELinux: initialized (dev proc, type proc), uses
genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses
genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses
genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses
genfs_contexts
SELinux: initialized (dev usbfs, type usbfs), uses
genfs_contexts
floppy0: no floppy controllers found
sis900.c: v1.08.08 Jan. 22 2005
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 4
PCI: setting IRQ 4 as level-triggered
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] ->
GSI 4 (level, low) -> IRQ 4
0000:00:04.0: Realtek RTL8201 PHY transceiver found at
address 1.
0000:00:04.0: Using transceiver found at address 1 as
default
eth0: SiS 900 PCI Fast Ethernet at 0xd800, IRQ 4,
00:0c:76:f8:14:14.
snd_intel8x0: Unknown parameter `'
ACPI: PCI Interrupt 0000:00:02.7[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ 11
intel8x0_measure_ac97_clock: measured 49498 usecs
intel8x0: clocking to 48000
ACPI: PCI Interrupt 0000:00:02.6[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ 11
i2c-sis96x version 1.0.0
sis96x_smbus 0000:00:02.1: SiS96x SMBus base address:
0x0c00
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: Standard Hot Plug PCI Controller Driver
version: 0.4
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:03.3[D] -> Link [LNKH] ->
GSI 10 (level, low) -> IRQ 10
ehci_hcd 0000:00:03.3: EHCI Host Controller
ehci_hcd 0000:00:03.3: new USB bus registered,
assigned bus number 1
ehci_hcd 0000:00:03.3: irq 10, io mem 0xdffff000
PCI: cache line size of 64 is not supported by device
0000:00:03.3
ehci_hcd 0000:00:03.3: USB 2.0 initialized, EHCI 1.00,
driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller
(OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 7
PCI: setting IRQ 7 as level-triggered
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKE] ->
GSI 7 (level, low) -> IRQ 7
ohci_hcd 0000:00:03.0: OHCI Host Controller
ohci_hcd 0000:00:03.0: new USB bus registered,
assigned bus number 2
ohci_hcd 0000:00:03.0: irq 7, io mem 0xdfffd000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKF] ->
GSI 5 (level, low) -> IRQ 5
ohci_hcd 0000:00:03.1: OHCI Host Controller
ohci_hcd 0000:00:03.1: new USB bus registered,
assigned bus number 3
ohci_hcd 0000:00:03.1: irq 5, io mem 0xdfffe000
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 3 ports detected
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKB] ->
GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:00:0a.0
[1462:0111]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:0a.0, mfunc 0x00001002,
devctl 0x44
Yenta TI: socket 0000:00:0a.0 probing PCI interrupt
failed, trying to fix
Yenta TI: socket 0000:00:0a.0 no PCI interrupts. Fish.
Please report.
Yenta: ISA IRQ mask 0x0000, PCI irq 0
Socket status: 00000720
cs: pcmcia_socket0: unable to apply power.
SELinux: initialized (dev ramfs, type ramfs), uses
genfs_contexts
cs: pcmcia_socket0: unable to apply power.
NET: Registered protocol family 10
Disabled Privacy Extensions on device c03e6a20(lo)
cs: pcmcia_socket0: unable to apply power.
IPv6 over IPv4 tunneling driver
ACPI: AC Adapter [ADP1] (on-line)
Using generic hotkey driver
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID0]
ACPI: Sleep Button (CM) [SLPB]
ACPI: Power Button (CM) [PWRB]
ibm_acpi: Using generic hotkey driver
toshiba_acpi: Using generic hotkey driver
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
audit(1126155941.025:2): avc:  denied  { write } for 
pid=1413 comm="fsck" name="rhgb-console" dev=ramfs
ino=5123 scontext=system_u:system_r:fsadm_t
tcontext=system_u:object_r:ramfs_t tclass=fifo_file
EXT3 FS on dm-0, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev hda6, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
NTFS driver 2.1.22 [Flags: R/W MODULE].
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro.umask.
Adding 917496k swap on /dev/VolGroup00/LogVol01. 
Priority:-1 extents:1
SELinux: initialized (dev binfmt_misc, type
binfmt_misc), uses genfs_contexts
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0x800-0x8ff: excluding 0x818-0x84f
0x858-0x89f
cs: IO port probe 0x100-0x4ff: excluding 0x480-0x48f
0x4d0-0x4d7
cs: IO port probe 0xa00-0xaff: clean.
eth0: Media Link On 100mbps full-duplex
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
SELinux: initialized (dev rpc_pipefs, type
rpc_pipefs), uses genfs_contexts
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager
initialized
Bluetooth: HCI socket layer initialized
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
Bluetooth: L2CAP ver 2.7
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.5
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro.umask.
SELinux: initialized (dev autofs, type autofs), uses
genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses
genfs_contexts
lp: driver loaded but no devices found
eth0: no IPv6 routers present
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: time out after reset.
PCMCIA: socket dcd4f844: *** DANGER *** unable to
remove socket power
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro.umask.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
cs: pcmcia_socket0: unable to apply power.
application mixer_applet2 uses obsolete OSS audio
interface


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

From linux at dominikbrodowski.net  Thu Sep  8 01:28:55 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep  8 01:29:17 2005
Subject: [PATCH 4/13] pcmcia: new suspend core
In-Reply-To: <20050907160130.27c2adf7.akpm@osdl.org>
References: <20050907213656.GE7453@dominikbrodowski.de>
	<20050907160130.27c2adf7.akpm@osdl.org>
Message-ID: <20050908052855.GA398@isilmar.linta.de>

On Wed, Sep 07, 2005 at 04:01:30PM -0700, Andrew Morton wrote:
> Dominik Brodowski <linux@dominikbrodowski.net> wrote:
> >
> > Add support to the PCMCIA core to move the supend and resume methods out
> > of the event handler.
> 
> Is this considered 2.6.15 material?

Yes.

	Dominik

From supersaucy151 at yahoo.com  Thu Sep  8 01:38:46 2005
From: supersaucy151 at yahoo.com (James)
Date: Thu Sep  8 01:45:55 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
Message-ID: <20050908053847.99166.qmail@web52808.mail.yahoo.com>

lspci -vvv is


/sbin/lspci -vvv
00:00.0 Host bridge: Silicon Integrated Systems [SiS]
760/M760 Host (rev 03)
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 32
        Region 0: Memory at e0000000 (32-bit,
non-prefetchable) [size=64M]
        Capabilities: <available only to root>

00:01.0 PCI bridge: Silicon Integrated Systems [SiS]
SG86C202 (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Bus: primary=00, secondary=01, subordinate=01,
sec-latency=64
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: dfe00000-dfefffff
        Prefetchable memory behind bridge:
cfd00000-dfcfffff
        Secondary status: 66Mhz+ FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
        BridgeCtl: Parity- SERR+ NoISA- VGA+ MAbort-
>Reset- FastB2B-

00:02.0 ISA bridge: Silicon Integrated Systems [SiS]
SiS963 [MuTIOL Media IO] (rev 25)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

00:02.1 SMBus: Silicon Integrated Systems [SiS]
SiS961/2 SMBus Controller
        Control: I/O+ Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin B routed to IRQ 0
        Region 4: I/O ports at 0c00 [size=32]

00:02.5 IDE interface: Silicon Integrated Systems
[SiS] 5513 [IDE] (prog-if 80 [Master])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem- BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 128
        Region 4: I/O ports at ffa0 [size=16]

00:02.6 Modem: Silicon Integrated Systems [SiS] AC'97
Modem Controller (rev a0) (prog-if 00 [Generic])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem- BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (13000ns min, 2750ns max)
        Interrupt: pin C routed to IRQ 11
        Region 0: I/O ports at e400 [size=256]
        Region 1: I/O ports at e000 [size=128]
        Capabilities: <available only to root>

00:02.7 Multimedia audio controller: Silicon
Integrated Systems [SiS] Sound Controller (rev a0)
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem- BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (13000ns min, 2750ns max)
        Interrupt: pin C routed to IRQ 11
        Region 0: I/O ports at e800 [size=256]
        Region 1: I/O ports at ec00 [size=128]
        Capabilities: <available only to root>

00:03.0 USB Controller: Silicon Integrated Systems
[SiS] USB 1.0 Controller (rev 0f) (prog-if 10 [OHCI])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (20000ns max)
        Interrupt: pin A routed to IRQ 7
        Region 0: Memory at dfffd000 (32-bit,
non-prefetchable) [size=4K]

00:03.1 USB Controller: Silicon Integrated Systems
[SiS] USB 1.0 Controller (rev 0f) (prog-if 10 [OHCI])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (20000ns max)
        Interrupt: pin B routed to IRQ 5
        Region 0: Memory at dfffe000 (32-bit,
non-prefetchable) [size=4K]

00:03.3 USB Controller: Silicon Integrated Systems
[SiS] USB 2.0 Controller (prog-if 20 [EHCI])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O- Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (20000ns max)
        Interrupt: pin D routed to IRQ 10
        Region 0: Memory at dffff000 (32-bit,
non-prefetchable) [size=4K]
        Capabilities: <available only to root>

00:04.0 Ethernet controller: Silicon Integrated
Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (13000ns min, 2750ns max)
        Interrupt: pin A routed to IRQ 4
        Region 0: I/O ports at d800 [size=256]
        Region 1: Memory at dfffc000 (32-bit,
non-prefetchable) [size=4K]
        Expansion ROM at dffc0000 [disabled]
[size=128K]
        Capabilities: <available only to root>

00:0a.0 CardBus bridge: ENE Technology Inc CB1410
Cardbus Controller (rev 01)
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 168, Cache Line Size 20
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at 1e000000 (32-bit,
non-prefetchable) [size=4K]
        Bus: primary=00, secondary=02, subordinate=05,
sec-latency=176
        Memory window 0: 1e400000-1e7ff000
(prefetchable)
        Memory window 1: 1e800000-1ebff000
        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

00:0e.0 Network controller: RaLink Ralink RT2500
802.11 Cardbus Reference Card (rev 01)
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 6833
        Control: I/O+ Mem+ BusMaster+ SpecCycle-
MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, Cache Line Size 10
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at dfffa000 (32-bit,
non-prefetchable) [size=8K]
        Capabilities: <available only to root>

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] HyperTransport Technology
Configuration
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Capabilities: <available only to root>

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Address Map
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] DRAM Controller
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Miscellaneous Control
        Control: I/O- Mem- BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B- ParErr-
DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-

01:00.0 VGA compatible controller: Silicon Integrated
Systems [SiS] 661/741/760 PCI/AGP VGA Display Adapter
(prog-if 00 [VGA])
        Subsystem: Micro-Star International Co., Ltd.:
Unknown device 0111
        Control: I/O+ Mem+ BusMaster- SpecCycle-
MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr-
DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        BIST result: 00
        Region 0: Memory at d0000000 (32-bit,
prefetchable) [size=128M]
        Region 1: Memory at dfee0000 (32-bit,
non-prefetchable) [size=128K]
        Region 2: I/O ports at cc00 [size=128]
        Capabilities: <available only to root>



	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/

From linux at dominikbrodowski.net  Thu Sep  8 02:37:48 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep  8 02:38:13 2005
Subject: [PATCH 1/1] pcmcia: fix spectrum_cs for suspend,
	probe and remove changes
In-Reply-To: <20050907231748.5dcf04a7.akpm@osdl.org>
References: <20050907225909.37e23b1e.akpm@osdl.org>
	<20050908061238.GA938@isilmar.linta.de>
	<20050907231748.5dcf04a7.akpm@osdl.org>
Message-ID: <20050908063748.GA18605@isilmar.linta.de>

Update spectrum_cs to work with the recent PCMCIA changes.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
---

 drivers/net/wireless/spectrum_cs.c |  173 ++++++++++---------------------------
 1 files changed, 50 insertions(+), 123 deletions(-)

Index: 2.6.13-git7/drivers/net/wireless/spectrum_cs.c
===================================================================
--- 2.6.13-git7.orig/drivers/net/wireless/spectrum_cs.c
+++ 2.6.13-git7/drivers/net/wireless/spectrum_cs.c
@@ -91,16 +91,6 @@ static int ignore_cis_vcc; /* = 0 */
 module_param(ignore_cis_vcc, int, 0);
 MODULE_PARM_DESC(ignore_cis_vcc, "Allow voltage mismatch between card and socket");
 
-/********************************************************************/
-/* Magic constants						    */
-/********************************************************************/
-
-/*
- * The dev_info variable is the "key" that is used to match up this
- * device driver with appropriate cards, through the card
- * configuration database.
- */
-static dev_info_t dev_info = DRIVER_NAME;
 
 /********************************************************************/
 /* Data structures						    */
@@ -113,12 +103,6 @@ struct orinoco_pccard {
 	dev_node_t node;
 };
 
-/*
- * A linked list of "instances" of the device.  Each actual PCMCIA
- * card corresponds to one device instance, and is described by one
- * dev_link_t structure (defined in ds.h).
- */
-static dev_link_t *dev_list; /* = NULL */
 
 /********************************************************************/
 /* Function prototypes						    */
@@ -130,11 +114,6 @@ static int spectrum_cs_hard_reset(struct
 /* PCMCIA gumpf */
 static void spectrum_cs_config(dev_link_t * link);
 static void spectrum_cs_release(dev_link_t * link);
-static int spectrum_cs_event(event_t event, int priority,
-			    event_callback_args_t * args);
-
-static dev_link_t *spectrum_cs_attach(void);
-static void spectrum_cs_detach(dev_link_t *);
 
 /********************************************************************/
 /* Firmware downloader						    */
@@ -648,19 +627,17 @@ spectrum_cs_hard_reset(struct orinoco_pr
  * The dev_link structure is initialized, but we don't actually
  * configure the card at this point -- we wait until we receive a card
  * insertion event.  */
-static dev_link_t *
-spectrum_cs_attach(void)
+static int
+spectrum_cs_attach(struct pcmcia_device *p_dev)
 {
 	struct net_device *dev;
 	struct orinoco_private *priv;
 	struct orinoco_pccard *card;
 	dev_link_t *link;
-	client_reg_t client_reg;
-	int ret;
 
 	dev = alloc_orinocodev(sizeof(*card), spectrum_cs_hard_reset);
 	if (! dev)
-		return NULL;
+		return -ENODEV;
 	priv = netdev_priv(dev);
 	card = priv->card;
 
@@ -682,23 +659,13 @@ spectrum_cs_attach(void)
 	link->conf.Attributes = 0;
 	link->conf.IntType = INT_MEMORY_AND_IO;
 
-	/* Register with Card Services */
-	/* FIXME: need a lock? */
-	link->next = dev_list;
-	dev_list = link;
-
-	client_reg.dev_info = &dev_info;
-	client_reg.Version = 0x0210; /* FIXME: what does this mean? */
-	client_reg.event_callback_args.client_data = link;
-
-	ret = pcmcia_register_client(&link->handle, &client_reg);
-	if (ret != CS_SUCCESS) {
-		cs_error(link->handle, RegisterClient, ret);
-		spectrum_cs_detach(link);
-		return NULL;
-	}
+	link->handle = p_dev;
+	p_dev->instance = link;
+
+	link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
+	spectrum_cs_config(link);
 
-	return link;
+	return 0;
 }				/* spectrum_cs_attach */
 
 /*
@@ -707,27 +674,14 @@ spectrum_cs_attach(void)
  * are freed.  Otherwise, the structures will be freed when the device
  * is released.
  */
-static void spectrum_cs_detach(dev_link_t *link)
+static void spectrum_cs_detach(struct pcmcia_device *p_dev)
 {
-	dev_link_t **linkp;
+	dev_link_t *link = dev_to_instance(p_dev);
 	struct net_device *dev = link->priv;
 
-	/* Locate device structure */
-	for (linkp = &dev_list; *linkp; linkp = &(*linkp)->next)
-		if (*linkp == link)
-			break;
-
-	BUG_ON(*linkp == NULL);
-
 	if (link->state & DEV_CONFIG)
 		spectrum_cs_release(link);
 
-	/* Break the link with Card Services */
-	if (link->handle)
-		pcmcia_deregister_client(link->handle);
-
-	/* Unlink device structure, and free it */
-	*linkp = link->next;
 	DEBUG(0, PFX "detach: link=%p link->dev=%p\n", link, link->dev);
 	if (link->dev) {
 		DEBUG(0, PFX "About to unregister net device %p\n",
@@ -995,82 +949,55 @@ spectrum_cs_release(dev_link_t *link)
 		ioport_unmap(priv->hw.iobase);
 }				/* spectrum_cs_release */
 
-/*
- * The card status event handler.  Mostly, this schedules other stuff
- * to run after an event is received.
- */
 static int
-spectrum_cs_event(event_t event, int priority,
-		       event_callback_args_t * args)
+spectrum_cs_suspend(struct pcmcia_device *p_dev)
 {
-	dev_link_t *link = args->client_data;
+	dev_link_t *link = dev_to_instance(p_dev);
 	struct net_device *dev = link->priv;
 	struct orinoco_private *priv = netdev_priv(dev);
-	int err = 0;
 	unsigned long flags;
+	int err = 0;
 
-	switch (event) {
-	case CS_EVENT_CARD_REMOVAL:
-		link->state &= ~DEV_PRESENT;
-		if (link->state & DEV_CONFIG) {
-			unsigned long flags;
-
-			spin_lock_irqsave(&priv->lock, flags);
-			netif_device_detach(dev);
-			priv->hw_unavailable++;
-			spin_unlock_irqrestore(&priv->lock, flags);
-		}
-		break;
+	link->state |= DEV_SUSPEND;
+	/* Mark the device as stopped, to block IO until later */
+	if (link->state & DEV_CONFIG) {
+		spin_lock_irqsave(&priv->lock, flags);
+
+		err = __orinoco_down(dev);
+		if (err)
+			printk(KERN_WARNING "%s: Error %d downing interface\n",
+			       dev->name, err);
 
-	case CS_EVENT_CARD_INSERTION:
-		link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
-		spectrum_cs_config(link);
-		break;
+		netif_device_detach(dev);
+		priv->hw_unavailable++;
 
-	case CS_EVENT_PM_SUSPEND:
-		link->state |= DEV_SUSPEND;
-		/* Fall through... */
-	case CS_EVENT_RESET_PHYSICAL:
-		/* Mark the device as stopped, to block IO until later */
-		if (link->state & DEV_CONFIG) {
-			/* This is probably racy, but I can't think of
-                           a better way, short of rewriting the PCMCIA
-                           layer to not suck :-( */
-			spin_lock_irqsave(&priv->lock, flags);
-
-			err = __orinoco_down(dev);
-			if (err)
-				printk(KERN_WARNING "%s: %s: Error %d downing interface\n",
-				       dev->name,
-				       event == CS_EVENT_PM_SUSPEND ? "SUSPEND" : "RESET_PHYSICAL",
-				       err);
+		spin_unlock_irqrestore(&priv->lock, flags);
 
-			netif_device_detach(dev);
-			priv->hw_unavailable++;
+		pcmcia_release_configuration(link->handle);
+	}
 
-			spin_unlock_irqrestore(&priv->lock, flags);
+	return 0;
+}
 
-			pcmcia_release_configuration(link->handle);
-		}
-		break;
+static int
+spectrum_cs_resume(struct pcmcia_device *p_dev)
+{
+	dev_link_t *link = dev_to_instance(p_dev);
+	struct net_device *dev = link->priv;
+	struct orinoco_private *priv = netdev_priv(dev);
 
-	case CS_EVENT_PM_RESUME:
-		link->state &= ~DEV_SUSPEND;
-		/* Fall through... */
-	case CS_EVENT_CARD_RESET:
-		if (link->state & DEV_CONFIG) {
-			/* FIXME: should we double check that this is
-			 * the same card as we had before */
-			pcmcia_request_configuration(link->handle, &link->conf);
-			netif_device_attach(dev);
-			priv->hw_unavailable--;
-			schedule_work(&priv->reset_work);
-		}
-		break;
+	link->state &= ~DEV_SUSPEND;
+	if (link->state & DEV_CONFIG) {
+		/* FIXME: should we double check that this is
+		 * the same card as we had before */
+		pcmcia_request_configuration(link->handle, &link->conf);
+		netif_device_attach(dev);
+		priv->hw_unavailable--;
+		schedule_work(&priv->reset_work);
 	}
+	return 0;
+}
 
-	return err;
-}				/* spectrum_cs_event */
 
 /********************************************************************/
 /* Module initialization					    */
@@ -1095,9 +1022,10 @@ static struct pcmcia_driver orinoco_driv
 	.drv		= {
 		.name	= DRIVER_NAME,
 	},
-	.attach		= spectrum_cs_attach,
-	.event		= spectrum_cs_event,
-	.detach		= spectrum_cs_detach,
+	.probe		= spectrum_cs_attach,
+	.remove		= spectrum_cs_detach,
+	.suspend	= spectrum_cs_suspend,
+	.resume		= spectrum_cs_resume,
 	.id_table       = spectrum_cs_ids,
 };
 
@@ -1113,7 +1041,6 @@ static void __exit
 exit_spectrum_cs(void)
 {
 	pcmcia_unregister_driver(&orinoco_driver);
-	BUG_ON(dev_list != NULL);
 }
 
 module_init(init_spectrum_cs);

From moofear at gmail.com  Thu Sep  8 04:29:23 2005
From: moofear at gmail.com (moe FEAR)
Date: Thu Sep  8 04:29:45 2005
Subject: PCMCIA Hang...
Message-ID: <2623a36e05090801293d05801b@mail.gmail.com>

Hello Members,
 
I'm using a laptop with a PCIxx21/x515 PCMCIA bridge (says Cardbus
Controller in Windows) from Texas Instruments. I also have a PCIxx21
Integrated FlashMedia Controller. One or both of them causes every
Linux distribution I've tried to hang when detecting PCMCIA at boot. I
have to completely skip PCMCIA detection to be able to use Linux. Does
anybody else have this problem and/or a solution to it? Is it simply
lack of correct drivers that are not available to Linux yet?


-- 
moeFEAR

From hch at infradead.org  Thu Sep  8 06:59:37 2005
From: hch at infradead.org (Christoph Hellwig)
Date: Thu Sep  8 06:59:54 2005
Subject: [PATCH 1/13] pcmcia: avoid macro usage
In-Reply-To: <20050907213639.GB7453@dominikbrodowski.de>
References: <20050907213639.GB7453@dominikbrodowski.de>
Message-ID: <20050908105937.GB5847@infradead.org>

On Wed, Sep 07, 2005 at 11:36:39PM +0200, Dominik Brodowski wrote:
> From: Pavel Machek <pavel@ucw.cz>
> 
> Fix macro abuse in pcmcia.
> 
> Signed-off-by: Pavel Machek <pavel@suse.cz>
> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
> ---
> 
>  drivers/pcmcia/cistpl.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> Index: 2.6.13/drivers/pcmcia/cistpl.c
> ===================================================================
> --- 2.6.13.orig/drivers/pcmcia/cistpl.c
> +++ 2.6.13/drivers/pcmcia/cistpl.c
> @@ -60,9 +60,9 @@ static const u_int exponent[] = {
>  
>  /* Parameters that can be set with 'insmod' */
>  
> -#define INT_MODULE_PARM(n, v) static int n = v; module_param(n, int, 0444)
> -
> -INT_MODULE_PARM(cis_width,	0);		/* 16-bit CIS? */
> +/* 16-bit CIS? */
> +static int cis_width = 0;

no need to initialize this to zero.


From hch at infradead.org  Thu Sep  8 07:00:33 2005
From: hch at infradead.org (Christoph Hellwig)
Date: Thu Sep  8 07:00:38 2005
Subject: [PATCH 8/13] pcmcia: unified device removal code path
In-Reply-To: <20050907213734.GI7453@dominikbrodowski.de>
References: <20050907213734.GI7453@dominikbrodowski.de>
Message-ID: <20050908110033.GC5847@infradead.org>

On Wed, Sep 07, 2005 at 11:37:34PM +0200, Dominik Brodowski wrote:
> Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function,
> and convert pcnet_cs.c as an example. Old functionality is preserved, for
> the moment.

Please call the function pcnet_remove, if it implements the .remove method.


From daniel.ritz at gmx.ch  Thu Sep  8 12:30:23 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep  8 12:30:49 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509072218.43704.daniel.ritz@gmx.ch>
References: <200509072218.43704.daniel.ritz@gmx.ch>
Message-ID: <200509081830.23906.daniel.ritz@gmx.ch>

hi james

[ please always use reply-to-all. i'm not subscribed to the list ]

you have a notebook with graphic controller working in shared memory mode
which means it uses the main memory. unfortunatley the is BIOS crap and
forgets to report that. add the following to the kernel command line to
fix the problem:
	reserve=0x1e000000,0x2000000
it tells the kernel not to use the region from 480-512 MB.

rgds
-daniel

From daniel.ritz at gmx.ch  Thu Sep  8 12:33:35 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep  8 12:33:57 2005
Subject: TI Cardbus 1225 interrupt problem (?)
In-Reply-To: <200509072215.56665.daniel.ritz@gmx.ch>
References: <200509072215.56665.daniel.ritz@gmx.ch>
Message-ID: <200509081833.35244.daniel.ritz@gmx.ch>

On Wednesday 07 September 2005 22.15, Daniel Ritz wrote:
> hi
> 
> looking closer at the following part:
> > Yenta: CardBus bridge found at 0000:00:03.0 [1028:00bb]
> > Yenta: Using CSCINT to route CSC interrupts to PCI
> > Yenta: Routing CardBus interrupts to PCI
> > Yenta TI: socket 0000:00:03.0, mfunc 0x01261222, devctl 0x66
> 
> while this seems to be more or less reasonable...
> 
> > Yenta TI: socket 0000:00:03.0 probing PCI interrupt failed, trying to fix
> > Yenta TI: socket 0000:00:03.0 falling back to parallel PCI interrupts
> > Yenta TI: socket 0000:00:03.0 no PCI interrupts. Fish. Please report.
> > Yenta: ISA IRQ mask 0x0000, PCI irq 0
> > Socket status: 00000000
> 
> ...the socket state is for sure not. it _has_ to start with a 3, telling
> that what voltages the controller is capable of.
> to me it seems that somewhat is overlapping the memory region assigned
> to the cardbus bridge.
> try adding the following to the kernel command line:
> 	reserve=0x10000000,0x100000

sorry, should have been:
	reserve=0x10000000,0x2000000

> this reserves a block of 32 MB starting ath 256 MB and forces the kernel
> to assign a different memory region to the cardbus bridge.
> 
rgds
-daniel 

From towergeebulk at gmail.com  Thu Sep  8 12:40:15 2005
From: towergeebulk at gmail.com (mail mail)
Date: Thu Sep  8 12:40:40 2005
Subject: restart pcmcia problem for my LT4000 driver for kernel 2.6
In-Reply-To: <1081.192.168.1.100.1126112863.squirrel@kone>
References: <575303a10509070837221c870f@mail.gmail.com>
	<1081.192.168.1.100.1126112863.squirrel@kone>
Message-ID: <575303a105090809402b198f18@mail.gmail.com>

hi, Jar

Thank you very much. After I run /sbin/depmod -ae LT4000_cs.ko, I find
that the driver works now. I read the manual page of depmod and happen
to find that there is no "a" argument and I don't know why it works
after I run this command, either.

Can you explain it to me?

Another question, although now the dirver can works, how to perform a real test?

Best regards,
TowerGee

On 9/8/05, Jar <jar@pcuf.fi> wrote:
> 
> > And I have made some progress. Now I can compile it successfully, and
> > copy it to /lib/modules/2.6.11-1.14_FC3/kernel/drivers/pcmcia/LT4000_cs.ko
> > but seems that it does not work well. I will attach the source code in
> > the last of this thread.
> 
> Should you run e.g. '/sbin/depmod -ae' after you copied the LT4000_cs.ko.
> 
> --
> Best Regards, Jar
>

From jar at pcuf.fi  Thu Sep  8 13:29:36 2005
From: jar at pcuf.fi (Jar)
Date: Thu Sep  8 13:30:04 2005
Subject: restart pcmcia problem for my LT4000 driver for kernel 2.6
In-Reply-To: <575303a105090809402b198f18@mail.gmail.com>
References: <575303a10509070837221c870f@mail.gmail.com> 
	<1081.192.168.1.100.1126112863.squirrel@kone>
	<575303a105090809402b198f18@mail.gmail.com>
Message-ID: <1320.192.168.1.100.1126200576.squirrel@kone>


> I read the manual page of depmod and happen
> to find that there is no "a" argument and I don't know why it works
> after I run this command, either.
>
> Can you explain it to me?

Actually there is "a" argument, use 'depmod --help' too see it.

-- 
Best Regards, Jar

From dhinds at sonic.net  Thu Sep  8 13:33:42 2005
From: dhinds at sonic.net (David Hinds)
Date: Thu Sep  8 13:34:14 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509081830.23906.daniel.ritz@gmx.ch>
References: <200509072218.43704.daniel.ritz@gmx.ch>
	<200509081830.23906.daniel.ritz@gmx.ch>
Message-ID: <20050908173342.GA28889@sonic.net>

On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel Ritz wrote:
> hi james
> 
> [ please always use reply-to-all. i'm not subscribed to the list ]
> 
> you have a notebook with graphic controller working in shared memory mode
> which means it uses the main memory. unfortunatley the is BIOS crap and
> forgets to report that. add the following to the kernel command line to
> fix the problem:
> 	reserve=0x1e000000,0x2000000
> it tells the kernel not to use the region from 480-512 MB.

I thought that this had been fixed, so the kernel would round up
apparent memory sizes that were a bit smaller than a power of two.  
I guess not.  It really should get fixed properly (even though it
technically is not a kernel problem), because it generates a huge
amount of problem reports.

-- Dave

From supersaucy151 at yahoo.com  Thu Sep  8 14:18:50 2005
From: supersaucy151 at yahoo.com (James)
Date: Thu Sep  8 14:19:18 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <20050908173342.GA28889@sonic.net>
Message-ID: <20050908181851.67838.qmail@web52808.mail.yahoo.com>

Thanks for the info.  Could you please go into a
little more detail of where i need to add this line.
And to what i need to do. Like recomple the kernel or
what. I am fairly new at this. 
Thank you
James
I hope i can get this working.

--- David Hinds <dhinds@sonic.net> wrote:

> On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel
> Ritz wrote:
> > hi james
> > 
> > [ please always use reply-to-all. i'm not
> subscribed to the list ]
> > 
> > you have a notebook with graphic controller
> working in shared memory mode
> > which means it uses the main memory. unfortunatley
> the is BIOS crap and
> > forgets to report that. add the following to the
> kernel command line to
> > fix the problem:
> > 	reserve=0x1e000000,0x2000000
> > it tells the kernel not to use the region from
> 480-512 MB.
> 
> I thought that this had been fixed, so the kernel
> would round up
> apparent memory sizes that were a bit smaller than a
> power of two.  
> I guess not.  It really should get fixed properly
> (even though it
> technically is not a kernel problem), because it
> generates a huge
> amount of problem reports.
> 
> -- Dave
> 



	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/

From daniel.ritz at gmx.ch  Thu Sep  8 14:56:33 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep  8 14:56:58 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <20050908181851.67838.qmail@web52808.mail.yahoo.com>
References: <20050908181851.67838.qmail@web52808.mail.yahoo.com>
Message-ID: <200509082056.33815.daniel.ritz@gmx.ch>

On Thursday 08 September 2005 20.18, James wrote:
> Thanks for the info.  Could you please go into a
> little more detail of where i need to add this line.
> And to what i need to do. Like recomple the kernel or
> what. I am fairly new at this. 
> Thank you
> James
> I hope i can get this working.
> 

no kernel recompile needed. it's just a configuration change for
the boot loader. since you're using fedora core 4 you have to
open the file /boot/grub/grub.conf where you see stuff like
this (this is part of my grub.conf, but i'm not using fedora so
yours is different):

title = Linux - 2.6.13
       kernel = (hd0,0)/vmlinuz-2.6.13 root=/dev/hda2 vga=0x317 5

what you need to do is adding the reserve= parameter to the kernel= line
eg:
	    kernel = (hd0,0)/vmlinuz-2.6.13 root=/dev/hda2 reserve=0x1e000000,0x2000000 vga=0x317 5

you get the idea...

rgds
-daniel

From e.conti at gmx.net  Thu Sep  8 15:30:32 2005
From: e.conti at gmx.net (Nicolas)
Date: Thu Sep  8 15:32:12 2005
Subject: Very bad pcmcia regression
Message-ID: <20050908193032.GA9124@oxstone.com>

Hello,

I use Debian SID on my Thinkpad 600E for years. I use PCMCIA to use a
Xircom ethernet card, and to transfer pictures from memory cards. I use
a simple 16bits PCMCIA compact-flash reader.

Some weeks ago, I had a bad surprise: the compact-flash PCMCIA reader
does not work anymore. In fact, it's not even recognized by cardctl
info.

I tested the PCMCIA compact-flash on another laptop, and it worked fine.

Therefore, I assumed something changed on my system.

I compiled my 2.4.24 kernel some years ago. It's a specially patched
version with ipsec. I don't want to update that kernel.

Perhaps another pcmcia-cs version was installed on my system when I
upgrade my Debian SID.

The Xircom cardbus card is always recognized, and works fine.

I assume the problem is with 16bits PCMCIA cards.

I'm really disappointed with that regression. I searched the
mailing-list for information, and I did not find anything useful (I read
all the 2005 archives!). That's a very bad regression, I hope it would
be easy to find information about the way to solve that problem.

What could I do? Do you guys know where the problem comes from?

Thank you.

Nicolas.

-- 
-------- Conti ----------------  O
-- Kawasaki-Nikon-Linux ---  ._ /\_>
------- Powered -----------  (x)> (x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From daniel.ritz at gmx.ch  Thu Sep  8 15:58:34 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep  8 15:58:55 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <20050908173342.GA28889@sonic.net>
References: <200509072218.43704.daniel.ritz@gmx.ch>
	<200509081830.23906.daniel.ritz@gmx.ch>
	<20050908173342.GA28889@sonic.net>
Message-ID: <200509082158.35766.daniel.ritz@gmx.ch>

On Thursday 08 September 2005 19.33, David Hinds wrote:
> On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel Ritz wrote:
> > hi james
> > 
> > [ please always use reply-to-all. i'm not subscribed to the list ]
> > 
> > you have a notebook with graphic controller working in shared memory mode
> > which means it uses the main memory. unfortunatley the is BIOS crap and
> > forgets to report that. add the following to the kernel command line to
> > fix the problem:
> > 	reserve=0x1e000000,0x2000000
> > it tells the kernel not to use the region from 480-512 MB.
> 
> I thought that this had been fixed, so the kernel would round up
> apparent memory sizes that were a bit smaller than a power of two.

it currently only rounds up to the next MB. but that doesn't catch
the shared VGAs...

> I guess not.  It really should get fixed properly (even though it
> technically is not a kernel problem), because it generates a huge
> amount of problem reports.
> 

something like the attached patch...

cc:ing linus as he is the one that added the "find the largest gap" code
that comes handy here...
and cc:ing andrew for the obvious reason...

rgds
-daniel

----

[PATCH] i386/x86_64: align pci iomem start address to 64MB

align the PCI iomemory starting address to a muliple of 64MB to avoid problems
with some BIOS that forget to report the memory used by a shared memory graphic
controller in the e820 memory map.

most people don't give the shared VGA more than 64MB, right?

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -1325,7 +1325,16 @@ static void __init register_memory(void)
 	i = e820.nr_map;
 	while (--i >= 0) {
 		unsigned long long start = e820.map[i].addr;
-		unsigned long long end = start + e820.map[i].size;
+		unsigned long long end;
+
+		/*
+		 * try to find the largest gap starting at a muliple of 64MB.
+		 * this is to avoid problems with some BIOSen that forget to report
+		 * memory used by the shared memory graphic controller.
+		 * most people are not going to use more than 64MB for a shared
+		 * controller, right? round up to 128MB?
+		 */
+		end = (start + e820.map[i].size + 0x3ffffff) & ~0x3ffffff;
 
 		/*
 		 * Since "last" is at most 4GB, we know we'll
@@ -1344,14 +1353,10 @@ static void __init register_memory(void)
 	}
 
 	/*
-	 * Start allocating dynamic PCI memory a bit into the gap,
-	 * aligned up to the nearest megabyte.
-	 *
-	 * Question: should we try to pad it up a bit (do something
-	 * like " + (gapsize >> 3)" in there too?). We now have the
-	 * technology.
+	 * Start allocating dynamic PCI memory at gapstart which is already
+	 * rounded up to a multiple of 6 MB.
 	 */
-	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
+	pci_mem_start = gapstart;
 
 	printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n",
 		pci_mem_start, gapstart, gapsize);
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -578,7 +578,16 @@ __init void e820_setup_gap(void)
 	i = e820.nr_map;
 	while (--i >= 0) {
 		unsigned long long start = e820.map[i].addr;
-		unsigned long long end = start + e820.map[i].size;
+		unsigned long long end;
+
+		/*
+		 * try to find the largest gap starting at a muliple of 64MB.
+		 * this is to avoid problems with some BIOSen that forget to report
+		 * memory used by the shared memory graphic controller.
+		 * most people are not going to use more than 64MB for a shared
+		 * controller, right? round up to 128MB?
+		 */
+		end = (start + e820.map[i].size + 0x3ffffff) & ~0x3ffffff;
 
 		/*
 		 * Since "last" is at most 4GB, we know we'll
@@ -604,14 +613,10 @@ __init void e820_setup_gap(void)
 	}
 
 	/*
-	 * Start allocating dynamic PCI memory a bit into the gap,
-	 * aligned up to the nearest megabyte.
-	 *
-	 * Question: should we try to pad it up a bit (do something
-	 * like " + (gapsize >> 3)" in there too?). We now have the
-	 * technology.
+	 * Start allocating dynamic PCI memory at gapstart which is already
+	 * rounded up to a multiple of 6 MB.
 	 */
-	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
+	pci_mem_start = gapstart;
 
 	printk(KERN_INFO "Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",
 		pci_mem_start, gapstart, gapsize);

 

From torvalds at osdl.org  Thu Sep  8 16:33:19 2005
From: torvalds at osdl.org (Linus Torvalds)
Date: Thu Sep  8 16:33:50 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509082158.35766.daniel.ritz@gmx.ch>
References: <200509072218.43704.daniel.ritz@gmx.ch>
	<200509081830.23906.daniel.ritz@gmx.ch>
	<20050908173342.GA28889@sonic.net>
	<200509082158.35766.daniel.ritz@gmx.ch>
Message-ID: <Pine.LNX.4.58.0509081311430.3039@g5.osdl.org>



On Thu, 8 Sep 2005, Daniel Ritz wrote:
>
> something like the attached patch...
> 
> cc:ing linus as he is the one that added the "find the largest gap" code
> that comes handy here...

You've got typos there ("rounded up to a multiple of 6 MB" - it should be 
64). Also, I really think you'd be much better off keeping the old gap 
code, and rounding _later_.

The "round later" approach allows you to look at the size of the gap, and
use that to decide whether to round or not. That's what the question in
the comment is talking about, how we "now have the technology" for it.

Also, while it's wonderful to round up in general, there really would be
an advantage to have a gap _offset_ too: it's safer than rounding up to a
big area, if only because it might help against people doing prefetches
etc offset off the last few pages of RAM and into a PCI mapping..

So I'd really prefer to see the gap-finding remain the same, and 
then have just the pci_mem_start calculations be something like

	/*
	 * See how much we want to round up: start off with
	 * rounding to the next 1MB area.
	 */
	round = 0x100000;
	while ((gapsize >> 4) > round)
		round += round;
	/* Fun with two's complement */
	pci_mem_start = (gapstart + round) & -round;

which will not really "round up" but actually "gap up" (ie it's guaranteed
to leave a gap) to the next power-of-two, where we select the rounding 
size depending on how much space we have in the gap.

The above should result in a "rounding gap" of 64MB if the real gap is 
1GB..

The other alternative is to make PCI allocations generally start at the
high range of the allowable - judging by the lspci listings I've seem from
people under Windows, that seems to be what Windows does, which might be a
good idea (ie the closer we match windows allocation patterns, the more
likely we're to not hit some unmarked region - because windows testing
would have hit it too).

Hmm?

		Linus

From stblack at linux.it  Thu Sep  8 17:35:33 2005
From: stblack at linux.it (Stefano Negro)
Date: Thu Sep  8 17:53:50 2005
Subject: Strange behaviour of PCMCIA
In-Reply-To: <200509080053.26422.daniel.ritz@gmx.ch>
References: <200509072203.10375.daniel.ritz@gmx.ch>
	<200509080007.47185.stblack@linux.it>
	<200509080053.26422.daniel.ritz@gmx.ch>
Message-ID: <200509082335.33596.stblack@linux.it>

Alle 00:53, gioved? 8 settembre 2005, Daniel Ritz ha scritto:
> On Thursday 08 September 2005 00.07, Stefano Negro wrote:
> > Alle 22:03, mercoled? 7 settembre 2005, Daniel Ritz ha scritto:
[cut]
>
> so the solution is to add
> 	pci=assign-busses
> to the kernel command line. the kernel then sets the correct subordinate
> number on the PCI bridge. alternativley if you're too lazy to reboot use
> setpci: setpci -s 00:14.4 0x1a.b=0x06
> (before you insert the wireless card, of course).
>
> the unable to remove socket power message is probably just because of some
> pci posted writes. if that's the case the message is completly harmless.
> (see the following link for a patch that fixes it:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13/2.6.1
>3-mm1/broken-out/pcmcia-yenta-avoid-pci-write-posting-problem.patch )
>
> rgds
> -daniel
Perfect !
Now I see :
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b 
MAC (rev 20)
        Subsystem: Netgear: Unknown device 4700
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 19
        Region 0: I/O ports at 4400 [disabled] [size=256]
        Region 1: Memory at 28800000 (32-bit, non-prefetchable) [disabled] 
[size=512]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Now the driver.
Thanks Daniel.

---
Ciao
Stblack 
http://www.linux.it/~stblack

From daniel.ritz at gmx.ch  Thu Sep  8 18:57:14 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep  8 18:57:35 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <Pine.LNX.4.58.0509081311430.3039@g5.osdl.org>
References: <200509072218.43704.daniel.ritz@gmx.ch>
	<200509082158.35766.daniel.ritz@gmx.ch>
	<Pine.LNX.4.58.0509081311430.3039@g5.osdl.org>
Message-ID: <200509090057.15153.daniel.ritz@gmx.ch>

On Thursday 08 September 2005 22.33, Linus Torvalds wrote:
> 
> On Thu, 8 Sep 2005, Daniel Ritz wrote:
> >
> > something like the attached patch...
> > 
> > cc:ing linus as he is the one that added the "find the largest gap" code
> > that comes handy here...
> 
> You've got typos there ("rounded up to a multiple of 6 MB" - it should be

whoops! you just convinced me to hide that old keyboard somewhere and
use a sane one :)

> 64). Also, I really think you'd be much better off keeping the old gap 
> code, and rounding _later_.
> 
> The "round later" approach allows you to look at the size of the gap, and
> use that to decide whether to round or not. That's what the question in
> the comment is talking about, how we "now have the technology" for it.
> 
> Also, while it's wonderful to round up in general, there really would be
> an advantage to have a gap _offset_ too: it's safer than rounding up to a
> big area, if only because it might help against people doing prefetches
> etc offset off the last few pages of RAM and into a PCI mapping..
> 
> So I'd really prefer to see the gap-finding remain the same, and 
> then have just the pci_mem_start calculations be something like
> 
> 	/*
> 	 * See how much we want to round up: start off with
> 	 * rounding to the next 1MB area.
> 	 */
> 	round = 0x100000;
> 	while ((gapsize >> 4) > round)
> 		round += round;
> 	/* Fun with two's complement */
> 	pci_mem_start = (gapstart + round) & -round;
> 
> which will not really "round up" but actually "gap up" (ie it's guaranteed
> to leave a gap) to the next power-of-two, where we select the rounding 
> size depending on how much space we have in the gap.
> 
> The above should result in a "rounding gap" of 64MB if the real gap is 
> 1GB..
> 

i did the math for this months pcmcia breakages because of that...and yes,
works just fine. so attached your thinggy in diff -u format.

> The other alternative is to make PCI allocations generally start at the
> high range of the allowable - judging by the lspci listings I've seem from
> people under Windows, that seems to be what Windows does, which might be a

looking at my other box, yes. all pci devices are above 3GB at least.

> good idea (ie the closer we match windows allocation patterns, the more
> likely we're to not hit some unmarked region - because windows testing
> would have hit it too).

yeah.

> Hmm?
> 
> 		Linus

rgds
-daniel

----

diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -1299,7 +1299,7 @@ legacy_init_iomem_resources(struct resou
  */
 static void __init register_memory(void)
 {
-	unsigned long gapstart, gapsize;
+	unsigned long gapstart, gapsize, round;
 	unsigned long long last;
 	int	      i;
 
@@ -1344,14 +1344,14 @@ static void __init register_memory(void)
 	}
 
 	/*
-	 * Start allocating dynamic PCI memory a bit into the gap,
-	 * aligned up to the nearest megabyte.
-	 *
-	 * Question: should we try to pad it up a bit (do something
-	 * like " + (gapsize >> 3)" in there too?). We now have the
-	 * technology.
+	 * See how much we want to round up: start off with
+	 * rounding to the next 1MB area.
 	 */
-	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
+	round = 0x100000;
+	while ((gapsize >> 4) > round)
+		round += round;
+	/* Fun with two's complement */
+	pci_mem_start = (gapstart + round) & -round;
 
 	printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n",
 		pci_mem_start, gapstart, gapsize);
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -567,7 +567,7 @@ unsigned long pci_mem_start = 0xaeedbabe
  */
 __init void e820_setup_gap(void)
 {
-	unsigned long gapstart, gapsize;
+	unsigned long gapstart, gapsize, round;
 	unsigned long last;
 	int i;
 	int found = 0;
@@ -604,14 +604,14 @@ __init void e820_setup_gap(void)
 	}
 
 	/*
-	 * Start allocating dynamic PCI memory a bit into the gap,
-	 * aligned up to the nearest megabyte.
-	 *
-	 * Question: should we try to pad it up a bit (do something
-	 * like " + (gapsize >> 3)" in there too?). We now have the
-	 * technology.
+	 * See how much we want to round up: start off with
+	 * rounding to the next 1MB area.
 	 */
-	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
+	round = 0x100000;
+	while ((gapsize >> 4) > round)
+		round += round;
+	/* Fun with two's complement */
+	pci_mem_start = (gapstart + round) & -round;
 
 	printk(KERN_INFO "Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",
 		pci_mem_start, gapstart, gapsize);


From supersaucy151 at yahoo.com  Thu Sep  8 19:01:31 2005
From: supersaucy151 at yahoo.com (James)
Date: Thu Sep  8 19:01:46 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509082158.35766.daniel.ritz@gmx.ch>
Message-ID: <20050908230132.36252.qmail@web52804.mail.yahoo.com>

Thanks Daniel.  I added the Reserve= to my grub and
now ive got a light on my Netgear MA401.
But ive still got problems.  My hardware monitor sees
the card but It is almost like nothing is recognizing
the card.  It should be plug and play.
I have to write alias eth1 prism2_cs in my
modprobe.conf to get it to show up in the fedora
network gui.  But when i try to activate the card. I
get this error "device eth1 does not seem to be
present, delaying initialization." This may be past
your area but can you try and help me. What am i doing
wrong. What can I do. I will do summersaults when i
get this thing up and working. I thought i had it when
my green light came up on my card.
Thanks in advance
james

--- Daniel Ritz <daniel.ritz@gmx.ch> wrote:

> On Thursday 08 September 2005 19.33, David Hinds
> wrote:
> > On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel
> Ritz wrote:
> > > hi james
> > > 
> > > [ please always use reply-to-all. i'm not
> subscribed to the list ]
> > > 
> > > you have a notebook with graphic controller
> working in shared memory mode
> > > which means it uses the main memory.
> unfortunatley the is BIOS crap and
> > > forgets to report that. add the following to the
> kernel command line to
> > > fix the problem:
> > > 	reserve=0x1e000000,0x2000000
> > > it tells the kernel not to use the region from
> 480-512 MB.
> > 
> > I thought that this had been fixed, so the kernel
> would round up
> > apparent memory sizes that were a bit smaller than
> a power of two.
> 
> it currently only rounds up to the next MB. but that
> doesn't catch
> the shared VGAs...
> 
> > I guess not.  It really should get fixed properly
> (even though it
> > technically is not a kernel problem), because it
> generates a huge
> > amount of problem reports.
> > 
> 
> something like the attached patch...
> 
> cc:ing linus as he is the one that added the "find
> the largest gap" code
> that comes handy here...
> and cc:ing andrew for the obvious reason...
> 
> rgds
> -daniel
> 
> ----
> 
> [PATCH] i386/x86_64: align pci iomem start address
> to 64MB
> 
> align the PCI iomemory starting address to a muliple
> of 64MB to avoid problems
> with some BIOS that forget to report the memory used
> by a shared memory graphic
> controller in the e820 memory map.
> 
> most people don't give the shared VGA more than
> 64MB, right?
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> diff --git a/arch/i386/kernel/setup.c
> b/arch/i386/kernel/setup.c
> --- a/arch/i386/kernel/setup.c
> +++ b/arch/i386/kernel/setup.c
> @@ -1325,7 +1325,16 @@ static void __init
> register_memory(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -1344,14 +1353,10 @@ static void __init
> register_memory(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk("Allocating PCI resources starting at %08lx
> (gap: %08lx:%08lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> diff --git a/arch/x86_64/kernel/e820.c
> b/arch/x86_64/kernel/e820.c
> --- a/arch/x86_64/kernel/e820.c
> +++ b/arch/x86_64/kernel/e820.c
> @@ -578,7 +578,16 @@ __init void
> e820_setup_gap(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -604,14 +613,10 @@ __init void
> e820_setup_gap(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk(KERN_INFO "Allocating PCI resources
> starting at %lx (gap: %lx:%lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> 
>  
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

From supersaucy151 at yahoo.com  Thu Sep  8 19:21:17 2005
From: supersaucy151 at yahoo.com (James)
Date: Thu Sep  8 19:28:32 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509082158.35766.daniel.ritz@gmx.ch>
Message-ID: <20050908232118.7157.qmail@web52811.mail.yahoo.com>

here is my latest dmesg
ksign: Installing public key data
Loading keyring
- Added public key 1C1942C715575330
- User ID: Red Hat, Inc. (Kernel Module GPG key)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: CPU0 (power states: C1[C1])
ACPI: Thermal Zone [THRM] (70 C)
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected SiS 760 chipset
agpgart: AGP aperture is 4M @ 0xe0000000
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at
0x60,0x64 irq 1,12
i8042.c: Detected active multiplexing controller, rev
1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports,
IRQ sharing enabled
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:02.6[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ  11
ACPI: PCI interrupt for device 0000:00:02.6 disabled
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K
size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision:
7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes;
override with idebus=xx
SIS5513: IDE controller at PCI slot 0000:00:02.5
SIS5513: chipset revision 0
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings:
hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings:
hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: IC25N080ATMR04-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: Slimtype DVDRW SOSW-852S, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 1024KiB
hda: 156301488 sectors (80026 MB) w/7884KiB Cache,
CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 < hda5 hda6 hda7 >
hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB
Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core
driver
mice: PS/2 mouse device common for all mice
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 32Kbytes
TCP established hash table entries: 16384 (order: 5,
131072 bytes)
TCP bind hash table entries: 16384 (order: 6, 458752
bytes)
TCP: Hash tables configured (established 16384 bind
16384)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI wakeup devices:
AC97 MC97 CBC0  MAC
ACPI: (supports S0 S1 S3 S4 S5)
Freeing unused kernel memory: 184k freed
device-mapper: 4.4.0-ioctl (2005-01-12) initialised:
dm-devel@redhat.com
input: AT Translated Set 2 keyboard on isa0060/serio0
alps.c: Enabling hardware tapping
input: PS/2 Mouse on isa0060/serio1
input: AlpsPS/2 ALPS GlidePoint on isa0060/serio1
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
security:  3 users, 6 roles, 764 types, 87 bools
security:  55 classes, 180131 rules
SELinux:  Completing initialization.
SELinux:  Setting up existing superblocks.
SELinux: initialized (dev dm-0, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
SELinux: initialized (dev selinuxfs, type selinuxfs),
uses genfs_contexts
SELinux: initialized (dev mqueue, type mqueue), not
configured for labeling
SELinux: initialized (dev hugetlbfs, type hugetlbfs),
not configured for labelin g
SELinux: initialized (dev devpts, type devpts), uses
transition SIDs
SELinux: initialized (dev eventpollfs, type
eventpollfs), uses genfs_contexts
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
SELinux: initialized (dev futexfs, type futexfs), uses
genfs_contexts
SELinux: initialized (dev pipefs, type pipefs), uses
task SIDs
SELinux: initialized (dev sockfs, type sockfs), uses
task SIDs
SELinux: initialized (dev proc, type proc), uses
genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses
genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses
genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses
genfs_contexts
SELinux: initialized (dev usbfs, type usbfs), uses
genfs_contexts
floppy0: no floppy controllers found
sis900.c: v1.08.08 Jan. 22 2005
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 4
PCI: setting IRQ 4 as level-triggered
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] ->
GSI 4 (level, low) -> IRQ 4
0000:00:04.0: Realtek RTL8201 PHY transceiver found at
address 1.
0000:00:04.0: Using transceiver found at address 1 as
default
eth0: SiS 900 PCI Fast Ethernet at 0xd800, IRQ 4,
00:0c:76:f8:14:14.
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
orinoco 0.15rc2 (David Gibson
<hermes@gibson.dropbear.id.au>, Pavel Roskin <pros
ki@gnu.org>, et al)
orinoco_cs 0.15rc2 (David Gibson
<hermes@gibson.dropbear.id.au>, Pavel Roskin <p
roski@gnu.org>, et al)
snd_intel8x0: Unknown parameter `'
ACPI: PCI Interrupt 0000:00:02.7[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ  11
intel8x0_measure_ac97_clock: measured 49503 usecs
intel8x0: clocking to 48000
ACPI: PCI Interrupt 0000:00:02.6[C] -> Link [LNKC] ->
GSI 11 (level, low) -> IRQ  11
i2c-sis96x version 1.0.0
sis96x_smbus 0000:00:02.1: SiS96x SMBus base address:
0x0c00
shpchp: shpc_init : shpc_cap_offset == 0
shpchp: Standard Hot Plug PCI Controller Driver
version: 0.4
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:03.3[D] -> Link [LNKH] ->
GSI 10 (level, low) -> IRQ  10
ehci_hcd 0000:00:03.3: EHCI Host Controller
ehci_hcd 0000:00:03.3: new USB bus registered,
assigned bus number 1
ehci_hcd 0000:00:03.3: irq 10, io mem 0xdffff000
PCI: cache line size of 64 is not supported by device
0000:00:03.3
ehci_hcd 0000:00:03.3: USB 2.0 initialized, EHCI 1.00,
driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
ohci_hcd: 2004 Nov 08 USB 1.1 'Open' Host Controller
(OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 7
PCI: setting IRQ 7 as level-triggered
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKE] ->
GSI 7 (level, low) -> IRQ 7
ohci_hcd 0000:00:03.0: OHCI Host Controller
ohci_hcd 0000:00:03.0: new USB bus registered,
assigned bus number 2
ohci_hcd 0000:00:03.0: irq 7, io mem 0xdfffd000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 5
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKF] ->
GSI 5 (level, low) -> IRQ 5
ohci_hcd 0000:00:03.1: OHCI Host Controller
ohci_hcd 0000:00:03.1: new USB bus registered,
assigned bus number 3
ohci_hcd 0000:00:03.1: irq 5, io mem 0xdfffe000
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 3 ports detected
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKB] ->
GSI 11 (level, low) -> IRQ  11
Yenta: CardBus bridge found at 0000:00:0a.0
[1462:0111]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:0a.0, mfunc 0x00001002,
devctl 0x44
Yenta: ISA IRQ mask 0x0000, PCI irq 11
Socket status: 30000010
SELinux: initialized (dev ramfs, type ramfs), uses
genfs_contexts
NET: Registered protocol family 10
Disabled Privacy Extensions on device c03e6a20(lo)
IPv6 over IPv4 tunneling driver
ACPI: AC Adapter [ADP1] (on-line)
Using generic hotkey driver
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID0]
ACPI: Sleep Button (CM) [SLPB]
ACPI: Power Button (CM) [PWRB]
ibm_acpi: Using generic hotkey driver
toshiba_acpi: Using generic hotkey driver
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
audit(1126213138.973:2): avc:  denied  { write } for 
pid=1433 comm="fsck" name= "rhgb-console" dev=ramfs
ino=5177 scontext=system_u:system_r:fsadm_t
tcontext=sy stem_u:object_r:ramfs_t tclass=fifo_file
EXT3 FS on dm-0, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SELinux: initialized (dev hda6, type ext3), uses xattr
SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
NTFS driver 2.1.22 [Flags: R/W MODULE].
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro .umask.
Adding 917496k swap on /dev/VolGroup00/LogVol01. 
Priority:-1 extents:1
SELinux: initialized (dev binfmt_misc, type
binfmt_misc), uses genfs_contexts
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0x800-0x8ff: excluding 0x818-0x84f
0x858-0x89f
cs: IO port probe 0x100-0x4ff: excluding 0x480-0x48f
0x4d0-0x4d7
cs: IO port probe 0xa00-0xaff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
Unable to handle kernel NULL pointer dereference at
virtual address 00000000
 printing eip:
c0138ea5
*pde = 1d54f067
Oops: 0000 [#1]
Modules linked in: p80211(U) ntfs(U) video button
battery ac md5 ipv6 yenta_sock et rsrc_nonstatic
ohci_hcd ehci_hcd shpchp i2c_sis96x i2c_core
snd_intel8x0m snd _intel8x0 snd_ac97_codec
snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
sn d_seq_device snd_pcm_oss snd_mixer_oss snd_pcm
snd_timer snd soundcore snd_page_ alloc orinoco_cs
pcmcia orinoco hermes pcmcia_core sis900 mii
dm_snapshot dm_zer o dm_mirror ext3 jbd dm_mod
CPU:    0
EIP:    0060:[<c0138ea5>]    Not tainted VLI
EFLAGS: 00010246   (2.6.12-1.1447_FC4)
EIP is at call_usermodehelper+0x136/0x171
eax: 00000000   ebx: dd560e34   ecx: ddfca540   edx:
00000000
esi: 00000000   edi: dd560e80   ebp: dd560f68   esp:
dd560e30
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 1609, threadinfo=dd560000
task=dd357550)
Stack: dd676c1c 00000000 dd560e38 dd560e38 c0138d1f
dd560ea4 00000000 00000000
       00000000 00000000 1d244b3c 00000000 0000000a
c038746f 00000000 00000000
       4b87ad6e 00000000 00000000 00000000 00000000
1d244b3c 00000000 0000000a
Call Trace:
 [<c0138d1f>] __call_usermodehelper+0x0/0x50
 [<de9ea020>] p80211_run_sbin_hotplug+0x104/0x13c
[p80211]
 [<c01f42a9>] inode_alloc_security+0x24/0xc9
 [<c031ff6c>] netlink_insert+0x86/0x12c
 [<de9e6016>] init_module+0x16/0x19 [p80211]
 [<c014889c>] sys_init_module+0xca/0x1c4
 [<c0103a61>] syscall_call+0x7/0xb
Code: 84 24 94 00 00 00 89 44 24 2c c7 44 24 28 3c 4b
24 1d c7 44 24 40 6e ad 87  4b 8b 0d 94 ea 47 c0 b8 f0
ff ff ff 85 c9 74 07 31 c0 <80> 3e 00 75 0b 81 c4 9c 
00 00 00 5b 5e 5f 5d c3 89 da 89 c8 e8
 <6>eth0: Media Link Off
SELinux: initialized (dev rpc_pipefs, type
rpc_pipefs), uses genfs_contexts
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager
initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.7
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.5
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro .umask.
SELinux: initialized (dev autofs, type autofs), uses
genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses
genfs_contexts
lp: driver loaded but no devices found
NTFS-fs error (device hda1): parse_options():
Unrecognized mount option owner.ro .umask.
application mixer_applet2 uses obsolete OSS audio
interface
eth0: Media Link On 100mbps full-duplex
eth0: Media Link On 100mbps full-duplex
eth0: no IPv6 routers present
cs: IO port probe 0xc00-0xcff: clean.
cs: IO port probe 0x800-0x8ff: excluding 0x818-0x84f
0x858-0x89f
cs: IO port probe 0x100-0x4ff: excluding 0x480-0x48f
0x4d0-0x4d7
cs: IO port probe 0xa00-0xaff: clean.
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
eth0: Media Link On 100mbps full-duplex
eth0: no IPv6 routers present
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
ieee1394: Initialized config rom entry `ip1394'
ieee1394: Initialized config rom entry `ip1394'
cs: pcmcia_socket0: unable to apply power.
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: Unknown symbol register_wlandev
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: Unknown symbol wlan_setup
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
ieee1394: Initialized config rom entry `ip1394'
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
eth0: Media Link On 100mbps full-duplex
eth0: no IPv6 routers present
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach
eth0: Media Link On 100mbps full-duplex
eth0: no IPv6 routers present
prism2_cs: disagrees about version of symbol
p80211netdev_rx
prism2_cs: Unknown symbol p80211netdev_rx
prism2_cs: disagrees about version of symbol
register_wlandev
prism2_cs: Unknown symbol register_wlandev
prism2_cs: disagrees about version of symbol
wlan_unsetup
prism2_cs: Unknown symbol wlan_unsetup
prism2_cs: disagrees about version of symbol
unregister_wlandev
prism2_cs: Unknown symbol unregister_wlandev
prism2_cs: disagrees about version of symbol
p80211netdev_hwremoved
prism2_cs: Unknown symbol p80211netdev_hwremoved
prism2_cs: disagrees about version of symbol
wlan_setup
prism2_cs: Unknown symbol wlan_setup
prism2_cs: disagrees about version of symbol
p80211skb_rxmeta_attach
prism2_cs: Unknown symbol p80211skb_rxmeta_attach


--- Daniel Ritz <daniel.ritz@gmx.ch> wrote:

> On Thursday 08 September 2005 19.33, David Hinds
> wrote:
> > On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel
> Ritz wrote:
> > > hi james
> > > 
> > > [ please always use reply-to-all. i'm not
> subscribed to the list ]
> > > 
> > > you have a notebook with graphic controller
> working in shared memory mode
> > > which means it uses the main memory.
> unfortunatley the is BIOS crap and
> > > forgets to report that. add the following to the
> kernel command line to
> > > fix the problem:
> > > 	reserve=0x1e000000,0x2000000
> > > it tells the kernel not to use the region from
> 480-512 MB.
> > 
> > I thought that this had been fixed, so the kernel
> would round up
> > apparent memory sizes that were a bit smaller than
> a power of two.
> 
> it currently only rounds up to the next MB. but that
> doesn't catch
> the shared VGAs...
> 
> > I guess not.  It really should get fixed properly
> (even though it
> > technically is not a kernel problem), because it
> generates a huge
> > amount of problem reports.
> > 
> 
> something like the attached patch...
> 
> cc:ing linus as he is the one that added the "find
> the largest gap" code
> that comes handy here...
> and cc:ing andrew for the obvious reason...
> 
> rgds
> -daniel
> 
> ----
> 
> [PATCH] i386/x86_64: align pci iomem start address
> to 64MB
> 
> align the PCI iomemory starting address to a muliple
> of 64MB to avoid problems
> with some BIOS that forget to report the memory used
> by a shared memory graphic
> controller in the e820 memory map.
> 
> most people don't give the shared VGA more than
> 64MB, right?
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> diff --git a/arch/i386/kernel/setup.c
> b/arch/i386/kernel/setup.c
> --- a/arch/i386/kernel/setup.c
> +++ b/arch/i386/kernel/setup.c
> @@ -1325,7 +1325,16 @@ static void __init
> register_memory(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -1344,14 +1353,10 @@ static void __init
> register_memory(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk("Allocating PCI resources starting at %08lx
> (gap: %08lx:%08lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> diff --git a/arch/x86_64/kernel/e820.c
> b/arch/x86_64/kernel/e820.c
> --- a/arch/x86_64/kernel/e820.c
> +++ b/arch/x86_64/kernel/e820.c
> @@ -578,7 +578,16 @@ __init void
> e820_setup_gap(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -604,14 +613,10 @@ __init void
> e820_setup_gap(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk(KERN_INFO "Allocating PCI resources
> starting at %lx (gap: %lx:%lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> 
>  
> 



	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/

From torvalds at osdl.org  Thu Sep  8 19:37:18 2005
From: torvalds at osdl.org (Linus Torvalds)
Date: Thu Sep  8 19:37:42 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <20050908232118.7157.qmail@web52811.mail.yahoo.com>
References: <20050908232118.7157.qmail@web52811.mail.yahoo.com>
Message-ID: <Pine.LNX.4.58.0509081632500.3051@g5.osdl.org>



On Thu, 8 Sep 2005, James wrote:
> cs: memory probe 0xa0000000-0xa0ffffff: clean.
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
>  printing eip:
> c0138ea5
> *pde = 1d54f067
> Oops: 0000 [#1]
> Modules linked in: p80211(U) ntfs(U) video button
> battery ac md5 ipv6 yenta_sock et rsrc_nonstatic
> ohci_hcd ehci_hcd shpchp i2c_sis96x i2c_core
> snd_intel8x0m snd _intel8x0 snd_ac97_codec
> snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq
> sn d_seq_device snd_pcm_oss snd_mixer_oss snd_pcm
> snd_timer snd soundcore snd_page_ alloc orinoco_cs
> pcmcia orinoco hermes pcmcia_core sis900 mii
> dm_snapshot dm_zer o dm_mirror ext3 jbd dm_mod
> CPU:    0
> EIP:    0060:[<c0138ea5>]    Not tainted VLI
> EFLAGS: 00010246   (2.6.12-1.1447_FC4)
> EIP is at call_usermodehelper+0x136/0x171
> eax: 00000000   ebx: dd560e34   ecx: ddfca540   edx: 00000000
> esi: 00000000   edi: dd560e80   ebp: dd560f68   esp: dd560e30
> ds: 007b   es: 007b   ss: 0068
> Process modprobe (pid: 1609, threadinfo=dd560000 task=dd357550)
> Stack: dd676c1c 00000000 dd560e38 dd560e38 c0138d1f dd560ea4 00000000 00000000
>        00000000 00000000 1d244b3c 00000000 0000000a c038746f 00000000 00000000
>        4b87ad6e 00000000 00000000 00000000 00000000 1d244b3c 00000000 0000000a
> Call Trace:
>  [<c0138d1f>] __call_usermodehelper+0x0/0x50
>  [<de9ea020>] p80211_run_sbin_hotplug+0x104/0x13c [p80211]
>  [<c01f42a9>] inode_alloc_security+0x24/0xc9
>  [<c031ff6c>] netlink_insert+0x86/0x12c
>  [<de9e6016>] init_module+0x16/0x19 [p80211]
>  [<c014889c>] sys_init_module+0xca/0x1c4
>  [<c0103a61>] syscall_call+0x7/0xb

This seems to be "path" being passed in as NULL in call_usermodehelper().

That would be wrong.

Considering that you also seem to be getting tons of versioning problems, 
I suspect you are running the wrong modules.

		Linus

From supersaucy151 at yahoo.com  Fri Sep  9 14:41:16 2005
From: supersaucy151 at yahoo.com (James)
Date: Fri Sep  9 14:41:51 2005
Subject: Averatec 6240 pcmcia_socket0: unable to apply power
In-Reply-To: <200509082158.35766.daniel.ritz@gmx.ch>
Message-ID: <20050909184116.92007.qmail@web52808.mail.yahoo.com>

I just wanted to say thank you to all to helped me get
my wireless card working.  It is up and running now.
Thanks to the memory reserve because i now have power.
Thanks all

james

--- Daniel Ritz <daniel.ritz@gmx.ch> wrote:

> On Thursday 08 September 2005 19.33, David Hinds
> wrote:
> > On Thu, Sep 08, 2005 at 06:30:23PM +0200, Daniel
> Ritz wrote:
> > > hi james
> > > 
> > > [ please always use reply-to-all. i'm not
> subscribed to the list ]
> > > 
> > > you have a notebook with graphic controller
> working in shared memory mode
> > > which means it uses the main memory.
> unfortunatley the is BIOS crap and
> > > forgets to report that. add the following to the
> kernel command line to
> > > fix the problem:
> > > 	reserve=0x1e000000,0x2000000
> > > it tells the kernel not to use the region from
> 480-512 MB.
> > 
> > I thought that this had been fixed, so the kernel
> would round up
> > apparent memory sizes that were a bit smaller than
> a power of two.
> 
> it currently only rounds up to the next MB. but that
> doesn't catch
> the shared VGAs...
> 
> > I guess not.  It really should get fixed properly
> (even though it
> > technically is not a kernel problem), because it
> generates a huge
> > amount of problem reports.
> > 
> 
> something like the attached patch...
> 
> cc:ing linus as he is the one that added the "find
> the largest gap" code
> that comes handy here...
> and cc:ing andrew for the obvious reason...
> 
> rgds
> -daniel
> 
> ----
> 
> [PATCH] i386/x86_64: align pci iomem start address
> to 64MB
> 
> align the PCI iomemory starting address to a muliple
> of 64MB to avoid problems
> with some BIOS that forget to report the memory used
> by a shared memory graphic
> controller in the e820 memory map.
> 
> most people don't give the shared VGA more than
> 64MB, right?
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> diff --git a/arch/i386/kernel/setup.c
> b/arch/i386/kernel/setup.c
> --- a/arch/i386/kernel/setup.c
> +++ b/arch/i386/kernel/setup.c
> @@ -1325,7 +1325,16 @@ static void __init
> register_memory(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -1344,14 +1353,10 @@ static void __init
> register_memory(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk("Allocating PCI resources starting at %08lx
> (gap: %08lx:%08lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> diff --git a/arch/x86_64/kernel/e820.c
> b/arch/x86_64/kernel/e820.c
> --- a/arch/x86_64/kernel/e820.c
> +++ b/arch/x86_64/kernel/e820.c
> @@ -578,7 +578,16 @@ __init void
> e820_setup_gap(void)
>  	i = e820.nr_map;
>  	while (--i >= 0) {
>  		unsigned long long start = e820.map[i].addr;
> -		unsigned long long end = start +
> e820.map[i].size;
> +		unsigned long long end;
> +
> +		/*
> +		 * try to find the largest gap starting at a
> muliple of 64MB.
> +		 * this is to avoid problems with some BIOSen
> that forget to report
> +		 * memory used by the shared memory graphic
> controller.
> +		 * most people are not going to use more than
> 64MB for a shared
> +		 * controller, right? round up to 128MB?
> +		 */
> +		end = (start + e820.map[i].size + 0x3ffffff) &
> ~0x3ffffff;
>  
>  		/*
>  		 * Since "last" is at most 4GB, we know we'll
> @@ -604,14 +613,10 @@ __init void
> e820_setup_gap(void)
>  	}
>  
>  	/*
> -	 * Start allocating dynamic PCI memory a bit into
> the gap,
> -	 * aligned up to the nearest megabyte.
> -	 *
> -	 * Question: should we try to pad it up a bit (do
> something
> -	 * like " + (gapsize >> 3)" in there too?). We now
> have the
> -	 * technology.
> +	 * Start allocating dynamic PCI memory at gapstart
> which is already
> +	 * rounded up to a multiple of 6 MB.
>  	 */
> -	pci_mem_start = (gapstart + 0xfffff) & ~0xfffff;
> +	pci_mem_start = gapstart;
>  
>  	printk(KERN_INFO "Allocating PCI resources
> starting at %lx (gap: %lx:%lx)\n",
>  		pci_mem_start, gapstart, gapsize);
> 
>  
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

From esac at javanet.info  Sat Sep 10 12:48:02 2005
From: esac at javanet.info (Eli Spizzichino)
Date: Sat Sep 10 12:55:35 2005
Subject: where can I find ds module?
Message-ID: <43230E42.8040102@javanet.info>

Hello all,
I'm trying to install an atheros based pcmcia card on gentoo.
I've followed instructions from 
http://gentoo-wiki.com/HARDWARE_PCMCIA_NIC and 
http://forums.gentoo.org/viewtopic.php?t=26716
however in those docs is not explained how to get the 'ds' module 
modprobe can't find it.

I already have the cardbridge Texas Instrument PCI1420 working with 
modprobe i82092
pcmcia-cs is installed from portage tree (version 3.2.5-r3)
the kernel (2.6.11-r8) is compiled with make clean bzImage modules 
modules_install
and I did:
env-update
. /etc/profiles
ldconfig
update-modules force
because I've read that this can help solving this problem but it doesn't :/
Reading http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG doc seems 
ds module comes with pcmcia-cs but qpkg -l pcmcia-cs |grep ds doesn't 
shows it nor I find it in /lib/modules

This problem is driving me mad (but not to mad driver:)
thanks in advance

From k2di2 at att.net  Sat Sep 10 21:54:56 2005
From: k2di2 at att.net (W M Brelsford)
Date: Sat Sep 10 21:55:46 2005
Subject: slow 3Com cardbus network card startup with 2.6.12/13 kernels
Message-ID: <20050911015456.GA5366@k2di>

Since upgrading my kernel from 2.6.11.7 to 2.6.12.2 (and also with
2.6.13), I'm experiencing a variable delay of 0 to 60 seconds
before seeing the following message and being able to use the
network:

 eth0: Setting full-duplex based on MII #0 link partner capability of 01e1.

The card is a 3Com 3cCFE575CT, laptop is a Winbook Si, pcmcia-cs is
version 3.2.8 (same with 3.2.5).  Other network cards (non-cardbus)
work OK.  The kernel configurations are essentially the same.

A race condition, perhaps?  Any suggestions will be appreciated.

Output from lspci -vv:

  0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 64
	Region 0: Memory at f8000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 1.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

  0000:00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 128
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: fc100000-fdffffff
	Prefetchable memory behind bridge: 10000000-100fffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+

  0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6832/6833 CardBus Controller (rev 34)
	Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 4260
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10100000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: 08000000-09fff000 (prefetchable)
	Memory window 1: 0a000000-0bfff000
	I/O window 0: 00001800-000018ff
	I/O window 1: 00001c00-00001cff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

  0000:00:0a.1 CardBus bridge: O2 Micro, Inc. OZ6832/6833 CardBus Controller (rev 34)
	Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 4260
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 10
	Region 0: Memory at 10101000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
	Memory window 0: 0c000000-0dfff000 (prefetchable)
	Memory window 1: 0e000000-0ffff000
	I/O window 0: 00003000-000030ff
	I/O window 1: 00003400-000034ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

  0000:02:00.0 Ethernet controller: 3Com Corporation 3cCFE575CT CardBus [Cyclone] (rev 10)
	Subsystem: 3Com Corporation FE575C-3Com 10/100 LAN CardBus-Fast Ethernet
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (2500ns min, 1250ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at 1800 [size=128]
	Region 1: Memory at 0a000000 (32-bit, non-prefetchable) [size=128]
	Region 2: Memory at 0a000080 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at 08000000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 1
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-


-- 
Bill Brelsford
k2di2@att.net

From sander at humilis.net  Sun Sep 11 02:32:36 2005
From: sander at humilis.net (Sander)
Date: Sun Sep 11 02:33:11 2005
Subject: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power
Message-ID: <20050911063236.GA13299@favonius>

Dear People,

I resend this without the full kernel .config as my last message was a
bit too long and still awaits moderator approval.

---
I just found:
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html#knownproblems

after typing this whole message. I wonder, is there any hope? The "VIA
EPIA M-II 10K board" link points to a message dating October 2004.

This message from Samual, August 2005 had no replies:
http://lists.infradead.org/pipermail/linux-pcmcia/2005-August/002442.html
---


I've searched the archives of August and September 2005 and applied the
patch from Daniel:
http://lists.infradead.org/pipermail/linux-pcmcia/2005-September/002627.html

I've added "reserve=0xe742c000,0x2000000" a first try, and
"reserve=0xe7423000,0x2000000" a second try to my grub configuration,
all based on reading the archives. But I still get "cs: pcmcia_socket0:
unable to apply power". I'm not sure if I'm doing the right thing here
though.

Your help is very much appreciated. Please cc me, as I'm not subscribed
to the list.

I'm running kernel 2.6.13-mm2 on a Via Epia MII 10000
(http://www.viaembedded.com/product/epia_MII_spec.jsp?motherboardId=202)
with these options:

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

CONFIG_YENTA=m
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_TCIC is not set
CONFIG_PCCARD_NONSTATIC=m

CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_ACPI=y
CONFIG_SERIAL_8250_NR_UARTS=4


If I do 'modprobe yenta_socket' I get this:

ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
Yenta: ISA IRQ mask 0x0c88, PCI irq 5
Socket status: 30000410
ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
Yenta: ISA IRQ mask 0x0c88, PCI irq 12
Socket status: 30000006


If I follow with 'modprobe serial_cs' nothing gets into the logs.


If I remove the PCMCIA card, and plug it back in, I get this:

cs: pcmcia_socket0: unable to apply power.


>From the archives I understand that my bios is at fault here due to the
graphics using main memory, and that the 'reserve=' kernel option might
solve this. Did I use the wrong values?

I've installed pcmciautils-008, but assume that doesn't matter at this
point.

I include /proc/iomem, lspci -vv. This is all without any 'reserve='
kernel option. Please let me know If I should provide more info.

00000000-0009ffff : System RAM
000a0000-000bffff : Video RAM area
000c0000-000cdfff : Video ROM
000d0000-000d9fff : Adapter ROM
000da000-000dd3ff : Adapter ROM
000f0000-000fffff : System ROM
00100000-3efeffff : System RAM
  00100000-00368eaa : Kernel code
  00368eab-00426077 : Kernel data
3eff0000-3eff2fff : ACPI Non-volatile Storage
3eff3000-3effffff : ACPI Tables
40000000-41ffffff : PCI CardBus #02
42000000-43ffffff : PCI CardBus #02
44000000-45ffffff : PCI CardBus #06
46000000-47ffffff : PCI CardBus #06
48000000-48003fff : 0000:00:14.0
e0000000-e3ffffff : PCI Bus #01
  e0000000-e3ffffff : 0000:01:00.0
e4000000-e5ffffff : PCI Bus #01
  e4000000-e4ffffff : 0000:01:00.0
  e5000000-e500ffff : 0000:01:00.0
e7000000-e73fffff : 0000:00:00.0
e7400000-e741ffff : 0000:00:14.0
  e7400000-e741ffff : sata_promise
e7423000-e7423fff : 0000:00:0a.1
  e7423000-e7423fff : yenta_socket
e7428000-e74287ff : 0000:00:0d.0
e7429000-e74290ff : 0000:00:10.3
e742a000-e742a0ff : 0000:00:12.0
  e742a000-e742a0ff : via-rhine
e742b000-e742bfff : 0000:00:14.0
  e742b000-e742bfff : sata_promise
e742c000-e742cfff : 0000:00:0a.0
  e742c000-e742cfff : yenta_socket
ffff0000-ffffffff : reserved


0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8623 [Apollo CLE266]
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 8
	Region 0: Memory at e7000000 (32-bit, prefetchable) [size=4M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x4
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+
	Latency: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	Memory behind bridge: e4000000-e5ffffff
	Prefetchable memory behind bridge: e0000000-e3ffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0a.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at e742c000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: 40000000-41fff000 (prefetchable)
	Memory window 1: 42000000-43fff000
	I/O window 0: 00001000-00001fff
	I/O window 1: 00002000-00002fff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

0000:00:0a.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin B routed to IRQ 12
	Region 0: Memory at e7423000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
	Memory window 0: 44000000-45fff000 (prefetchable)
	Memory window 1: 46000000-47fff000
	I/O window 0: 00003000-00003fff
	I/O window 1: 00004000-00004fff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

0000:00:0d.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) (prog-if 10 [OHCI])
	Subsystem: VIA Technologies, Inc. IEEE 1394 Host Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (8000ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 12
	Region 0: Memory at e7428000 (32-bit, non-prefetchable) [size=2K]
	Region 1: I/O ports at c000 [size=128]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 4: I/O ports at c400 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin B routed to IRQ 12
	Region 4: I/O ports at c800 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin C routed to IRQ 9
	Region 4: I/O ports at cc00 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 [EHCI])
	Subsystem: VIA Technologies, Inc. USB 2.0
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 12
	Region 0: Memory at e7429000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Interrupt: pin A routed to IRQ 5
	Region 4: I/O ports at d000 [size=16]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
	Subsystem: VIA Technologies, Inc.: Unknown device aa01
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin C routed to IRQ 9
	Region 0: I/O ports at d400 [size=256]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
	Subsystem: VIA Technologies, Inc. VT6102 [Rhine II] Embeded Ethernet Controller on VT8235
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (750ns min, 2000ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 0: I/O ports at dc00 [size=256]
	Region 1: Memory at e742a000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:14.0 Mass storage controller: Promise Technology, Inc. PDC20318 (SATA150 TX4) (rev 02)
	Subsystem: Promise Technology, Inc. PDC20318 (SATA150 TX4)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 96 (1000ns min, 4500ns max), Cache Line Size: 0x90 (576 bytes)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at e000 [size=64]
	Region 1: I/O ports at e400 [size=16]
	Region 2: I/O ports at e800 [size=128]
	Region 3: Memory at e742b000 (32-bit, non-prefetchable) [size=4K]
	Region 4: Memory at e7400000 (32-bit, non-prefetchable) [size=128K]
	Expansion ROM at 48000000 [disabled] [size=16K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics (rev 03) (prog-if 00 [VGA])
	Subsystem: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (500ns min)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
	Region 1: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
	Expansion ROM at e5000000 [disabled] [size=64K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [70] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>


-- 
Humilis IT Services and Solutions
http://www.humilis.net

From linux at dominikbrodowski.net  Sun Sep 11 15:34:07 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sun Sep 11 15:42:44 2005
Subject: where can I find ds module?
In-Reply-To: <43230E42.8040102@javanet.info>
References: <43230E42.8040102@javanet.info>
Message-ID: <20050911193407.GA17362@dominikbrodowski.de>

Hi,

On Sat, Sep 10, 2005 at 06:48:02PM +0200, Eli Spizzichino wrote:
> Hello all,
> I'm trying to install an atheros based pcmcia card on gentoo.
> I've followed instructions from 
> http://gentoo-wiki.com/HARDWARE_PCMCIA_NIC and 
> http://forums.gentoo.org/viewtopic.php?t=26716
> however in those docs is not explained how to get the 'ds' module 
> modprobe can't find it.

In recent kernels "ds" is aliased to "pcmcia" -- I don't know whether the
old 2.6.11 kernel you use already has this. Try "modprobe pcmcia".

	Dominik

From daniel.ritz at gmx.ch  Sun Sep 11 18:23:37 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Sun Sep 11 18:24:51 2005
Subject: where can I find ds module?
Message-ID: <200509120023.37680.daniel.ritz@gmx.ch>

hi

<quote>
I already have the cardbridge Texas Instrument PCI1420 working with 
modprobe i82092
</quote>

errm. this is wrong. TI pci1420 is not driven by i82092 but by yenta_socket.
and as dominik already said: ds was renamed to pcmcia. but then the atheros
is a cardbus card so you really just need yenta_socket loaded. hotplug should
then do the rest (assuming the atheros driver is built and installed correclty)

when you plug the atheros card it should show up when you do a 'lspci'.
if it doesn't send full dmesg and lspci -vvv

rgds
-daniel

From listmail at voltar-confed.org  Mon Sep 12 07:08:15 2005
From: listmail at voltar-confed.org (Paul Miller)
Date: Mon Sep 12 07:24:31 2005
Subject: pcmcia i82365 yenta
Message-ID: <20050912110815.GA28647@corky.localhosts>

I have a "CardBus Bridge: Texas Instruments PCI1131 (rev 1)"
according to lspci, in a very ancient laptop.  When I moved up to
the 2.4 kernel, I learned to compile pcmcia-cs without kernel
support and found that 'modprobe i82365; modprobe ds; cardmgr -f'
got my sockets online and I could use the net.

When I moved up to the 2.6 kernel, pcmcia-cs complained that I
should use the kernel support.  The kernel says I don't have an
i82365 when I modprobe it.  There is no ds.  I tried yenta, which
made the lights come on, but it can't see any of my pc cards.

Do I go back to 2.4?  Do I try to get pcmcia-cs to compile the
modules under 2.6?


Please help,


-Paul

-- 
If riding in an airplane is flying, then riding in a boat is swimming.
74 jumps, 29.9 minutes of freefall, 57.9 freefall miles.

From rmk+pcmcia at arm.linux.org.uk  Mon Sep 12 08:14:29 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Mon Sep 12 08:17:22 2005
Subject: pcmcia i82365 yenta
In-Reply-To: <20050912110815.GA28647@corky.localhosts>;
	from listmail@voltar-confed.org on Mon, Sep 12, 2005 at
	07:08:15AM -0400
References: <20050912110815.GA28647@corky.localhosts>
Message-ID: <20050912131428.A6496@flint.arm.linux.org.uk>

On Mon, Sep 12, 2005 at 07:08:15AM -0400, Paul Miller wrote:
> When I moved up to the 2.6 kernel, pcmcia-cs complained that I
> should use the kernel support.  The kernel says I don't have an
> i82365 when I modprobe it.  There is no ds.  I tried yenta, which
> made the lights come on, but it can't see any of my pc cards.

Use yenta.  What are your cards?  Cardbus or pcmcia?  If they're
cardbus, you should find them with lspci.  If pcmcia, cardctl
ident should show them.

In any case, posting the kernel messages, lspci -vv and cardctl
status output would help.

(ds doesn't exist anymore - it's now called pcmcia.)

> If riding in an airplane is flying, then riding in a boat is swimming.

Whereas an airplane flies, but a boat doesn't swim, it floats on water.

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

From linux at dominikbrodowski.net  Mon Sep 12 14:11:48 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 12 16:11:18 2005
Subject: [PATCH 8/13] pcmcia: unified device removal code path
In-Reply-To: <20050908110033.GC5847@infradead.org>
References: <20050907213734.GI7453@dominikbrodowski.de>
	<20050908110033.GC5847@infradead.org>
Message-ID: <20050912181148.GD15894@dominikbrodowski.de>

On Thu, Sep 08, 2005 at 12:00:33PM +0100, Christoph Hellwig wrote:
> On Wed, Sep 07, 2005 at 11:37:34PM +0200, Dominik Brodowski wrote:
> > Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function,
> > and convert pcnet_cs.c as an example. Old functionality is preserved, for
> > the moment.
> 
> Please call the function pcnet_remove, if it implements the .remove method.

Not yet -- it's so much based on the _detach() function, and only if these
two are fully merged and updated I want to rename it.

Thanks,
	Dominik

From linux at dominikbrodowski.net  Mon Sep 12 14:05:01 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 12 16:12:06 2005
Subject: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power
In-Reply-To: <20050911063236.GA13299@favonius>
References: <20050911063236.GA13299@favonius>
Message-ID: <20050912180501.GA15894@dominikbrodowski.de>

Hi,

On Sun, Sep 11, 2005 at 08:32:36AM +0200, Sander wrote:

> I've searched the archives of August and September 2005 and applied the
> patch from Daniel:
> http://lists.infradead.org/pipermail/linux-pcmcia/2005-September/002627.html
> 
> I've added "reserve=0xe742c000,0x2000000" a first try, and
> "reserve=0xe7423000,0x2000000" a second try to my grub configuration,
> all based on reading the archives. But I still get "cs: pcmcia_socket0:
> unable to apply power". I'm not sure if I'm doing the right thing here
> though.

It doesn't seem to be caused by the typical "wrong memory address" problem
in your case. Therefore, I doubt using the "reserve" paramter helps in your
case.


> If I do 'modprobe yenta_socket' I get this:
> 
> ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
> Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
> Yenta: ISA IRQ mask 0x0c88, PCI irq 5
> Socket status: 30000410
> ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
> Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
> Yenta: ISA IRQ mask 0x0c88, PCI irq 12
> Socket status: 30000006
> 
> 
> If I follow with 'modprobe serial_cs' nothing gets into the logs.

Do you use pcmcia-cs? If so, what is the output of
cardctl ident
cardctl status
cardctl config
? Is the "cardmgr" daemon running?


	Dominik

From linux at dominikbrodowski.net  Mon Sep 12 14:07:20 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 12 16:12:11 2005
Subject: slow 3Com cardbus network card startup with 2.6.12/13 kernels
In-Reply-To: <20050911015456.GA5366@k2di>
References: <20050911015456.GA5366@k2di>
Message-ID: <20050912180720.GB15894@dominikbrodowski.de>

Hi,

On Sat, Sep 10, 2005 at 06:54:56PM -0700, W M Brelsford wrote:
> Since upgrading my kernel from 2.6.11.7 to 2.6.12.2 (and also with
> 2.6.13), I'm experiencing a variable delay of 0 to 60 seconds
> before seeing the following message and being able to use the
> network:

Can you check whether the device already shows up in "lspci" way before this
message:

>  eth0: Setting full-duplex based on MII #0 link partner capability of 01e1.

appears in the kernel log? If yes, it seems to be a network driver problem;
if no, it indeed seems to be a cardbus/pcmcia problem.

Thanks,
	Dominik

From linux at dominikbrodowski.net  Mon Sep 12 14:10:01 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 12 16:12:16 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050908193032.GA9124@oxstone.com>
References: <20050908193032.GA9124@oxstone.com>
Message-ID: <20050912181001.GC15894@dominikbrodowski.de>

Hi,

On Thu, Sep 08, 2005 at 09:30:32PM +0200, Nicolas wrote:
> Hello,
> 
> I use Debian SID on my Thinkpad 600E for years. I use PCMCIA to use a
> Xircom ethernet card, and to transfer pictures from memory cards. I use
> a simple 16bits PCMCIA compact-flash reader.
> 
> Some weeks ago, I had a bad surprise: the compact-flash PCMCIA reader
> does not work anymore. In fact, it's not even recognized by cardctl
> info.
> 
> I tested the PCMCIA compact-flash on another laptop, and it worked fine.
> 
> Therefore, I assumed something changed on my system.
> 
> I compiled my 2.4.24 kernel some years ago. It's a specially patched
> version with ipsec. I don't want to update that kernel.
> 
> Perhaps another pcmcia-cs version was installed on my system when I
> upgrade my Debian SID.

This list is about PCMCIA in kernel 2.6. -- it seems to me that the problem
you're experienced is caused by
a) pcmcia-cs in Debian sid,
b) the 2.4. kernel, or
c) the hardware.

As you think the problem indeed is in pcmcia-cs, you might want to ask the
Debian maintainer of that package directly.

	Dominik

From linux at dominikbrodowski.net  Mon Sep 12 14:15:00 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 12 16:12:23 2005
Subject: PCMCIA Hang...
In-Reply-To: <2623a36e05090801293d05801b@mail.gmail.com>
References: <2623a36e05090801293d05801b@mail.gmail.com>
Message-ID: <20050912181500.GF15894@dominikbrodowski.de>

Hi,

On Thu, Sep 08, 2005 at 10:29:23AM +0200, moe FEAR wrote:
> Hello Members,
>  
> I'm using a laptop with a PCIxx21/x515 PCMCIA bridge (says Cardbus
> Controller in Windows) from Texas Instruments. I also have a PCIxx21
> Integrated FlashMedia Controller. One or both of them causes every
> Linux distribution I've tried to hang when detecting PCMCIA at boot. I
> have to completely skip PCMCIA detection to be able to use Linux. Does
> anybody else have this problem and/or a solution to it? Is it simply
> lack of correct drivers that are not available to Linux yet?

Can you post the lspci, please? Also send along the contents of
/etc/pcmcia/config.opts, please.

Thanks,
	Dominik

From e.conti at gmx.net  Mon Sep 12 16:29:56 2005
From: e.conti at gmx.net (Nicolas.)
Date: Mon Sep 12 16:31:30 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050912181001.GC15894@dominikbrodowski.de>
References: <20050908193032.GA9124@oxstone.com>
	<20050912181001.GC15894@dominikbrodowski.de>
Message-ID: <20050912202956.GD11297@oxstone.com>

Hi,

As regards to:
b) the kernel was compiled some years ago. The PCMCIA ports worked for
years without any problem. There was no change at all to that kernel
c) the PCMCIA ports works well with cardbus cards (my ethernet adaptor
works perfectly). The PCMCIA<->CF adaptor was tested on a Windows
laptop, and it worked fine.

That list is dedicated to the 2.6 kernel only? Does that mean there's
no support for PCMCIA on the 2.4 kernel?
I'll contact the Debian maintainer of the pcmcia-cs package. But is
there no mailing-list about pcmcia on a 2.4 kernel??? That's really
surprising!

Thank you.
Nicolas.

On Mon, Sep 12, 2005 at 08:10:01PM +0200, Dominik Brodowski wrote:
> Hi,
> 
> On Thu, Sep 08, 2005 at 09:30:32PM +0200, Nicolas wrote:
> > Hello,
> > 
> > I use Debian SID on my Thinkpad 600E for years. I use PCMCIA to use a
> > Xircom ethernet card, and to transfer pictures from memory cards. I use
> > a simple 16bits PCMCIA compact-flash reader.
> > 
> > Some weeks ago, I had a bad surprise: the compact-flash PCMCIA reader
> > does not work anymore. In fact, it's not even recognized by cardctl
> > info.
> > 
> > I tested the PCMCIA compact-flash on another laptop, and it worked fine.
> > 
> > Therefore, I assumed something changed on my system.
> > 
> > I compiled my 2.4.24 kernel some years ago. It's a specially patched
> > version with ipsec. I don't want to update that kernel.
> > 
> > Perhaps another pcmcia-cs version was installed on my system when I
> > upgrade my Debian SID.
> 
> This list is about PCMCIA in kernel 2.6. -- it seems to me that the problem
> you're experienced is caused by
> a) pcmcia-cs in Debian sid,
> b) the 2.4. kernel, or
> c) the hardware.
> 
> As you think the problem indeed is in pcmcia-cs, you might want to ask the
> Debian maintainer of that package directly.
> 
> 	Dominik
> 

-- 
-------- Conti ----------------  O
-- Kawasaki-Nikon-Linux ---  ._ /\_>
------- Powered -----------  (x)> (x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From listmail at voltar-confed.org  Mon Sep 12 17:46:55 2005
From: listmail at voltar-confed.org (Paul Miller)
Date: Mon Sep 12 17:47:58 2005
Subject: pcmcia i82365 yenta
In-Reply-To: <20050912131428.A6496@flint.arm.linux.org.uk>
References: <20050912110815.GA28647@corky.localhosts>
	<20050912131428.A6496@flint.arm.linux.org.uk>
Message-ID: <20050912214655.GA22370@corky.localhosts>

On Mon, Sep 12, 2005 at 01:14:29PM +0100, Russell King wrote:
> Use yenta.  What are your cards?  Cardbus or pcmcia?  If they're
> cardbus, you should find them with lspci.  If pcmcia, cardctl
> ident should show them.
> 
> In any case, posting the kernel messages, lspci -vv and cardctl
> status output would help.

Apparently it's cardbus.  I wasn't aware there was a difference
now. I'd cut and paste, but the network isn't working on the
device ...

lspci shows: 
01:00.0 Ethernet controller: Unknown device 1737:ab09 (rev 11)

cardctl status shows 
  3.3V CardBus card
  function 0: [ready]

Clearly I need to switch to cardctl.  I was unaware cardmgr -f
wasn't my friend anymore.

> (ds doesn't exist anymore - it's now called pcmcia.)

I knew that much at least. I didn't know why cardmgr -f
couldn't/wouldn't configure it.  To tell you the truth, I don't
know how to get cardctl to work either, but at least I'm on the
right track now.

Thanks very much.

> > If riding in an airplane is flying, then riding in a boat is swimming.
> Whereas an airplane flies, but a boat doesn't swim, it floats on water.

That's just semantics.  The point is that if you want to enjoy
your environment, you need to get out of the vehicle.

-- 
If riding in an airplane is flying, then riding in a boat is swimming.
74 jumps, 29.9 minutes of freefall, 57.9 freefall miles.

From dhinds at sonic.net  Mon Sep 12 18:17:57 2005
From: dhinds at sonic.net (David Hinds)
Date: Mon Sep 12 18:18:55 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050912202956.GD11297@oxstone.com>
References: <20050908193032.GA9124@oxstone.com>
	<20050912181001.GC15894@dominikbrodowski.de>
	<20050912202956.GD11297@oxstone.com>
Message-ID: <20050912221757.GB9476@sonic.net>

On Mon, Sep 12, 2005 at 10:29:56PM +0200, Nicolas. wrote:
> 
> That list is dedicated to the 2.6 kernel only? Does that mean there's
> no support for PCMCIA on the 2.4 kernel?

In general, support for older kernels can be spotty and often the best
response is "err, well, use a current kernel".

The 2.4 kernel PCMCIA support was never well maintained.  I am listed
as being nominally the maintainer, but I didn't do much of the work to
integrate my original pcmcia-cs code into the kernel (Linus did much
of it), and I'm not very familiar with some of this code.  Also I
spend little time working on PCMCIA now.

Since people who do work on PCMCIA these days are now all using 2.6
kernels, your chances of getting useful support would be much better
if you also used 2.6.

-- Dave


From e.conti at gmx.net  Mon Sep 12 19:30:32 2005
From: e.conti at gmx.net (Nicolas)
Date: Mon Sep 12 19:32:05 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050912221757.GB9476@sonic.net>
References: <20050908193032.GA9124@oxstone.com>
	<20050912181001.GC15894@dominikbrodowski.de>
	<20050912202956.GD11297@oxstone.com>
	<20050912221757.GB9476@sonic.net>
Message-ID: <20050912233032.GA18419@oxstone.com>

:-/

I'm stuck... I compiled a 2.6.13 kernel, and I got a kernel panic at
boot. I compiled a 2.6.12 kernel, and I still got a kernel panic at
boot.
My 16bits PCMCIA<->CF adaptor does not work anymore on my system:
nothing is written in /var/log/messages when I insert it, even if the
PCMCIA slot and the card is ok (tested on another system).
Cardbus cards still works on my 2.4.24 kernel. But the only 32bits CF
reader I know of is the Lexar one, which isn't in the supported hardware
list.

... and I need my computer in less than 10 days. I'm a semi pro
photographer, and I cover an important motorbike event which lasts for
10 days. I use my Thinkpad 600E to download pictures on my hardisk.

That's REALLY annoying. I'll have to install that piece of sh.. called
Windows on my computer just because something is broken with PCMCIA on
2.4.24. I thought that kernel would be supported for more time. Will
Linux be as Windows in a few years? I mean, no more support for kernels
older than a few years... :-/

Nicolas.

On Mon, Sep 12, 2005 at 03:17:57PM -0700, David Hinds wrote:
> On Mon, Sep 12, 2005 at 10:29:56PM +0200, Nicolas. wrote:
> > 
> > That list is dedicated to the 2.6 kernel only? Does that mean there's
> > no support for PCMCIA on the 2.4 kernel?
> 
> In general, support for older kernels can be spotty and often the best
> response is "err, well, use a current kernel".
> 
> The 2.4 kernel PCMCIA support was never well maintained.  I am listed
> as being nominally the maintainer, but I didn't do much of the work to
> integrate my original pcmcia-cs code into the kernel (Linus did much
> of it), and I'm not very familiar with some of this code.  Also I
> spend little time working on PCMCIA now.
> 
> Since people who do work on PCMCIA these days are now all using 2.6
> kernels, your chances of getting useful support would be much better
> if you also used 2.6.
> 
> -- Dave
> 

-- 
-------- Conti ----------------  O
-- Kawasaki-Nikon-Linux ---  ._ /\_>
------- Powered -----------  (x)> (x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From k2di2 at att.net  Mon Sep 12 18:57:19 2005
From: k2di2 at att.net (W M Brelsford)
Date: Mon Sep 12 19:33:24 2005
Subject: slow 3Com cardbus network card startup with 2.6.12/13 kernels
In-Reply-To: <20050912180720.GB15894@dominikbrodowski.de>
References: <20050911015456.GA5366@k2di>
	<20050912180720.GB15894@dominikbrodowski.de>
Message-ID: <20050912225719.GA19329@k2di>

On Mon Sep 12 2005 at 08:07 PM +0200, Dominik Brodowski wrote:
> On Sat, Sep 10, 2005 at 06:54:56PM -0700, W M Brelsford wrote:
> > Since upgrading my kernel from 2.6.11.7 to 2.6.12.2 (and also with
> > 2.6.13), I'm experiencing a variable delay of 0 to 60 seconds
> > before seeing the following message and being able to use the
> > network:
> 
> Can you check whether the device already shows up in "lspci" way before this
> message:
> 
> >  eth0: Setting full-duplex based on MII #0 link partner capability of 01e1.
> 
> appears in the kernel log? If yes, it seems to be a network driver problem;
> if no, it indeed seems to be a cardbus/pcmcia problem.

Yes, the device shows in "lspci" immediately (before the delay).
Where should I report the network driver problem..?

Thanks,

-- 
Bill Brelsford
k2di2@att.net

From sander at humilis.net  Tue Sep 13 05:20:41 2005
From: sander at humilis.net (Sander)
Date: Tue Sep 13 05:21:13 2005
Subject: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power
In-Reply-To: <20050912180501.GA15894@dominikbrodowski.de>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
Message-ID: <20050913092041.GA1897@favonius>

Hi Dominik,

Thank you for your reply and thanks for cc'ing me. I follow the archive,
but this makes a reply much easier.

Dominik Brodowski wrote (ao):
> On Sun, Sep 11, 2005 at 08:32:36AM +0200, Sander wrote:
> > I've searched the archives of August and September 2005 and applied the
> > patch from Daniel:
> > http://lists.infradead.org/pipermail/linux-pcmcia/2005-September/002627.html
> > 
> > I've added "reserve=0xe742c000,0x2000000" a first try, and
> > "reserve=0xe7423000,0x2000000" a second try to my grub configuration,
> > all based on reading the archives. But I still get "cs: pcmcia_socket0:
> > unable to apply power". I'm not sure if I'm doing the right thing here
> > though.
> 
> It doesn't seem to be caused by the typical "wrong memory address"
> problem in your case. Therefore, I doubt using the "reserve" paramter
> helps in your case.

I'm affraid you are right, considering the fact that this type of
motherboard has known issues since october 2004 according to
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html#knownproblems


> > If I do 'modprobe yenta_socket' I get this:
> > 
> > ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
> > Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
> > Yenta: ISA IRQ mask 0x0c88, PCI irq 5
> > Socket status: 30000410
> > ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
> > Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
> > Yenta: ISA IRQ mask 0x0c88, PCI irq 12
> > Socket status: 30000006
> > 
> > 
> > If I follow with 'modprobe serial_cs' nothing gets into the logs.
> 
> Do you use pcmcia-cs? If so, what is the output of
> cardctl ident
> cardctl status
> cardctl config
> ? Is the "cardmgr" daemon running?

I've installed pcmciautils-008, as kernel 2.6.13-mm2 says:

"PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
PCMCIA sockets at system startup and loads the appropriate modules
for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
subsystem is used."

I believe there is no such thing as 'cardmgr' in pcmciautils, correct?

I've played a bit with the files pcmciautils-008 installs, and I just
discovered something weird:

# modprobe yenta_socket

# dmesg | tail
[42949449.770000] eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[42949460.030000] eth0: no IPv6 routers present
[42949462.930000] ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
[42949462.930000] Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
[42949463.070000] Yenta: ISA IRQ mask 0x0c08, PCI irq 5
[42949463.070000] Socket status: 30000410
[42949463.070000] ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
[42949463.070000] Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
[42949463.210000] Yenta: ISA IRQ mask 0x0c08, PCI irq 12
[42949463.210000] Socket status: 30000006

# modprobe serial_c

# pccardctl ident
Socket 0:
  no product info available
Socket 1:
  no product info available

# pcmcia-socket-startup       

# pccardctl ident
Socket 0:
  no product info available
Socket 1:
  no product info available

# pcmcia-socket-startup --help

# pccardctl ident
Socket 0:
  product info: "Sierra Wireless", "AC710/AC750", "GPRS Network Adapter", "R1"
  manfid: 0x0192, 0x0710
  function: 6 (network)
Socket 1:
  no product info available

# dmesg | tail
[42949462.930000] Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
[42949463.070000] Yenta: ISA IRQ mask 0x0c08, PCI irq 5
[42949463.070000] Socket status: 30000410
[42949463.070000] ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
[42949463.070000] Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
[42949463.210000] Yenta: ISA IRQ mask 0x0c08, PCI irq 12
[42949463.210000] Socket status: 30000006
[42949541.030000] cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xdffff 0xf0000-0xfffff
[42949541.040000] cs: memory probe 0x60000000-0x60ffffff: clean.
[42949541.040000] cs: memory probe 0xa0000000-0xa0ffffff: clean.


Now that seems good news!! But pcmcia-socket-startup is not mentioned at
http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html 
or
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

and not even in the pcmciautils-008 source.

Do you happen to know how I should use it? It is kinda strange that it
doens't work without argument, and seems to make the system move with a
seemingly unrelated argument.

Anyway, thanks a lot for your reply Dominik. You made me try again
and harder :-)

Have to go now, but will test if the card works later today. It
needs CIS so that might be another obstacle.

Btw, if all works I'll be more than happy to provide patches for
http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html
and
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

I'm not a coder, but can update the docs :-)

	Kind regards, Sander

-- 
Humilis IT Services and Solutions
http://www.humilis.net

From grant_lkml at dodo.com.au  Tue Sep 13 05:53:55 2005
From: grant_lkml at dodo.com.au (Grant Coady)
Date: Tue Sep 13 05:54:46 2005
Subject: pcmciautils-008 compile doesn't :(
Message-ID: <4d8di1h0v9hd9uj4ct95k9gum7cr8p1dft@4ax.com>

hi there,
why not compile?
thanks,
Grant.

grant@tosh:~/pcmciautils-008$ make
Building ccdv
Compiling pccardctl.c:                                                [ERROR]
  gcc -pipe -I/home/grant/pcmciautils-008/src -Wall -fno-builtin -Wchar-subscri
  pts -Wpointer-arith -Wsign-compare -Wshadow -I/usr/lib/gcc-lib/i486-slackware
  -linux/3.3.5/include -Os -fomit-frame-pointer -D_GNU_SOURCE -c -o src/pccardc
  tl.o src/pccardctl.c
  src/pccardctl.c:22:28: sysfs/libsysfs.h: No such file or directory
  src/pccardctl.c: In function `pccardctl_echo_one':
  src/pccardctl.c:32: error: `SYSFS_PATH_MAX' undeclared (first use in this fun
  ction)
  src/pccardctl.c:32: error: (Each undeclared identifier is reported only once

  src/pccardctl.c:32: error: for each function it appears in.)
  src/pccardctl.c:41: warning: implicit declaration of function `sysfs_open_att
  ribute'
  src/pccardctl.c:41: warning: assignment makes pointer from integer without a
  cast
  src/pccardctl.c:45: warning: implicit declaration of function `sysfs_write_at
  tribute'
  src/pccardctl.c:47: warning: implicit declaration of function `sysfs_close_at
  tribute'
  src/pccardctl.c:32: warning: unused variable `file'
  src/pccardctl.c: In function `pccardctl_socket_exists':
  src/pccardctl.c:54: error: `SYSFS_PATH_MAX' undeclared (first use in this fun
  ction)
  src/pccardctl.c:60: warning: implicit declaration of function `sysfs_path_is_
  file'
  src/pccardctl.c:54: warning: unused variable `file'
  src/pccardctl.c: In function `pccardctl_get_string':
  src/pccardctl.c:66: error: `SYSFS_PATH_MAX' undeclared (first use in this fun
  ction)
  src/pccardctl.c:72: warning: implicit declaration of function `sysfs_read_att
  ribute_value'
  src/pccardctl.c:66: warning: unused variable `value'
  src/pccardctl.c:67: warning: unused variable `file'
  src/pccardctl.c: In function `pccardctl_get_one':
  src/pccardctl.c:93: error: `SYSFS_PATH_MAX' undeclared (first use in this fun
  ction)
  src/pccardctl.c:93: warning: unused variable `value'
  src/pccardctl.c:94: warning: unused variable `file'
  src/pccardctl.c: In function `pccardctl_ident':
  src/pccardctl.c:127: error: `SYSFS_PATH_MAX' undeclared (first use in this fu
  nction)
  src/pccardctl.c:127: warning: unused variable `file'
  src/pccardctl.c: In function `pccardctl_info':
  src/pccardctl.c:168: error: `SYSFS_PATH_MAX' undeclared (first use in this fu
  nction)
  src/pccardctl.c:168: warning: unused variable `file'
make: *** [src/pccardctl.o] Error 1


From linux at dominikbrodowski.net  Tue Sep 13 06:00:25 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 13 06:00:44 2005
Subject: pcmciautils-008 compile doesn't :(
In-Reply-To: <4d8di1h0v9hd9uj4ct95k9gum7cr8p1dft@4ax.com>
References: <4d8di1h0v9hd9uj4ct95k9gum7cr8p1dft@4ax.com>
Message-ID: <20050913100025.GA20740@isilmar.linta.de>

Hi Grant,

You need to install libsysfs (both the library and its headers) first. It is
part of sysfsutils, available at
http://linux-diag.sourceforge.net/Sysfsutils.html

	Dominik


From grant_lkml at dodo.com.au  Tue Sep 13 06:33:43 2005
From: grant_lkml at dodo.com.au (Grant Coady)
Date: Tue Sep 13 06:34:30 2005
Subject: pcmciautils-008 compile doesn't :(
In-Reply-To: <20050913100025.GA20740@isilmar.linta.de>
References: <4d8di1h0v9hd9uj4ct95k9gum7cr8p1dft@4ax.com>
	<20050913100025.GA20740@isilmar.linta.de>
Message-ID: <5nadi1dt75jmjgoqnugakgb7j7t3glcpsa@4ax.com>

Hi Dominik,
On Tue, 13 Sep 2005 12:00:25 +0200, Dominik Brodowski <linux@dominikbrodowski.net> wrote:

>Hi Grant,
>
>You need to install libsysfs (both the library and its headers) first. It is
>part of sysfsutils, available at
>http://linux-diag.sourceforge.net/Sysfsutils.html

Made a difference :o)  Thanks

Grant.

From dhinds at sonic.net  Tue Sep 13 12:12:48 2005
From: dhinds at sonic.net (David Hinds)
Date: Tue Sep 13 12:13:19 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050912233032.GA18419@oxstone.com>
References: <20050908193032.GA9124@oxstone.com>
	<20050912181001.GC15894@dominikbrodowski.de>
	<20050912202956.GD11297@oxstone.com>
	<20050912221757.GB9476@sonic.net>
	<20050912233032.GA18419@oxstone.com>
Message-ID: <20050913161248.GA30429@sonic.net>

On Tue, Sep 13, 2005 at 01:30:32AM +0200, Nicolas wrote:

> My 16bits PCMCIA<->CF adaptor does not work anymore on my system:
> nothing is written in /var/log/messages when I insert it, even if the
> PCMCIA slot and the card is ok (tested on another system).

What does "cardctl status" say with the CF card plugged in?  Is
cardmgr running?  What happens if you enter "cardctl insert"?  I'm
having trouble coming up with a theory for how Cardbus cards could
work fine but 16-bit cards could be completely, silently, ignored.

> That's REALLY annoying. I'll have to install that piece of sh.. called
> Windows on my computer just because something is broken with PCMCIA on
> 2.4.24. I thought that kernel would be supported for more time. Will
> Linux be as Windows in a few years? I mean, no more support for kernels
> older than a few years... :-/

So you had the impression that you were going to get free unlimited
support for every release of every Linux software component to the end
of time?  The source code is there so you can either fix it yourself
or find someone to sell you support.  That's the real difference.

I'm not aware of any breakage in the 2.4.24 kernel PCMCIA support.

-- Dave

From linux at dominikbrodowski.net  Tue Sep 13 13:58:53 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 13 13:59:30 2005
Subject: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power
In-Reply-To: <20050913092041.GA1897@favonius>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
Message-ID: <20050913175853.GA9572@dominikbrodowski.de>

Hi Sander,

On Tue, Sep 13, 2005 at 11:20:41AM +0200, Sander wrote:
> > Do you use pcmcia-cs? If so, what is the output of
> > cardctl ident
> > cardctl status
> > cardctl config
> > ? Is the "cardmgr" daemon running?
> 
> I've installed pcmciautils-008, as kernel 2.6.13-mm2 says:
> 
> "PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
> PCMCIA sockets at system startup and loads the appropriate modules
> for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
> subsystem is used."
> 
> I believe there is no such thing as 'cardmgr' in pcmciautils, correct?

Yes. However, I thought you were upgrading from an earlier kernel, and as
pcmciautils is really new, I thought you might still have a pcmcia-cs based
setup...

> # dmesg | tail
> [42949462.930000] Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
> [42949463.070000] Yenta: ISA IRQ mask 0x0c08, PCI irq 5
> [42949463.070000] Socket status: 30000410
> [42949463.070000] ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
> [42949463.070000] Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
> [42949463.210000] Yenta: ISA IRQ mask 0x0c08, PCI irq 12
> [42949463.210000] Socket status: 30000006
> [42949541.030000] cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xdffff 0xf0000-0xfffff
> [42949541.040000] cs: memory probe 0x60000000-0x60ffffff: clean.
> [42949541.040000] cs: memory probe 0xa0000000-0xa0ffffff: clean.
> 
> 
> Now that seems good news!! But pcmcia-socket-startup is not mentioned at
> http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html 
> or
> http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
> 
> and not even in the pcmciautils-008 source.

Actually, it should be called by the hotplug system automagically upon
modprobe yenta_socket, with the socket number as argument.

> Do you happen to know how I should use it? It is kinda strange that it
> doens't work without argument, and seems to make the system move with a
> seemingly unrelated argument.

Actually, it expects one argument, the socket number. It doesn't do any
argument checking, so it simply tries to convert "--help" to a number. That
results in the number "0", so the socket numbered "0" is started. I've fixed
pcmcia-socket-startup to start _all_ sockets if no argument is given.
This'll be part of pcmciautils-009 which I hope to release soon.

> Have to go now, but will test if the card works later today. It
> needs CIS so that might be another obstacle.

You need to get the CIS file from pcmcia-cs it's in etc/cis/, named ".dat",
and needs to be re-named to ".cis" and put into /lib/firmware, IIRC.

> Btw, if all works I'll be more than happy to provide patches for
> http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html
> and
> http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
> 
> I'm not a coder, but can update the docs :-)

Excellent, thanks!

	Dominik

From linux at dominikbrodowski.net  Tue Sep 13 14:05:01 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 13 14:07:25 2005
Subject: slow 3Com cardbus network card startup with 2.6.12/13 kernels
In-Reply-To: <20050912225719.GA19329@k2di>
References: <20050911015456.GA5366@k2di>
	<20050912180720.GB15894@dominikbrodowski.de>
	<20050912225719.GA19329@k2di>
Message-ID: <20050913180501.GC9572@dominikbrodowski.de>

On Mon, Sep 12, 2005 at 03:57:19PM -0700, W M Brelsford wrote:
> Yes, the device shows in "lspci" immediately (before the delay).
> Where should I report the network driver problem..?

You can try out 
netdev (at) vger (dot) kernel (dot) org

	Dominik

From e.conti at gmx.net  Tue Sep 13 14:42:03 2005
From: e.conti at gmx.net (Nicolas)
Date: Tue Sep 13 14:43:26 2005
Subject: Very bad pcmcia regression
In-Reply-To: <20050913161248.GA30429@sonic.net>
References: <20050908193032.GA9124@oxstone.com>
	<20050912181001.GC15894@dominikbrodowski.de>
	<20050912202956.GD11297@oxstone.com>
	<20050912221757.GB9476@sonic.net>
	<20050912233032.GA18419@oxstone.com>
	<20050913161248.GA30429@sonic.net>
Message-ID: <20050913184203.GA7349@oxstone.com>

On Tue, Sep 13, 2005 at 09:12:48AM -0700, David Hinds wrote:
> What does "cardctl status" say with the CF card plugged in?

# cardctl status
Socket 0:
  no card
Socket 1:
  no card

> Is cardmgr running?

Yes.
# ps -ef | grep card
root 2318 1 0 20:37 ? 00:00:00 cardmgr

> What happens if you enter "cardctl insert"?

Nothing...
# cardctl status
Socket 0:
  no card
Socket 1:
  no card

> I'm having trouble coming up with a theory for how Cardbus cards could
> work fine but 16-bit cards could be completely, silently, ignored.

But it's what happens on my system... And it worked perfectly some times
ago... :-/

Nicolas.

-- 
-------- Conti ----------------  O
-- Kawasaki-Nikon-Linux ---  ._ /\_>
------- Powered -----------  (x)> (x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From bugme-daemon at kernel-bugs.osdl.org  Tue Sep 13 17:19:13 2005
From: bugme-daemon at kernel-bugs.osdl.org (bugme-daemon@kernel-bugs.osdl.org)
Date: Tue Sep 13 17:19:49 2005
Subject: [Bug 5019] pcmcia causes swsusp suspend hang
Message-ID: <200509132119.j8DLJDx0021157@fire-1.osdl.org>

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





------- Additional Comments From linux@brodo.de  2005-09-13 14:19 -------
I'd be interested on how it works on 2.6.13-mm3. Could you test it out, please?

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

From linux at dominikbrodowski.net  Tue Sep 13 18:06:45 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 13 18:07:10 2005
Subject: [ANNOUNCE] pcmciautils-009 released
Message-ID: <20050913220645.GA24111@isilmar.linta.de>

pcmciautils-009 is available at

http://kernel.org/pub/linux/utils/kernel/pcmcia/

and includes these changes:

- allow the CIS checker to run as a udev helper as well [Bill Nottingham]
- Help in pccardctl, misc fixes [Pavel Roskin]
- suspend/resume support for pccardctl
- pcmcia-socket-startup without any argument now starts up all sockets

	Dominik

From fred at ocn.com.br  Wed Sep 14 01:12:40 2005
From: fred at ocn.com.br (Frederico Madeira)
Date: Tue Sep 13 18:17:19 2005
Subject: PCMCIA don't work on HP ZV6000 with FC4
In-Reply-To: <1126585162.4342.34.camel@localhost.localdomain>
References: <1126585162.4342.34.camel@localhost.localdomain>
Message-ID: <1126674760.3505.0.camel@localhost.localdomain>


Hi,

I've trie to configure pcmcia card's on my notebook HP Pavilion zv6000
but i have no sucesse.
When i insert or remove a pc card it don't beep, when i change the pc
card the command  /sbin/cardctl ident don't ident the new pccard. It
show the first pc card inserted.
First i've insalled the orinoco driver, and load de modules, but the
pcmcia don't work, after this i test the pcmcia putting another pcmcia
that was work on other notebook.
For my surprise, it don't work. so i think that pcmcia is not correctly
supported by kernel for my machine, so i send details of my testes, if
any could help me , please answer me.

The first card is Orinoco Gold 8420-wd wireless and the second is IBM
Dta/Fax Modem  XJ1560

See the irq that cardbus is using: 225

DESCRIPTIONS:

#######################################
[root@linux_area /]# /sbin/cardctl ident 
Socket 0:
  product info: "Agere Systems", "Wireless PC Card Model 0111", "", ""
  manfid: 0x0156, 0x0003
  function: 6 (network)
#############################################
> 
> [root@linux_area /]# /sbin/cardctl info
> PRODID_1="Agere Systems"
> PRODID_2="Wireless PC Card Model 0111"
> PRODID_3=""
> PRODID_4=""
> MANFID=0156,0003
> FUNCID=6
> 
> ############################################
> 
> [root@linux_area /]# cat /etc/sysconfig/pcmcia
> PCMCIA=yes
> PCIC=yenta_socket
> PCIC_OPTS=
> CORE_OPTS=
> CARDMGR_OPTS=-f
> 
> ################################################
> [root@linux_area /]# cat /etc/pcmcia/config.opts
> #
> # Local PCMCIA Configuration File
> #
> #----------------------------------------------------------------------
> #
> # System resources available for PCMCIA cards
> #
> # NOTE: these settings have no effect on resources assigned to a
> # CardBus bridge device itself; this file only affects resources
> # assigned to cards.  Also, interrupt settings here will only affect
> # ISA bus interrupts assigned to 16-bit cards.  PCI interrupts
> # generally can't be reconfigured.
> #
> # With the kernel PCMCIA subsystem, these settings also have no effect
> # at all on resources used for 32-bit CardBus cards.  Those are set by
> # the PCI hotplug subsystem.
> #
> 
> include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
> include memory 0xc0000-0xfffff
> include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
> include memory 0xe0100000-0xe17fffff                   # included by
> me
> 
> include memory 0x40000000-0x40bff000                    # included by
> me
> 
> 
> # High port numbers do not always work...
> # include port 0x1000-0x17ff
> 
> # Extra port range for IBM Token Ring
> include port 0xa00-0xaff
> include port 0x4000-0x44ff         # included by me
> 
> 
> # Resources we should not use, even if they appear to be available
> 
> # First built-in serial port
> exclude irq 4
> # Second built-in serial port
> #exclude irq 3
> # First built-in parallel port
> exclude irq 7
> # PS/2 Mouse controller port, comment this out if you don't have a
> PS/2
> # based mouse
> exclude irq 12
> # SB emulation ports
> exclude port 0x220-0x22f
> # Radeon IGP MCE's if you touch ports 3b0->3bb & 3d3
> exclude port 0x3b0-0x3bb
> exclude port 0x3d3-0x3d3
> 
> #----------------------------------------------------------------------
> 
> # Examples of options for loadable modules
> 
> # To fix sluggish network with IBM ethernet adapter...
> module "pcnet_cs" opts "mem_speed=600"
> 
> # Options for IBM Token Ring adapters
> #module "ibmtr_cs" opts "mmiobase=0xd0000 srambase=0xd4000"
> 
> # Options for Raylink/WebGear driver: uncomment only one line...
> # Generic ad-hoc network
> module "ray_cs" opts "essid=ADHOC_ESSID hop_dwell=128
> beacon_period=256 translate=1"
> # Infrastructure network for older cards
> #module "ray_cs" opts "net_type=1 essid=ESSID1"
> # Infrastructure network for WebGear
> #module "ray_cs" opts "net_type=1 essid=ESSID1 translate=1
> hop_dwell=128 beacon_period=256"
> 
> # Options for WaveLAN/IEEE driver (AccessPoint mode)...
> module "wvlan_cs" opts "station_name=MY_PC"
> # Options for WaveLAN/IEEE driver (ad-hoc mode)...
> module "wvlan_cs" opts "port_type=3 channel=1 station_name=MY_PC"
> 
> # Options for Xircom Netwave driver...
> #module "netwave_cs" opts "domain=0x100 scramble_key=0x0"
> 
> #####################################################################################
> 
> [root@linux_area /]# /sbin/lspci -v
> 00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5950
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, 66Mhz, medium devsel, latency 64
> 
> 00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 5a3f (prog-if
> 00 [Normal decode])
>         Flags: bus master, 66Mhz, medium devsel, latency 64
>         Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
>         I/O behind bridge: 00009000-00009fff
>         Memory behind bridge: b0100000-b01fffff
>         Prefetchable memory behind bridge:
> 00000000c0000000-00000000cff00000
>         Capabilities: [44] HyperTransport: MSI Mapping
>         Capabilities: [b0] #0d [0000]
> 
> 00:04.0 PCI bridge: ATI Technologies Inc: Unknown device 5a36 (prog-if
> 00 [Normal decode])
>         Flags: bus master, fast devsel, latency 0
>         Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
>         I/O behind bridge: 00000000-00000fff
>         Memory behind bridge: 00000000-000fffff
>         Prefetchable memory behind bridge: 00000000-000fffff
>         Capabilities: [50] Power Management version 3
>         Capabilities: [58] Express Root Port (Slot-) IRQ 0
>         Capabilities: [80] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable+
>         Capabilities: [b0] #0d [0000]
>         Capabilities: [b8] HyperTransport: MSI Mapping
> 
> 00:13.0 USB Controller: ATI Technologies Inc: Unknown device 4374
> (prog-if 10 [OHCI])
>         Subsystem: ATI Technologies Inc: Unknown device 4374
>         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
>         Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
>         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:13.1 USB Controller: ATI Technologies Inc: Unknown device 4375
> (prog-if 10 [OHCI])
>         Subsystem: ATI Technologies Inc: Unknown device 4375
>         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
>         Memory at b0001000 (32-bit, non-prefetchable) [size=4K]
>         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:13.2 USB Controller: ATI Technologies Inc: Unknown device 4373
> (prog-if 20 [EHCI])
>         Subsystem: ATI Technologies Inc: Unknown device 4373
>         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
>         Memory at b0002000 (32-bit, non-prefetchable) [size=4K]
>         Capabilities: [dc] Power Management version 2
>         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 10)
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: 66Mhz, medium devsel
>         I/O ports at 8400 [size=16]
>         Memory at b0003000 (32-bit, non-prefetchable) [size=1K]
>         Capabilities: [b0] HyperTransport: MSI Mapping
> 
> 00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI
> IDE Controller ATI (prog-if 8a [Master SecP PriP])
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 201
>         I/O ports at <ignored>
>         I/O ports at <ignored>
>         I/O ports at <ignored>
>         I/O ports at <ignored>
>         I/O ports at 8410 [size=16]
>         Capabilities: [70] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 4377
>         Flags: bus master, 66Mhz, medium devsel, latency 0
> 
> 00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4371 (prog-if
> 01 [Subtractive decode])
>         Flags: bus master, 66Mhz, medium devsel, latency 64
>         Bus: primary=00, secondary=03, subordinate=03, sec-latency=64
>         I/O behind bridge: 0000a000-0000afff
>         Memory behind bridge: b0200000-b02fffff
> 
> 00:14.5 Multimedia audio controller: ATI Technologies Inc: Unknown
> device 4370 (rev 01)
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, 66Mhz, slow devsel, latency 64, IRQ 193
>         Memory at b0003400 (32-bit, non-prefetchable) [size=256]
>         Capabilities: [40] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:14.6 Modem: ATI Technologies Inc: Unknown device 4378 (rev 01)
> (prog-if 00 [Generic])
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: 66Mhz, slow devsel, IRQ 193
>         Memory at b0003800 (32-bit, non-prefetchable) [size=256]
>         Capabilities: [40] Message Signalled Interrupts: 64bit-
> Queue=0/0 Enable-
> 
> 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8
> [Athlon64/Opteron] HyperTransport Technology Configuration
>         Flags: fast devsel
>         Capabilities: [80] HyperTransport: Host or Secondary Interface
> 
> 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8
> [Athlon64/Opteron] Address Map
>         Flags: fast devsel
> 
> 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8
> [Athlon64/Opteron] DRAM Controller
>         Flags: fast devsel
> 
> 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8
> [Athlon64/Opteron] Miscellaneous Control
>         Flags: fast devsel
> 
> 01:05.0 VGA compatible controller: ATI Technologies Inc: Unknown
> device 5955 (prog-if 00 [VGA])
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, fast Back2Back, 66Mhz, medium devsel,
> latency 255, IRQ 10
>         Memory at c0000000 (32-bit, prefetchable) [size=256M]
>         I/O ports at 9000 [size=256]
>         Memory at b0100000 (32-bit, non-prefetchable) [size=64K]
>         Capabilities: [50] Power Management version 2
> 
> 03:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A
> IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, medium devsel, latency 64, IRQ 225
>         Memory at b0208000 (32-bit, non-prefetchable) [size=2K]
>         Memory at b0200000 (32-bit, non-prefetchable) [size=16K]
>         Capabilities: [44] Power Management version 2
> 
> 03:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g
> Wireless LAN Controller (rev 03)
>         Subsystem: Hewlett-Packard Company: Unknown device 12f8
>         Flags: bus master, fast devsel, latency 64, IRQ 169
>         Memory at b0204000 (32-bit, non-prefetchable) [size=8K]
> 
> 03:04.0 CardBus bridge: Texas Instruments Texas Instruments
> PCIxx21/x515 Cardbus Controller
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, medium devsel, latency 168, IRQ 225
>         Memory at 40000000 (32-bit, non-prefetchable) [size=4K]
>         Bus: primary=03, secondary=04, subordinate=07, sec-latency=176
>         Memory window 0: 40400000-407ff000 (prefetchable)
>         Memory window 1: 40800000-40bff000
>         I/O window 0: 00004000-000040ff
>         I/O window 1: 00004400-000044ff
>         16-bit legacy interface ports at 0001
> 
> 03:04.3 Unknown mass storage controller: Texas Instruments Texas
> Instruments PCIxx21 Integrated FlashMedia Controller
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, medium devsel, latency 64, IRQ 10
>         Memory at b0206000 (32-bit, non-prefetchable) [size=8K]
>         Capabilities: [44] Power Management version 2
> 
> 03:04.4 Class 0805: Texas Instruments Texas Instruments PCI6411,
> PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure
> Digital (SD)
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, medium devsel, latency 64, IRQ 10
>         Memory at b0209000 (32-bit, non-prefetchable) [size=256]
>         Memory at b0208c00 (32-bit, non-prefetchable) [size=256]
>         Memory at b0208800 (32-bit, non-prefetchable) [size=256]
>         Capabilities: [80] Power Management version 2
> 
> 03:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
> RTL-8139/8139C/8139C+ (rev 10)
>         Subsystem: Hewlett-Packard Company: Unknown device 3085
>         Flags: bus master, medium devsel, latency 128, IRQ 209
>         I/O ports at a000 [size=256]
>         Memory at b0209400 (32-bit, non-prefetchable) [size=256]
>         Capabilities: [50] Power Management version 2
> 
> #######################################################################################################################
> [root@linux_area /]# cat /proc/interrupts
>            CPU0
>   0:   11623128    IO-APIC-edge  timer
>   1:      15094    IO-APIC-edge  i8042
>   8:          0    IO-APIC-edge  rtc
> 14:      46658    IO-APIC-edge  ide0
> 15:      85646    IO-APIC-edge  ide1
> 169:         60   IO-APIC-level  acpi, ndiswrapper
> 193:       4456   IO-APIC-level  ATI IXP
> 209:      55424   IO-APIC-level  eth0
> 217:      76166   IO-APIC-level  ehci_hcd:usb1, ohci_hcd:usb2,
> ohci_hcd:usb3
> 225:          3   IO-APIC-level  yenta, ohci1394
> NMI:        886
> LOC:    5810484
> ERR:         10
> MIS:          0
> 
> #############################################################################
> 
> [root@linux_area /]# cat /proc/iomem
> 00000000-0009f7ff : System RAM
> 0009f800-0009ffff : reserved
> 000a0000-000bffff : Video RAM area
> 000c0000-000cefff : Video ROM
> 000d8000-000d8fff : Adapter ROM
> 000f0000-000fffff : System ROM
> 00100000-3feeffff : System RAM
>   00100000-00395c17 : Kernel code
>   00395c18-004d964f : Kernel data
> 3fef0000-3fefefff : ACPI Tables
> 3feff000-3fefffff : ACPI Non-volatile Storage
> 3ff00000-3fffffff : reserved
> 40000000-40000fff : 0000:03:04.0
>   40000000-40000fff : yenta_socket
> 40001000-40001fff : pcmcia_socket0
> 40400000-407fffff : PCI CardBus #04
> 40800000-40bfffff : PCI CardBus #04
> b0000000-b0000fff : 0000:00:13.0
>   b0000000-b0000fff : ohci_hcd
> b0001000-b0001fff : 0000:00:13.1
>   b0001000-b0001fff : ohci_hcd
> b0002000-b0002fff : 0000:00:13.2
>   b0002000-b0002fff : ehci_hcd
> b0003000-b00033ff : 0000:00:14.0
> b0003400-b00034ff : 0000:00:14.5
>   b0003400-b00034ff : ATI IXP AC97
> b0003800-b00038ff : 0000:00:14.6
> b0100000-b01fffff : PCI Bus #01
>   b0100000-b010ffff : 0000:01:05.0
> b0200000-b0203fff : 0000:03:00.0
> b0204000-b0205fff : 0000:03:02.0
>   b0204000-b0205fff : ndiswrapper
> b0206000-b0207fff : 0000:03:04.3
> b0208000-b02087ff : 0000:03:00.0
>   b0208000-b02087ff : ohci1394
> b0208800-b02088ff : 0000:03:04.4
> b0208c00-b0208cff : 0000:03:04.4
> b0209000-b02090ff : 0000:03:04.4
> b0209400-b02094ff : 0000:03:06.0
>   b0209400-b02094ff : 8139too
> c0000000-cfffffff : PCI Bus #01
>   c0000000-cfffffff : 0000:01:05.0
> e0000000-efffffff : reserved
> fec00000-fec0ffff : reserved
> fee00000-fee00fff : reserved
> fff80000-ffffffff : reserved
> 
> 
> #################################################
> 
> [root@linux_area /]# 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 : ide1
> 01f0-01f7 : ide0
> 0220-022f : pnp 00:07
> 0376-0376 : ide1
> 03c0-03df : vga+
> 03f6-03f6 : ide0
> 040b-040b : pnp 00:07
> 04d0-04d1 : pnp 00:07
> 0cf8-0cff : PCI conf1
> 1080-1080 : motherboard
>   1080-1080 : pnp 00:07
> 4000-40ff : PCI CardBus #04
> 4400-44ff : PCI CardBus #04
> 8000-805f : motherboard
>   8000-8003 : PM1a_EVT_BLK
>   8004-8005 : PM1a_CNT_BLK
>   8008-800b : PM_TMR
>   8010-8015 : ACPI CPU throttle
>   8020-8027 : GPE0_BLK
> 8100-8100 : PM2_CNT_BLK
> 8104-8107 : PM1b_EVT_BLK
> 8400-840f : 0000:00:14.0
> 8410-841f : 0000:00:14.1
>   8410-8417 : ide0
>   8418-841f : ide1
> 9000-9fff : PCI Bus #01
>   9000-90ff : 0000:01:05.0
> a000-a0ff : 0000:03:06.0
>   a000-a0ff : 8139too
> 
> ###########################################################
> 
> [root@linux_area /]# /sbin/lsmod
> Module                  Size  Used by
> nls_utf8                2880  1
> ntfs                  169688  1
> orinoco_cs             13196  0
> orinoco                65296  1 orinoco_cs
> hermes                  9984  2 orinoco_cs,orinoco
> ndiswrapper           217424  0
> parport_pc             33965  0
> lp                     16961  0
> parport                49613  2 parport_pc,lp
> autofs4                34121  2
> i2c_dev                14657  0
> i2c_core               26817  1 i2c_dev
> rfcomm                 49137  0
> l2cap                  34505  5 rfcomm
> bluetooth              65797  4 rfcomm,l2cap
> sunrpc                194729  1
> pcmcia                 35345  3 orinoco_cs
> dm_mod                 67521  0
> video                  19913  0
> button                  5313  0
> battery                11721  0
> ac                      6345  0
> md5                     5313  1
> ipv6                  307681  16
> ohci1394               44321  0
> ieee1394              380793  1 ohci1394
> yenta_socket           24777  2
> rsrc_nonstatic         14273  1 yenta_socket
> pcmcia_core            59853  4
> orinoco_cs,pcmcia,yenta_socket,rsrc_nonstatic
> ohci_hcd               29409  0
> ehci_hcd               44621  0
> shpchp                101865  0
> snd_atiixp             26721  1
> snd_ac97_codec         95749  1 snd_atiixp
> snd_seq_dummy           4805  0
> snd_seq_oss            44581  0
> snd_seq_midi_event     11585  1 snd_seq_oss
> snd_seq                77465  5
> snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
> snd_seq_device         11217  3 snd_seq_dummy,snd_seq_oss,snd_seq
> snd_pcm_oss            61169  0
> snd_mixer_oss          20161  2 snd_pcm_oss
> snd_pcm               118988  3 snd_atiixp,snd_ac97_codec,snd_pcm_oss
> snd_timer              37705  2 snd_seq,snd_pcm
> snd                    67521  9
> snd_atiixp,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
> soundcore              13537  2 snd
> snd_page_alloc         12233  2 snd_atiixp,snd_pcm
> 8139too                33345  0
> mii                     6721  1 8139too
> ext3                  148177  3
> jbd                    92657  1 ext3
> 
> 
> ############################################################################################################
> 
> 
> 
> 
> -----------------------------------------
> Frederico Madeira
> fred@ocn.com.br
> MSN: fttmadeira@hotmail.com
> ICQ: 37152149
> SKYPE: fred_madeira
> Registered GNU/Linux n? 206120
> ------------------------------
> Powered by LINUX
-----------------------------------------
Frederico Madeira
fred@ocn.com.br
MSN: fttmadeira@hotmail.com
ICQ: 37152149
SKYPE: fred_madeira
Registered GNU/Linux n? 206120
------------------------------
Powered by LINUX


From fred at ocn.com.br  Tue Sep 13 22:46:11 2005
From: fred at ocn.com.br (Frederico Madeira)
Date: Tue Sep 13 22:47:14 2005
Subject: PCMCIA don't work on HP ZV6000 with FC4
In-Reply-To: <1126674760.3505.0.camel@localhost.localdomain>
References: <1126585162.4342.34.camel@localhost.localdomain>
	<1126674760.3505.0.camel@localhost.localdomain>
Message-ID: <1126665971.3227.3.camel@localhost.localdomain>

I try with a live cd of distro kuruin 2.0 with the kernel 2.4.20 and in
detect my pccards insetion and remove, beep every.

So, i think that is a kernel problem.

My kernel is: 
[root@linux_area fred]# uname -a
Linux linux_area 2.6.12-1.1447_FC4 #1  x86_64 x86_64 x86_64 GNU/Linux

-----------------------------------------
> Frederico Madeira
> fred@ocn.com.br
> MSN: fttmadeira@hotmail.com
> ICQ: 37152149
> SKYPE: fred_madeira
> Registered GNU/Linux n? 206120
> ------------------------------
> Powered by LINUX


Em Qua, 2005-09-14 ?s 02:12 -0300, Frederico Madeira escreveu:
> Hi,
> 
> I've trie to configure pcmcia card's on my notebook HP Pavilion zv6000
> but i have no sucesse.
> When i insert or remove a pc card it don't beep, when i change the pc
> card the command  /sbin/cardctl ident don't ident the new pccard. It
> show the first pc card inserted.
> First i've insalled the orinoco driver, and load de modules, but the
> pcmcia don't work, after this i test the pcmcia putting another pcmcia
> that was work on other notebook.
> For my surprise, it don't work. so i think that pcmcia is not correctly
> supported by kernel for my machine, so i send details of my testes, if
> any could help me , please answer me.
> 
> The first card is Orinoco Gold 8420-wd wireless and the second is IBM
> Dta/Fax Modem  XJ1560
> 
> See the irq that cardbus is using: 225
> 
> DESCRIPTIONS:
> 
> #######################################
> [root@linux_area /]# /sbin/cardctl ident 
> Socket 0:
>   product info: "Agere Systems", "Wireless PC Card Model 0111", "", ""
>   manfid: 0x0156, 0x0003
>   function: 6 (network)
> #############################################
> > 
> > [root@linux_area /]# /sbin/cardctl info
> > PRODID_1="Agere Systems"
> > PRODID_2="Wireless PC Card Model 0111"
> > PRODID_3=""
> > PRODID_4=""
> > MANFID=0156,0003
> > FUNCID=6
> > 
> > ############################################
> > 
> > [root@linux_area /]# cat /etc/sysconfig/pcmcia
> > PCMCIA=yes
> > PCIC=yenta_socket
> > PCIC_OPTS=
> > CORE_OPTS=
> > CARDMGR_OPTS=-f
> > 
> > ################################################
> > [root@linux_area /]# cat /etc/pcmcia/config.opts
> > #
> > # Local PCMCIA Configuration File
> > #
> > #----------------------------------------------------------------------
> > #
> > # System resources available for PCMCIA cards
> > #
> > # NOTE: these settings have no effect on resources assigned to a
> > # CardBus bridge device itself; this file only affects resources
> > # assigned to cards.  Also, interrupt settings here will only affect
> > # ISA bus interrupts assigned to 16-bit cards.  PCI interrupts
> > # generally can't be reconfigured.
> > #
> > # With the kernel PCMCIA subsystem, these settings also have no effect
> > # at all on resources used for 32-bit CardBus cards.  Those are set by
> > # the PCI hotplug subsystem.
> > #
> > 
> > include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
> > include memory 0xc0000-0xfffff
> > include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
> > include memory 0xe0100000-0xe17fffff                   # included by
> > me
> > 
> > include memory 0x40000000-0x40bff000                    # included by
> > me
> > 
> > 
> > # High port numbers do not always work...
> > # include port 0x1000-0x17ff
> > 
> > # Extra port range for IBM Token Ring
> > include port 0xa00-0xaff
> > include port 0x4000-0x44ff         # included by me
> > 
> > 
> > # Resources we should not use, even if they appear to be available
> > 
> > # First built-in serial port
> > exclude irq 4
> > # Second built-in serial port
> > #exclude irq 3
> > # First built-in parallel port
> > exclude irq 7
> > # PS/2 Mouse controller port, comment this out if you don't have a
> > PS/2
> > # based mouse
> > exclude irq 12
> > # SB emulation ports
> > exclude port 0x220-0x22f
> > # Radeon IGP MCE's if you touch ports 3b0->3bb & 3d3
> > exclude port 0x3b0-0x3bb
> > exclude port 0x3d3-0x3d3
> > 
> > #----------------------------------------------------------------------
> > 
> > # Examples of options for loadable modules
> > 
> > # To fix sluggish network with IBM ethernet adapter...
> > module "pcnet_cs" opts "mem_speed=600"
> > 
> > # Options for IBM Token Ring adapters
> > #module "ibmtr_cs" opts "mmiobase=0xd0000 srambase=0xd4000"
> > 
> > # Options for Raylink/WebGear driver: uncomment only one line...
> > # Generic ad-hoc network
> > module "ray_cs" opts "essid=ADHOC_ESSID hop_dwell=128
> > beacon_period=256 translate=1"
> > # Infrastructure network for older cards
> > #module "ray_cs" opts "net_type=1 essid=ESSID1"
> > # Infrastructure network for WebGear
> > #module "ray_cs" opts "net_type=1 essid=ESSID1 translate=1
> > hop_dwell=128 beacon_period=256"
> > 
> > # Options for WaveLAN/IEEE driver (AccessPoint mode)...
> > module "wvlan_cs" opts "station_name=MY_PC"
> > # Options for WaveLAN/IEEE driver (ad-hoc mode)...
> > module "wvlan_cs" opts "port_type=3 channel=1 station_name=MY_PC"
> > 
> > # Options for Xircom Netwave driver...
> > #module "netwave_cs" opts "domain=0x100 scramble_key=0x0"
> > 
> > #####################################################################################
> > 
> > [root@linux_area /]# /sbin/lspci -v
> > 00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5950
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, 66Mhz, medium devsel, latency 64
> > 
> > 00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 5a3f (prog-if
> > 00 [Normal decode])
> >         Flags: bus master, 66Mhz, medium devsel, latency 64
> >         Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
> >         I/O behind bridge: 00009000-00009fff
> >         Memory behind bridge: b0100000-b01fffff
> >         Prefetchable memory behind bridge:
> > 00000000c0000000-00000000cff00000
> >         Capabilities: [44] HyperTransport: MSI Mapping
> >         Capabilities: [b0] #0d [0000]
> > 
> > 00:04.0 PCI bridge: ATI Technologies Inc: Unknown device 5a36 (prog-if
> > 00 [Normal decode])
> >         Flags: bus master, fast devsel, latency 0
> >         Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
> >         I/O behind bridge: 00000000-00000fff
> >         Memory behind bridge: 00000000-000fffff
> >         Prefetchable memory behind bridge: 00000000-000fffff
> >         Capabilities: [50] Power Management version 3
> >         Capabilities: [58] Express Root Port (Slot-) IRQ 0
> >         Capabilities: [80] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable+
> >         Capabilities: [b0] #0d [0000]
> >         Capabilities: [b8] HyperTransport: MSI Mapping
> > 
> > 00:13.0 USB Controller: ATI Technologies Inc: Unknown device 4374
> > (prog-if 10 [OHCI])
> >         Subsystem: ATI Technologies Inc: Unknown device 4374
> >         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
> >         Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
> >         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:13.1 USB Controller: ATI Technologies Inc: Unknown device 4375
> > (prog-if 10 [OHCI])
> >         Subsystem: ATI Technologies Inc: Unknown device 4375
> >         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
> >         Memory at b0001000 (32-bit, non-prefetchable) [size=4K]
> >         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:13.2 USB Controller: ATI Technologies Inc: Unknown device 4373
> > (prog-if 20 [EHCI])
> >         Subsystem: ATI Technologies Inc: Unknown device 4373
> >         Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 217
> >         Memory at b0002000 (32-bit, non-prefetchable) [size=4K]
> >         Capabilities: [dc] Power Management version 2
> >         Capabilities: [d0] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 10)
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: 66Mhz, medium devsel
> >         I/O ports at 8400 [size=16]
> >         Memory at b0003000 (32-bit, non-prefetchable) [size=1K]
> >         Capabilities: [b0] HyperTransport: MSI Mapping
> > 
> > 00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI
> > IDE Controller ATI (prog-if 8a [Master SecP PriP])
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 201
> >         I/O ports at <ignored>
> >         I/O ports at <ignored>
> >         I/O ports at <ignored>
> >         I/O ports at <ignored>
> >         I/O ports at 8410 [size=16]
> >         Capabilities: [70] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 4377
> >         Flags: bus master, 66Mhz, medium devsel, latency 0
> > 
> > 00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4371 (prog-if
> > 01 [Subtractive decode])
> >         Flags: bus master, 66Mhz, medium devsel, latency 64
> >         Bus: primary=00, secondary=03, subordinate=03, sec-latency=64
> >         I/O behind bridge: 0000a000-0000afff
> >         Memory behind bridge: b0200000-b02fffff
> > 
> > 00:14.5 Multimedia audio controller: ATI Technologies Inc: Unknown
> > device 4370 (rev 01)
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, 66Mhz, slow devsel, latency 64, IRQ 193
> >         Memory at b0003400 (32-bit, non-prefetchable) [size=256]
> >         Capabilities: [40] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:14.6 Modem: ATI Technologies Inc: Unknown device 4378 (rev 01)
> > (prog-if 00 [Generic])
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: 66Mhz, slow devsel, IRQ 193
> >         Memory at b0003800 (32-bit, non-prefetchable) [size=256]
> >         Capabilities: [40] Message Signalled Interrupts: 64bit-
> > Queue=0/0 Enable-
> > 
> > 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8
> > [Athlon64/Opteron] HyperTransport Technology Configuration
> >         Flags: fast devsel
> >         Capabilities: [80] HyperTransport: Host or Secondary Interface
> > 
> > 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8
> > [Athlon64/Opteron] Address Map
> >         Flags: fast devsel
> > 
> > 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8
> > [Athlon64/Opteron] DRAM Controller
> >         Flags: fast devsel
> > 
> > 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8
> > [Athlon64/Opteron] Miscellaneous Control
> >         Flags: fast devsel
> > 
> > 01:05.0 VGA compatible controller: ATI Technologies Inc: Unknown
> > device 5955 (prog-if 00 [VGA])
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, fast Back2Back, 66Mhz, medium devsel,
> > latency 255, IRQ 10
> >         Memory at c0000000 (32-bit, prefetchable) [size=256M]
> >         I/O ports at 9000 [size=256]
> >         Memory at b0100000 (32-bit, non-prefetchable) [size=64K]
> >         Capabilities: [50] Power Management version 2
> > 
> > 03:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A
> > IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, medium devsel, latency 64, IRQ 225
> >         Memory at b0208000 (32-bit, non-prefetchable) [size=2K]
> >         Memory at b0200000 (32-bit, non-prefetchable) [size=16K]
> >         Capabilities: [44] Power Management version 2
> > 
> > 03:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g
> > Wireless LAN Controller (rev 03)
> >         Subsystem: Hewlett-Packard Company: Unknown device 12f8
> >         Flags: bus master, fast devsel, latency 64, IRQ 169
> >         Memory at b0204000 (32-bit, non-prefetchable) [size=8K]
> > 
> > 03:04.0 CardBus bridge: Texas Instruments Texas Instruments
> > PCIxx21/x515 Cardbus Controller
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, medium devsel, latency 168, IRQ 225
> >         Memory at 40000000 (32-bit, non-prefetchable) [size=4K]
> >         Bus: primary=03, secondary=04, subordinate=07, sec-latency=176
> >         Memory window 0: 40400000-407ff000 (prefetchable)
> >         Memory window 1: 40800000-40bff000
> >         I/O window 0: 00004000-000040ff
> >         I/O window 1: 00004400-000044ff
> >         16-bit legacy interface ports at 0001
> > 
> > 03:04.3 Unknown mass storage controller: Texas Instruments Texas
> > Instruments PCIxx21 Integrated FlashMedia Controller
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, medium devsel, latency 64, IRQ 10
> >         Memory at b0206000 (32-bit, non-prefetchable) [size=8K]
> >         Capabilities: [44] Power Management version 2
> > 
> > 03:04.4 Class 0805: Texas Instruments Texas Instruments PCI6411,
> > PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure
> > Digital (SD)
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, medium devsel, latency 64, IRQ 10
> >         Memory at b0209000 (32-bit, non-prefetchable) [size=256]
> >         Memory at b0208c00 (32-bit, non-prefetchable) [size=256]
> >         Memory at b0208800 (32-bit, non-prefetchable) [size=256]
> >         Capabilities: [80] Power Management version 2
> > 
> > 03:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
> > RTL-8139/8139C/8139C+ (rev 10)
> >         Subsystem: Hewlett-Packard Company: Unknown device 3085
> >         Flags: bus master, medium devsel, latency 128, IRQ 209
> >         I/O ports at a000 [size=256]
> >         Memory at b0209400 (32-bit, non-prefetchable) [size=256]
> >         Capabilities: [50] Power Management version 2
> > 
> > #######################################################################################################################
> > [root@linux_area /]# cat /proc/interrupts
> >            CPU0
> >   0:   11623128    IO-APIC-edge  timer
> >   1:      15094    IO-APIC-edge  i8042
> >   8:          0    IO-APIC-edge  rtc
> > 14:      46658    IO-APIC-edge  ide0
> > 15:      85646    IO-APIC-edge  ide1
> > 169:         60   IO-APIC-level  acpi, ndiswrapper
> > 193:       4456   IO-APIC-level  ATI IXP
> > 209:      55424   IO-APIC-level  eth0
> > 217:      76166   IO-APIC-level  ehci_hcd:usb1, ohci_hcd:usb2,
> > ohci_hcd:usb3
> > 225:          3   IO-APIC-level  yenta, ohci1394
> > NMI:        886
> > LOC:    5810484
> > ERR:         10
> > MIS:          0
> > 
> > #############################################################################
> > 
> > [root@linux_area /]# cat /proc/iomem
> > 00000000-0009f7ff : System RAM
> > 0009f800-0009ffff : reserved
> > 000a0000-000bffff : Video RAM area
> > 000c0000-000cefff : Video ROM
> > 000d8000-000d8fff : Adapter ROM
> > 000f0000-000fffff : System ROM
> > 00100000-3feeffff : System RAM
> >   00100000-00395c17 : Kernel code
> >   00395c18-004d964f : Kernel data
> > 3fef0000-3fefefff : ACPI Tables
> > 3feff000-3fefffff : ACPI Non-volatile Storage
> > 3ff00000-3fffffff : reserved
> > 40000000-40000fff : 0000:03:04.0
> >   40000000-40000fff : yenta_socket
> > 40001000-40001fff : pcmcia_socket0
> > 40400000-407fffff : PCI CardBus #04
> > 40800000-40bfffff : PCI CardBus #04
> > b0000000-b0000fff : 0000:00:13.0
> >   b0000000-b0000fff : ohci_hcd
> > b0001000-b0001fff : 0000:00:13.1
> >   b0001000-b0001fff : ohci_hcd
> > b0002000-b0002fff : 0000:00:13.2
> >   b0002000-b0002fff : ehci_hcd
> > b0003000-b00033ff : 0000:00:14.0
> > b0003400-b00034ff : 0000:00:14.5
> >   b0003400-b00034ff : ATI IXP AC97
> > b0003800-b00038ff : 0000:00:14.6
> > b0100000-b01fffff : PCI Bus #01
> >   b0100000-b010ffff : 0000:01:05.0
> > b0200000-b0203fff : 0000:03:00.0
> > b0204000-b0205fff : 0000:03:02.0
> >   b0204000-b0205fff : ndiswrapper
> > b0206000-b0207fff : 0000:03:04.3
> > b0208000-b02087ff : 0000:03:00.0
> >   b0208000-b02087ff : ohci1394
> > b0208800-b02088ff : 0000:03:04.4
> > b0208c00-b0208cff : 0000:03:04.4
> > b0209000-b02090ff : 0000:03:04.4
> > b0209400-b02094ff : 0000:03:06.0
> >   b0209400-b02094ff : 8139too
> > c0000000-cfffffff : PCI Bus #01
> >   c0000000-cfffffff : 0000:01:05.0
> > e0000000-efffffff : reserved
> > fec00000-fec0ffff : reserved
> > fee00000-fee00fff : reserved
> > fff80000-ffffffff : reserved
> > 
> > 
> > #################################################
> > 
> > [root@linux_area /]# 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 : ide1
> > 01f0-01f7 : ide0
> > 0220-022f : pnp 00:07
> > 0376-0376 : ide1
> > 03c0-03df : vga+
> > 03f6-03f6 : ide0
> > 040b-040b : pnp 00:07
> > 04d0-04d1 : pnp 00:07
> > 0cf8-0cff : PCI conf1
> > 1080-1080 : motherboard
> >   1080-1080 : pnp 00:07
> > 4000-40ff : PCI CardBus #04
> > 4400-44ff : PCI CardBus #04
> > 8000-805f : motherboard
> >   8000-8003 : PM1a_EVT_BLK
> >   8004-8005 : PM1a_CNT_BLK
> >   8008-800b : PM_TMR
> >   8010-8015 : ACPI CPU throttle
> >   8020-8027 : GPE0_BLK
> > 8100-8100 : PM2_CNT_BLK
> > 8104-8107 : PM1b_EVT_BLK
> > 8400-840f : 0000:00:14.0
> > 8410-841f : 0000:00:14.1
> >   8410-8417 : ide0
> >   8418-841f : ide1
> > 9000-9fff : PCI Bus #01
> >   9000-90ff : 0000:01:05.0
> > a000-a0ff : 0000:03:06.0
> >   a000-a0ff : 8139too
> > 
> > ###########################################################
> > 
> > [root@linux_area /]# /sbin/lsmod
> > Module                  Size  Used by
> > nls_utf8                2880  1
> > ntfs                  169688  1
> > orinoco_cs             13196  0
> > orinoco                65296  1 orinoco_cs
> > hermes                  9984  2 orinoco_cs,orinoco
> > ndiswrapper           217424  0
> > parport_pc             33965  0
> > lp                     16961  0
> > parport                49613  2 parport_pc,lp
> > autofs4                34121  2
> > i2c_dev                14657  0
> > i2c_core               26817  1 i2c_dev
> > rfcomm                 49137  0
> > l2cap                  34505  5 rfcomm
> > bluetooth              65797  4 rfcomm,l2cap
> > sunrpc                194729  1
> > pcmcia                 35345  3 orinoco_cs
> > dm_mod                 67521  0
> > video                  19913  0
> > button                  5313  0
> > battery                11721  0
> > ac                      6345  0
> > md5                     5313  1
> > ipv6                  307681  16
> > ohci1394               44321  0
> > ieee1394              380793  1 ohci1394
> > yenta_socket           24777  2
> > rsrc_nonstatic         14273  1 yenta_socket
> > pcmcia_core            59853  4
> > orinoco_cs,pcmcia,yenta_socket,rsrc_nonstatic
> > ohci_hcd               29409  0
> > ehci_hcd               44621  0
> > shpchp                101865  0
> > snd_atiixp             26721  1
> > snd_ac97_codec         95749  1 snd_atiixp
> > snd_seq_dummy           4805  0
> > snd_seq_oss            44581  0
> > snd_seq_midi_event     11585  1 snd_seq_oss
> > snd_seq                77465  5
> > snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
> > snd_seq_device         11217  3 snd_seq_dummy,snd_seq_oss,snd_seq
> > snd_pcm_oss            61169  0
> > snd_mixer_oss          20161  2 snd_pcm_oss
> > snd_pcm               118988  3 snd_atiixp,snd_ac97_codec,snd_pcm_oss
> > snd_timer              37705  2 snd_seq,snd_pcm
> > snd                    67521  9
> > snd_atiixp,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
> > soundcore              13537  2 snd
> > snd_page_alloc         12233  2 snd_atiixp,snd_pcm
> > 8139too                33345  0
> > mii                     6721  1 8139too
> > ext3                  148177  3
> > jbd                    92657  1 ext3
> > 
> > 
> > ############################################################################################################
> > 
> > 
> > 
> > 
> > -----------------------------------------
> > Frederico Madeira
> > fred@ocn.com.br
> > MSN: fttmadeira@hotmail.com
> > ICQ: 37152149
> > SKYPE: fred_madeira
> > Registered GNU/Linux n? 206120
> > ------------------------------
> > Powered by LINUX



From sander at humilis.net  Wed Sep 14 07:21:46 2005
From: sander at humilis.net (Sander)
Date: Wed Sep 14 07:22:24 2005
Subject: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power
In-Reply-To: <20050913175853.GA9572@dominikbrodowski.de>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
Message-ID: <20050914112145.GA28246@favonius>

Dominik Brodowski wrote (ao):
> On Tue, Sep 13, 2005 at 11:20:41AM +0200, Sander wrote:
> > I've installed pcmciautils-008

> > I believe there is no such thing as 'cardmgr' in pcmciautils, correct?
> 
> Yes. However, I thought you were upgrading from an earlier kernel, and
> as pcmciautils is really new, I thought you might still have a
> pcmcia-cs based setup...

Unfortunately not, as this was the first kernel I compiled with PCMCIA
support for this server.

If it helps I can install pcmcia-cs, but on the other hand this might be
a good opportunity to let me help with getting pcmciautils up to speed.

What is the status of pcmciautils anyway? The number suggest alpha.

> > # dmesg | tail
> > [42949462.930000] Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
> > [42949463.070000] Yenta: ISA IRQ mask 0x0c08, PCI irq 5
> > [42949463.070000] Socket status: 30000410
> > [42949463.070000] ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
> > [42949463.070000] Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
> > [42949463.210000] Yenta: ISA IRQ mask 0x0c08, PCI irq 12
> > [42949463.210000] Socket status: 30000006
> > [42949541.030000] cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xdffff 0xf0000-0xfffff
> > [42949541.040000] cs: memory probe 0x60000000-0x60ffffff: clean.
> > [42949541.040000] cs: memory probe 0xa0000000-0xa0ffffff: clean.
> > 
> > 
> > Now that seems good news!! But pcmcia-socket-startup is not mentioned at
> > http://kernel.org/pub/linux/utils/kernel/pcmcia/howto.html 
> > or
> > http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
> > 
> > and not even in the pcmciautils-008 source.
> 
> Actually, it should be called by the hotplug system automagically upon
> modprobe yenta_socket, with the socket number as argument.

Aha, ic. The thing is though that this is a basic fileserver. I would
love not to have to use hotplug. Is that doable? I think it should be,
but correct me if I'm wrong.
There is not going to be any plugging of the card anyway.

> > Do you happen to know how I should use it? It is kinda strange that it
> > doens't work without argument, and seems to make the system move with a
> > seemingly unrelated argument.
> 
> Actually, it expects one argument, the socket number. It doesn't do any
> argument checking, so it simply tries to convert "--help" to a number. That
> results in the number "0", so the socket numbered "0" is started. I've fixed
> pcmcia-socket-startup to start _all_ sockets if no argument is given.
> This'll be part of pcmciautils-009 which I hope to release soon.

Thanks both for the explanation and the fix :-)

> > Have to go now, but will test if the card works later today. It
> > needs CIS so that might be another obstacle.
> 
> You need to get the CIS file from pcmcia-cs it's in etc/cis/, named ".dat",
> and needs to be re-named to ".cis" and put into /lib/firmware, IIRC.

You are correct (of course). That I all had set up according to the
howto before the "unable to apply power" struck.

But how do I know it uses the CIS file? I have:

/lib/firmware/SW_7xx_SER.cis

and:

# config.opts
card "Sierra Wireless AC710/AC750 GPRS Network Adapter R1"
manfid 0x0192, 0x0710
cis "/lib/firmware/SW_7xx_SER.cis"
bind "serial_cs"

and I get garbage when I cat /sys/class/pcmcia_socket/pcmcia_socket0/cis

So I assume it does load the CIS file.

But no extra serial port shows up (in dmesg), which should IIRC.
(I used the card long time ago on my (dead) vaio notebook). It was easy
to set up back then with this manual (sorry for the lengthy url):

http://mycusthelp.com/sierrawireless/supportkbitem.asp?sSessionID=&Inc=192&sFilA=FAQ%20Category&sFilB=Products&sFilC=&KEY=Linux

With minicom I can't talk to ttyS{0-4}, so it seems not to be available.

Btw, I bought a Conceptronic PCMCIA to PCI card. Would it be useful to
try instead of the onboard PCMCIA slot? If it would, I'd still like to
get the onboard one working, as these Epia boards are quite populair
among Linux users.

I'll try a 3Com NIC too, but need a kernel recompile for that to work.

Thanks a bunch again!!

	With kind regards, Sander

FWIW, the relevant modules I have loaded:
Module                  Size  Used by
serial_cs              16676  0 
pcmcia                 23432  1 serial_cs
firmware_class          7456  1 pcmcia
yenta_socket           22316  4 
rsrc_nonstatic          9568  1 yenta_socket
pcmcia_core            34512  3 pcmcia,yenta_socket,rsrc_nonstatic


-- 
Humilis IT Services and Solutions
http://www.humilis.net

From jav58 at hotmail.com  Wed Sep 14 22:25:44 2005
From: jav58 at hotmail.com (jose' ventura)
Date: Wed Sep 14 22:26:24 2005
Subject: Having trouble configuring a Linksys WPC54G wireless internet card
	with SUSE 9.1
Message-ID: <BAY101-F182A902B246689CA0E8B0ABF9E0@phx.gbl>

Hello, I have been trying to configure a Linksys WPC54G wireless internet 
card with SUSE 9.1 but I have been unable to. I was able to install 
ndiswrapper and also run the command modprobe ndiswrapper by using the shell 
prompt.

the problem that I am having is that the card doesnt even turn on and that I 
cant even run the command: iwlist wlan0 scan, I get an error message that 
says that the device does not support scanning.

I posted my problems on a forum and a person told me that their card works 
great on SUSE 9.2 and 9.3.

can you help me solve my problem??

also are there any wireless internet cards that you know would be better to 
use with SUSE 9.1?? (preferably one of the newer models of Belkin cards)

                Thank you,
                    JAV



From jav58 at hotmail.com  Wed Sep 14 22:27:52 2005
From: jav58 at hotmail.com (jose' ventura)
Date: Wed Sep 14 22:28:18 2005
Subject: Having trouble configuring a Linksys WPC54G wireless internet card
	with SUSE 9.1
Message-ID: <BAY101-F137733C29D6ACD03D78FAEBF9E0@phx.gbl>

Hello, I have been trying to configure a Linksys WPC54G wireless internet 
card with SUSE 9.1 but I have been unable to. I was able to install 
ndiswrapper and also run the command modprobe ndiswrapper by using the shell 
prompt.

the problem that I am having is that the card doesnt even turn on and that I 
cant even run the command: iwlist wlan0 scan, I get an error message that 
says that the device does not support scanning.

I posted my problems on a forum and a person told me that their card works 
great on SUSE 9.2 and 9.3.

can you help me solve my problem??

also are there any wireless internet cards that you know would be better to 
use with SUSE 9.1?? (preferably one of the newer models of Belkin cards)

                Thank you,
                    JAV



From Larry.Finger at lwfinger.net  Thu Sep 15 01:22:35 2005
From: Larry.Finger at lwfinger.net (Larry W. Finger)
Date: Thu Sep 15 01:23:11 2005
Subject: Having trouble configuring a Linksys WPC54G wireless
 internet card with SUSE 9.1
In-Reply-To: <BAY101-F182A902B246689CA0E8B0ABF9E0@phx.gbl>
References: <BAY101-F182A902B246689CA0E8B0ABF9E0@phx.gbl>
Message-ID: <6.2.3.4.2.20050915001510.020ce3c0@ipostoffice.worldnet.att.net>

At 09:25 PM 9/14/2005, jose' ventura wrote:
>Hello, I have been trying to configure a Linksys WPC54G wireless 
>internet card with SUSE 9.1 but I have been unable to. I was able to 
>install ndiswrapper and also run the command modprobe ndiswrapper by 
>using the shell prompt.
>
>the problem that I am having is that the card doesnt even turn on 
>and that I cant even run the command: iwlist wlan0 scan, I get an 
>error message that says that the device does not support scanning.
>
>I posted my problems on a forum and a person told me that their card 
>works great on SUSE 9.2 and 9.3.
>
>can you help me solve my problem??
>
>also are there any wireless internet cards that you know would be 
>better to use with SUSE 9.1?? (preferably one of the newer models of 
>Belkin cards)

The Linksys WPC54G works very well with SuSE 9.1, 9.2 and 9.3. I am 
using one at the moment. The reason that the people on the forum 
didn't give you much information is that you probably gave them 
squat, just like you did here.

Have you read the documentation for ndiswrapper? Have you installed 
the Windows driver? We need a lot more information before anyone can 
help you. If the Windows driver has been installed, what does dmesg 
have to say about your card? 


From sander at humilis.net  Thu Sep 15 05:13:41 2005
From: sander at humilis.net (Sander)
Date: Thu Sep 15 05:14:39 2005
Subject: pcmciautils-009 doesn't compile;
	make: *** [src/yacc_config.o] Error 1
Message-ID: <20050915091341.GA12012@favonius>

Hello Dominik,

I saw pcmciautils-009 announced in the archives and tried to compile it
on an up to date Debian Sid. It bails out with:

Compiling yacc_config.c:                                              [ERROR]  
  gcc -pipe -DVERSION="009" -I/usr/src/compile/pcmciautils-009/src -Wall -Wchar
  -subscripts -Wpointer-arith -Wsign-compare -Wno-pointer-sign -Wdeclaration-af
  ter-statement -Wshadow -I/usr/lib/gcc/i486-linux-gnu/4.0.2/include -Os -fomit
  -frame-pointer -D_GNU_SOURCE -c -o src/yacc_config.o src/yacc_config.c
  src/yacc_config.c:61: error: syntax error before string constant
  src/yacc_config.c:92:1: warning: "VERSION" redefined
  <command line>:1:1: warning: this is the location of the previous definition

  y.tab.c: In function 'yyparse':
  y.tab.c:1025: warning: implicit declaration of function 'yylex'
make: *** [src/yacc_config.o] Error 1

If I remove src/yacc_config.c line 61 (VERSION ..) it compiles.

Btw, during compile it says OK and ERROR RedHat style in the
colors red, green and yellow. Especially the yellow text is
not readible in a white xterm and I assume the other colors
give problems on x/eterms with different color settings.
IMVHO this eyecandy is a bit distracting.

Thank you for this release.

	With kind regards, Sander

-- 
Humilis IT Services and Solutions
http://www.humilis.net

From linux at dominikbrodowski.net  Thu Sep 15 15:51:47 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 15 15:52:46 2005
Subject: pcmciautils-009 doesn't compile;
	make: *** [src/yacc_config.o] Error 1
In-Reply-To: <20050915091341.GA12012@favonius>
References: <20050915091341.GA12012@favonius>
Message-ID: <20050915195147.GB7292@isilmar.linta.de>

Hello Sander,

On Thu, Sep 15, 2005 at 11:13:41AM +0200, Sander wrote:
> Hello Dominik,
> 
> I saw pcmciautils-009 announced in the archives and tried to compile it
> on an up to date Debian Sid. It bails out with:
> 
> Compiling yacc_config.c:                                              [ERROR]  
>   gcc -pipe -DVERSION="009" -I/usr/src/compile/pcmciautils-009/src -Wall -Wchar
>   -subscripts -Wpointer-arith -Wsign-compare -Wno-pointer-sign -Wdeclaration-af
>   ter-statement -Wshadow -I/usr/lib/gcc/i486-linux-gnu/4.0.2/include -Os -fomit
>   -frame-pointer -D_GNU_SOURCE -c -o src/yacc_config.o src/yacc_config.c
>   src/yacc_config.c:61: error: syntax error before string constant
>   src/yacc_config.c:92:1: warning: "VERSION" redefined
>   <command line>:1:1: warning: this is the location of the previous definition
> 
>   y.tab.c: In function 'yyparse':
>   y.tab.c:1025: warning: implicit declaration of function 'yylex'
> make: *** [src/yacc_config.o] Error 1
> 
> If I remove src/yacc_config.c line 61 (VERSION ..) it compiles.

Could you try out the attached patch, please?

> Btw, during compile it says OK and ERROR RedHat style in the
> colors red, green and yellow. Especially the yellow text is
> not readible in a white xterm and I assume the other colors
> give problems on x/eterms with different color settings.
> IMVHO this eyecandy is a bit distracting.

Simply set "V=true" in the Makefile in the top directory, then the eyecandy
will go away and "normal" build output will appear.

Thanks,

	Dominik


Index: src/pccardctl.c
===================================================================
--- src/pccardctl.c	(Revision 230)
+++ src/pccardctl.c	(Arbeitskopie)
@@ -218,7 +218,7 @@
 }
 
 static void print_header(void) {
-	printf("pcmciautils %s\n", VERSION);
+	printf("pcmciautils %s\n", PCMCIAUTILS_VERSION);
 	printf("Copyright (C) 2004-2005 Dominik Brodowski, (C) 1999 David A. Hinds\n");
 	printf("Report errors and bugs to <linux-pcmcia@lists.infradead.org>, please.\n");
 }
Index: src/lex_config.l
===================================================================
--- src/lex_config.l	(Revision 230)
+++ src/lex_config.l	(Arbeitskopie)
@@ -15,7 +15,6 @@
  */
 
 #undef src
-#undef VERSION
 
 #include <stdio.h>
 #include <stdlib.h>
Index: src/yacc_config.y
===================================================================
--- src/yacc_config.y	(Revision 230)
+++ src/yacc_config.y	(Arbeitskopie)
@@ -19,7 +19,6 @@
 #include <sys/types.h>
 
 #include "startup.h"
-#undef VERSION
 
 /* If bison: generate nicer error messages */ 
 #define YYERROR_VERBOSE 1
Index: Makefile
===================================================================
--- Makefile	(Revision 230)
+++ Makefile	(Arbeitskopie)
@@ -107,7 +107,7 @@
 WARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
 WARNINGS += -Wshadow
 
-CFLAGS := -pipe -DVERSION=\"$(VERSION)\"
+CFLAGS := -pipe -DPCMCIAUTILS_VERSION=\"$(VERSION)\"
 YFLAGS := -d
 
 HEADERS = \

From linux at dominikbrodowski.net  Thu Sep 15 16:20:11 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 15 16:20:52 2005
Subject: Sierra Wireless CIS [Was: Re: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power]
In-Reply-To: <20050914112145.GA28246@favonius>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
	<20050914112145.GA28246@favonius>
Message-ID: <20050915202011.GA14035@isilmar.linta.de>

On Wed, Sep 14, 2005 at 01:21:46PM +0200, Sander wrote:
> Dominik Brodowski wrote (ao):
> > On Tue, Sep 13, 2005 at 11:20:41AM +0200, Sander wrote:
> > > I've installed pcmciautils-008
> 
> > > I believe there is no such thing as 'cardmgr' in pcmciautils, correct?
> > 
> > Yes. However, I thought you were upgrading from an earlier kernel, and
> > as pcmciautils is really new, I thought you might still have a
> > pcmcia-cs based setup...
> 
> Unfortunately not, as this was the first kernel I compiled with PCMCIA
> support for this server.
> 
> If it helps I can install pcmcia-cs, but on the other hand this might be
> a good opportunity to let me help with getting pcmciautils up to speed.

Excellent, yes.

> What is the status of pcmciautils anyway? The number suggest alpha.

It is indeed quite new; however there aren't that many bugreports
(fortunately) even though it already is part of some distributions.

> > Actually, it should be called by the hotplug system automagically upon
> > modprobe yenta_socket, with the socket number as argument.
> 
> Aha, ic. The thing is though that this is a basic fileserver. I would
> love not to have to use hotplug. Is that doable? I think it should be,
> but correct me if I'm wrong.
> There is not going to be any plugging of the card anyway.

Yes, it's possible. One option is using udev -- Fedora/Redhat already does
that, I hope to be able to fully integrate this into the next pcmciautils
release. Another option is to use a custom script; for more information see
below.

> > > Have to go now, but will test if the card works later today. It
> > > needs CIS so that might be another obstacle.
> > 
> > You need to get the CIS file from pcmcia-cs it's in etc/cis/, named ".dat",
> > and needs to be re-named to ".cis" and put into /lib/firmware, IIRC.
> 
> You are correct (of course). That I all had set up according to the
> howto before the "unable to apply power" struck.
> 
> But how do I know it uses the CIS file? I have:
> 
> /lib/firmware/SW_7xx_SER.cis
> 
> and:
> 
> # config.opts
> card "Sierra Wireless AC710/AC750 GPRS Network Adapter R1"
> manfid 0x0192, 0x0710
> cis "/lib/firmware/SW_7xx_SER.cis"
> bind "serial_cs"
> 
> and I get garbage when I cat /sys/class/pcmcia_socket/pcmcia_socket0/cis
> 
> So I assume it does load the CIS file.

Can you check the result of
diff /sys/class/pcmcia_socket/pcmcia_socket0/cis /lib/firmware/SW_7xx_SER.cis

Most probably it is different -- which means that the firmware didn't get
loaded. This part of /etc/pcmcia/config.opts isn't read by pcmciautils --
matching of devices and drivers as well as determing which CIS override is
needed is decided by the kernel.

> But no extra serial port shows up (in dmesg), which should IIRC.
> (I used the card long time ago on my (dead) vaio notebook). It was easy
> to set up back then with this manual (sorry for the lengthy url):
>
> With minicom I can't talk to ttyS{0-4}, so it seems not to be available.

That's because the kernel lacks knowledge of the device. Can you apply the
patch below to your kernel tree and recompile?

> Btw, I bought a Conceptronic PCMCIA to PCI card. Would it be useful to
> try instead of the onboard PCMCIA slot? If it would, I'd still like to
> get the onboard one working, as these Epia boards are quite populair
> among Linux users.

This won't make a difference.

Now, about the script (if the firmware still differs even with this new
kernel):

<snip>
#!/bin/sh

/sbin/pcmcia-socket-startup
cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis

<snip>

Greetings,
	Dominik


Add new ID to serial_cs.c; the CIS fimware override is available by the
manufactor at http://www.sierrawireless.com . Remember to name the CIS
binary SW_7xx_SER.cis and to put it into /lib/firmware/

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc1-git1/drivers/serial/serial_cs.c
===================================================================
--- 2.6.14-rc1-git1.orig/drivers/serial/serial_cs.c
+++ 2.6.14-rc1-git1/drivers/serial/serial_cs.c
@@ -784,6 +784,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "MT5634ZLX.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "COMpad2.cis"),

From jongk at linux-m68k.org  Thu Sep 15 16:23:10 2005
From: jongk at linux-m68k.org (Kars de Jong)
Date: Thu Sep 15 16:49:20 2005
Subject: kernel 2.6.13 - socket driver set_io_map() no longer called?
Message-ID: <1126815790.7615.25.camel@kars.perseus.home>

Hello everyone,


I wrote a socket driver for my Amiga 1200 PCMCIA socket a long time ago,
but never got it included in the mainstream kernel yet. I adapted it to
the 2.6 model at the beginning of this year and had it working OK with
kernel version 2.6.8.1.

Now I am trying to get it to work with 2.6.13, but I can't seem to get
it to behave.

The driver is of type SS_CAP_STATIC_MAP, but (and this is different from
all other "static" drivers) the io_offset field is 0.

This is because, depending on the map type, 8-bit accesses to odd I/O
ports need to be done using a different io_offset. So this is handled at
a lower level (in inb() / outb() and friends).

Compared to 2.6.8.1, I have set the resource_ops field to
&pccard_static_ops.

I have noticed that my set_io_map() function no longer gets called. This
is a problem, because I need to set up some offsets based on the I/O map
type requested (MAP_16BIT, MAP_AUTOSZ etc.).

There are other "static" socket drivers (with io_offset != 0) which
provide a set_io_map() function which doesn't get called anymore either
(probably, looking at the code in, for example,
drivers/pcmcia/soc_common.c, not a good thing!).

Also, I think the code in drivers/pcmcia/pcmcia_resource.c: needs to
handle io_offset == 0 differently. Now it ends up calling
pcmcia_find_io_region() which returns NULL when the pccard_static_ops
resource manager is used, which in turn causes alloc_io_space() to fail.

I hope the above makes any sense. If not, please let me know so I can
hopefully clarify what I mean.


Kind regards,

Kars.



From bregor at sf.anu.edu.au  Thu Sep 15 21:17:06 2005
From: bregor at sf.anu.edu.au (Roger W. Brown)
Date: Thu Sep 15 21:18:02 2005
Subject: Buggy-Bios report: Linux-2.6.13
Message-ID: <200509161117.06494.bregor@sf.anu.edu.au>


As per the instructions at
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

I hope this is what was requested.

Cheers,
                 Roger Brown
========================
Ref:  Linux-2.6.13  built from source.
HP-Pavilion zd8004ap

Sep 14 12:50:36 aegis kernel: ath0: Use hw queue 2 for WME_AC_VI traffic
Sep 14 12:50:36 aegis kernel: ath0: Use hw queue 3 for WME_AC_VO traffic
Sep 14 12:50:36 aegis kernel: ath0: Atheros 5212: mem=0x22000000, irq=16
Sep 14 12:55:51 aegis kernel: ACPI: PCI interrupt for device 0000:0c:00.0 disabled
Sep 14 12:55:51 aegis kernel: PCMCIA: socket d4be682c: *** DANGER *** unable to remove socket power

 BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
 BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000d8000 - 00000000000e0000 (reserved)
 BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001fef0000 (usable)
 BIOS-e820: 000000001fef0000 - 000000001fef9000 (ACPI data)
 BIOS-e820: 000000001fef9000 - 000000001ff00000 (ACPI NVS)
 BIOS-e820: 000000001ff00000 - 0000000020000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)

bash-3.00# cat /proc/iomem
00000000-0009f3ff : System RAM
0009f400-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cffff : Video ROM
000d0000-000d0fff : Adapter ROM
000d8000-000dffff : reserved
000f0000-000fffff : System ROM
00100000-1feeffff : System RAM
  00100000-002dea65 : Kernel code
  002dea66-003b0c27 : Kernel data
1fef0000-1fef8fff : ACPI Tables
1fef9000-1fefffff : ACPI Non-volatile Storage
1ff00000-1fffffff : reserved
20000000-21ffffff : PCI Bus #0b
  20000000-21ffffff : PCI CardBus #0c
22000000-23ffffff : PCI CardBus #0c
  22000000-2200ffff : 0000:0c:00.0
    22000000-2200ffff : ath
c8000000-c80003ff : 0000:00:1d.7
  c8000000-c80003ff : ehci_hcd
c8000400-c80004ff : 0000:00:1e.2
  c8000400-c80004ff : ich_audio MBBAR
c8000800-c80009ff : 0000:00:1e.2
  c8000800-c80009ff : ich_audio MMBAR
c8100000-c81fffff : PCI Bus #01
  c8100000-c810ffff : 0000:01:00.0
  c8120000-c813ffff : 0000:01:00.0
c8200000-c82fffff : PCI Bus #0b
  c8200000-c8203fff : 0000:0b:00.2
  c8204000-c8205fff : 0000:0b:00.3
  c8206000-c8207fff : 0000:0b:03.0
  c8208000-c82087ff : 0000:0b:00.2
  c8208800-c82088ff : 0000:0b:00.4
  c8208c00-c8208cff : 0000:0b:00.4
  c8209000-c82090ff : 0000:0b:00.4
  c8209400-c82094ff : 0000:0b:02.0
    c8209400-c82094ff : 8139too
  c820a000-c820afff : 0000:0b:00.0
    c820a000-c820afff : yenta_socket
d0000000-d7ffffff : PCI Bus #01
  d0000000-d7ffffff : 0000:01:00.0
fec00000-fec0ffff : reserved
ff000000-ffffffff : reserved

0b:00.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
        Subsystem: Hewlett-Packard Company Unknown device 3082
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 168, Cache Line Size 20
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at c820a000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=0b, secondary=0c, subordinate=0f, sec-latency=176
        Memory window 0: 20000000-21fff000 (prefetchable)
        Memory window 1: 22000000-23fff000
        I/O window 0: 00005400-000054ff
        I/O window 1: 00005800-000058ff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
        16-bit legacy interface ports at 0001



From sander at humilis.net  Fri Sep 16 00:16:21 2005
From: sander at humilis.net (Sander)
Date: Fri Sep 16 00:16:58 2005
Subject: pcmciautils-009 doesn't compile;
	make: *** [src/yacc_config.o] Error 1
In-Reply-To: <20050915195147.GB7292@isilmar.linta.de>
References: <20050915091341.GA12012@favonius>
	<20050915195147.GB7292@isilmar.linta.de>
Message-ID: <20050916041621.GA30741@favonius>

Dominik Brodowski wrote (ao):
> Could you try out the attached patch, please?

The patch fixes the compile error indeed. Thank you :-)

I do get these warnings, which might or might not be worth anything:

y.tab.c: In function 'yyparse':
y.tab.c:1024: warning: implicit declaration of function 'yylex'
src/lex_config.l: In function 'get_glob':
src/lex_config.l:131: warning: comparison between signed and unsigned
src/lex_config.l: In function 'parse_configfile':
src/lex_config.l:217: warning: implicit declaration of function 'yyparse'
src/lex_config.l: At top level:
<stdout>:1177: warning: 'yyunput' defined but not used

> Simply set "V=true" in the Makefile in the top directory, then the
> eyecandy will go away and "normal" build output will appear.

Thanks :-)

	Sander

-- 
Humilis IT Services and Solutions
http://www.humilis.net

From sander at humilis.net  Fri Sep 16 01:00:47 2005
From: sander at humilis.net (Sander)
Date: Fri Sep 16 01:01:54 2005
Subject: Sierra Wireless CIS [Was: Re: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power]
In-Reply-To: <20050915202011.GA14035@isilmar.linta.de>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
	<20050914112145.GA28246@favonius>
	<20050915202011.GA14035@isilmar.linta.de>
Message-ID: <20050916050047.GB30741@favonius>

Dominik Brodowski wrote (ao):
> On Wed, Sep 14, 2005 at 01:21:46PM +0200, Sander wrote:
> > What is the status of pcmciautils anyway? The number suggest alpha.
> 
> It is indeed quite new; however there aren't that many bugreports
> (fortunately) even though it already is part of some distributions.

And there I thought Debian Unstable was quick to adapt ;-)

> > Aha, ic. The thing is though that this is a basic fileserver. I would
> > love not to have to use hotplug. Is that doable? I think it should be,
> > but correct me if I'm wrong.
> > There is not going to be any plugging of the card anyway.
> 
> Yes, it's possible. One option is using udev -- Fedora/Redhat already does
> that, I hope to be able to fully integrate this into the next pcmciautils
> release. Another option is to use a custom script; for more information see
> below.

I'd rather not use udev too. Populated /dev just seems much more robust
to me, which is of course good for servers.

> Can you check the result of
> diff /sys/class/pcmcia_socket/pcmcia_socket0/cis /lib/firmware/SW_7xx_SER.cis
> 
> Most probably it is different -- which means that the firmware didn't get
> loaded. This part of /etc/pcmcia/config.opts isn't read by pcmciautils --

It is different indeed:
Binary files /sys/class/pcmcia_socket/pcmcia_socket0/cis and /lib/firmware/SW_7xx_SER.cis differ

> matching of devices and drivers as well as determing which CIS override is
> needed is decided by the kernel.
 
> > With minicom I can't talk to ttyS{0-4}, so it seems not to be available.
> 
> That's because the kernel lacks knowledge of the device. Can you apply the
> patch below to your kernel tree and recompile?

> Now, about the script (if the firmware still differs even with this new
> kernel):
> 
> <snip>
> #!/bin/sh
> 
> /sbin/pcmcia-socket-startup
> cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis

It seems to have done something. I patched the kernel:

$ grep -r "Sierra Wireless" *
drivers/serial/serial_cs.c:     PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */

And did boot the new kernel:
# uname -a
Linux silo1 2.6.13-mm3 #1 Fri Sep 16 06:28:31 CEST 2005 i686 GNU/Linux

After modprobe and /sbin/pcmcia-socket-startup diff reports
that the files are different.
/sbin/pcmcia-socket-startup took a few seconds btw.

And cat:
# cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis 
# diff /sys/class/pcmcia_socket/pcmcia_socket0/cis /lib/firmware/SW_7xx_SER.cis 
Binary files /sys/class/pcmcia_socket/pcmcia_socket0/cis and /lib/firmware/SW_7xx_SER.cis differ

But there is something there:
# cat /sys/class/pcmcia_socket/pcmcia_socket0/cis > /tmp/cis

# file /lib/firmware/SW_7xx_SER.cis /tmp/cis 
/lib/firmware/SW_7xx_SER.cis: PDP-11 UNIX/RT ldp
/tmp/cis:                     PDP-11 UNIX/RT ldp

# ls -l /lib/firmware/SW_7xx_SER.cis /tmp/cis 
-rw-r--r--  1 root root 140 Sep  9 15:07 /lib/firmware/SW_7xx_SER.cis
-rw-r--r--  1 root root 138 Sep 16 06:49 /tmp/cis

A 2 byte difference. Does that help?

I'll install the Conceptronic PCMCIA to PCI card in a different
system and set up old-style pcmcia just for kicks. Let me know
if I can pull useful information out of that setup.

Thanks!

	Sander

-- 
Humilis IT Services and Solutions
http://www.humilis.net

From linux at dominikbrodowski.net  Fri Sep 16 01:19:14 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Fri Sep 16 01:19:53 2005
Subject: pcmciautils-009 doesn't compile;
	make: *** [src/yacc_config.o] Error 1
In-Reply-To: <20050916041621.GA30741@favonius>
References: <20050915091341.GA12012@favonius>
	<20050915195147.GB7292@isilmar.linta.de>
	<20050916041621.GA30741@favonius>
Message-ID: <20050916051914.GA9424@isilmar.linta.de>

Hi,

On Fri, Sep 16, 2005 at 06:16:21AM +0200, Sander wrote:
> Dominik Brodowski wrote (ao):
> > Could you try out the attached patch, please?
> 
> The patch fixes the compile error indeed. Thank you :-)

Thanks for testing. I've merged it into what will become pcmciautils-010
quite soon.

	Dominik

From sander at humilis.net  Fri Sep 16 01:26:40 2005
From: sander at humilis.net (Sander)
Date: Fri Sep 16 01:27:21 2005
Subject: [PATCH] http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
Message-ID: <20050916052640.GC30741@favonius>

This patch updates
http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

It removes the "VIA EPIA M-II 10K board" listing in the "Known problems"
section.

The problem doens't exist on my Epia M-II 10000, and the report the link
points to is almost a year old. Also, because the cause is not clear (or
even "a complete mystery" according to the site ;-) it might very well
be that the problem 'just' got solved in the mean time.

It also removes the first entry which was not reproducible, and thus
doesn't add anything. It is 19 months old with a dito kernel too.

Please apply if you agree.

	With kind regards, Sander


--- pcmcia.html.orig	2005-09-16 07:07:21.683622884 +0200
+++ pcmcia.html	2005-09-16 07:24:56.122975830 +0200
@@ -81,11 +81,6 @@
    <th>Machine</th>
    <th>Bridge</th>
    <th>Comment</th>
-  </th>
-  <tr>
-   <td><a href="http://lists.infradead.org/pipermail/linux-pcmcia/2004-February/000511.html">Unknown machine</a></td>
-   <td>Ricoh Co Ltd RL5c475 (rev 80)</td>
-   <td>(went away after reboot)</td>
   </tr>
   <tr>
    <td><a href="http://lists.infradead.org/pipermail/linux-pcmcia/2004-April/000792.html">Unknown machine</a></td>
@@ -111,10 +106,6 @@
    <td><a href="http://lists.infradead.org/pipermail/linux-pcmcia/2004-October/001143.html">Packard Bell "i go"</a></td>
    <td>TI PCI1250</td>
    <td>We know that this bridge does work on other laptops.</td>
-  <tr>
-   <td><a href="http://lists.infradead.org/pipermail/linux-pcmcia/2004-October/001162.html">VIA EPIA M-II 10K board</a></td>
-   <td>Ricoh Co Ltd RL5c476 II (rev 80)</td>
-   <td>&nbsp;</td>
   </tr>
  </table>
 <p>

From zoz at suse.de  Fri Sep 16 03:16:45 2005
From: zoz at suse.de (Christian Zoz)
Date: Fri Sep 16 05:19:18 2005
Subject: ide_cs and Ninja ATA
Message-ID: <20050916071645.GZ8524@suse.de>

Hi,

in ide_cs.c there is a line for Ninja ATA devices
  PCMCIA_DEVICE_PROD_ID12(" ", "NinjaATA-", 0x3b6e20c8, 0xebe0bd79),
But there are also devices with empty prod_id1. We could either add
another device line
  PCMCIA_DEVICE_PROD_ID12("", "NinjaATA-", 0x0, 0xebe0bd79),
Or (better) replace the old with
  PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),

Can somebody please change this?

-- 

ciao, christian

?????????????

From Larry.Finger at lwfinger.net  Fri Sep 16 09:00:23 2005
From: Larry.Finger at lwfinger.net (Larry W. Finger)
Date: Fri Sep 16 09:01:00 2005
Subject: Problem with Wifi card in 2.6.14-rc1
Message-ID: <6.2.3.4.2.20050915205239.02088ee0@ipostoffice.worldnet.att.net>

I have been using a Linksys WPC54G wifi card with ndiswrapper since 
2.6.5. When I downloaded and built 2.6.14-rc1, the card no longer 
works. The problem is the same with or without "route=pcirq". One 
thing I noticed is that the memory assigned to the PCI system in 
general, and the cardbus bridge in particular has changed. The 
differences between the 2.6.13 and 2.6.14-rc1 output from dmesg that 
seem to be important include the following:

--- /dose/dmesg.13	2005-09-15 19:14:26.000000000 -0500
+++ /dose/dmesg.14rc1	2005-09-15 19:20:55.000000000 -0500
@@ -19,7 +19,7 @@

-Allocating PCI resources starting at 24000000 (gap: 24000000:dbf80000)
+Allocating PCI resources starting at 30000000 (gap: 24000000:dbf80000)

@@ -79,23 +79,23 @@
  PCI: Using ACPI for IRQ routing
  PCI: If a device doesn't work, try "pci=routeirq".  If it helps, 
post a report
  PCI: Cannot allocate resource region 0 of device 0000:00:0a.0
+pnp: 00:06: ioport range 0x1600-0x167f has been reserved
+pnp: 00:06: ioport range 0x2c8-0x2cf has been reserved
+pnp: 00:06: ioport range 0x4d0-0x4d1 has been reserved
+pnp: 00:06: ioport range 0x1000-0x105f could not be reserved
  PCI: Bridge: 0000:00:01.0
    IO window: c000-dfff
    MEM window: e0000000-efffffff
    PREFETCH window: 90000000-9fffffff
  PCI: Bus 2, cardbus bridge: 0000:00:0a.0
-  IO window: 00001400-000015ff
-  IO window: 00001800-000019ff
-  PREFETCH window: 24000000-25ffffff
-  MEM window: 26000000-27ffffff
+  IO window: 00002000-00002fff
+  IO window: 00003000-00003fff
+  PREFETCH window: 30000000-31ffffff
+  MEM window: 32000000-33ffffff
  PCI: Setting latency timer of device 0000:00:01.0 to 64
  ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
  PCI: setting IRQ 11 as level-triggered
  ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 11 
(level, low) -> IRQ 11
-pnp: 00:06: ioport range 0x1600-0x167f has been reserved
-pnp: 00:06: ioport range 0x2c8-0x2cf has been reserved
-pnp: 00:06: ioport range 0x4d0-0x4d1 has been reserved
-pnp: 00:06: ioport range 0x1000-0x105f could not be reserved
  Simple Boot Flag at 0x37 set to 0x1
  Machine check exception polling timer started.
  Initializing Cryptographic API
@@ -171,30 +171,30 @@
  Yenta: CardBus bridge found at 0000:00:0a.0 [103c:0022]
  Yenta O2: res at 0x94/0xD4: 00/ea
  Yenta O2: enabling read prefetch/write burst
  Yenta: ISA IRQ mask 0x0038, PCI irq 11
  Socket status: 30000821
-ndiswrapper: driver lsbcmnds (The Linksys Group, Inc.,07/17/2003, 
3.30.15.0) loaded
-PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
-ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, 
low) -> IRQ 11
-PCI: Setting latency timer of device 0000:02:00.0 to 64
-ndiswrapper: using irq 11
-wlan0: ndiswrapper ethernet device 00:06:25:40:6f:03 using driver 
lsbcmnds, configuration file 14E4:4320:1737:4320.5.conf
-wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
  USB Universal Host Controller Interface driver v2.3
+ndiswrapper: driver lsbcmnds (The Linksys Group, Inc.,07/17/2003, 
3.30.15.0) loaded
  ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
  ACPI: PCI Interrupt 0000:00:11.2[D] -> Link [LNKD] -> GSI 11 
(level, low) -> IRQ 11
-uhci_hcd 0000:00:11.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 
Controller
+uhci_hcd 0000:00:11.2: UHCI Host Controller
  uhci_hcd 0000:00:11.2: new USB bus registered, assigned bus number 1
  uhci_hcd 0000:00:11.2: irq 11, io base 0x00001200
  hub 1-0:1.0: USB hub found
  hub 1-0:1.0: 2 ports detected
+PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
+ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, 
low) -> IRQ 11
+PCI: Setting latency timer of device 0000:02:00.0 to 64
+ndiswrapper: using irq 11
+wlan0: ndiswrapper ethernet device 00:06:25:40:6f:03 using driver 
lsbcmnds, configuration file 14E4:4320:1737:4320.5.conf
+wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
@@ -210,6 +210,8 @@
  ACPI: Processor [CPU0] (supports 8 throttling states)
  ACPI: Thermal Zone [THRM] (78 C)
  powernow: PowerNOW! Technology present. Can scale: frequency and voltage.
-Detected 1100.201 MHz processor.
-powernow: SGTC: 10000
-powernow: Minimum speed 500 MHz. Maximum speed 1100 MHz.
+Detected 2366.570 MHz processor.
+powernow: No PST tables match this cpuid (0x771)
+powernow: This is indicative of a broken BIOS.
+powernow: Trying ACPI perflib
+powernow: Minimum speed 1075 MHz. Maximum speed 2366 MHz.

A report on the incorrect CPU frequency has been submitted to bugzilla.

The sections of lspci -vvv relating to the cardbus bridge and the 
wifi card are:

0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller
	Subsystem: Hewlett-Packard Company: Unknown device 0022
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 34000000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: 30000000-31fff000 (prefetchable)
	Memory window 1: 32000000-33fff000
	I/O window 0: 00002000-00002fff
	I/O window 1: 00003000-00003fff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

0000:02:00.0 Network controller: Broadcom Corporation BCM4306 
802.11b/g Wireless LAN Controller (rev 02)
	Subsystem: Linksys WPC54G
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
	Latency: 64
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 32000000 (32-bit, non-prefetchable)
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=2 PME+

What other information would be helpful?

Larry


From jav58 at hotmail.com  Fri Sep 16 10:12:44 2005
From: jav58 at hotmail.com (jose' ventura)
Date: Fri Sep 16 10:17:41 2005
Subject: (no subject)
Message-ID: <BAY101-F94AC750ACE77099FB5526BF910@phx.gbl>

Hello,
I would like to know if you can help me configure a linksys WPC54G ver. 2 
wireless internet card on a computer running SUSE 9.1. I posted my request 
on a forum and a person told me what to do but then when I tried installing 
one of the drivers with NDISWRAPPER I would get a message that said invalid 
driver, I posted that on the forum and the person replied to me and told me 
this (please note that the transcript of the Shell prompt is mine):

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Jose,

At 08:00 AM 9/16/2005, you wrote:
	 	0000:02:00.0 Network controller: Texas Instruments: Unknown device 9066
       Subsystem: Linksys: Unknown device 0033
       Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
       Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
       Interrupt: pin A routed to IRQ 11
       Region 0: Memory at 1e820000 (32-bit, non-prefetchable)
       Region 1: Memory at 1e800000 (32-bit, non-prefetchable) [size=128K]
       Capabilities: [40] Power Management version 2
               Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-

If your card really is a Linksys WPC54G, then your cardbus bridge is not 
functioning correctly as you can see by comparing my lspci output with yours

I'm afraid that I have reached the limits of my knowledge. You should send 
the dmesg and lspci -vvv outputs to linux-pcmcia@lists.infradead.org. I 
think you might have a problem with pcmcia configuration, not with 
ndiswrapper.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

here is my output on the wireless card whenever I type the command dmesg:

eth0: no IPv6 routers present
acx100_pci: module not supported by Novell, setting U taint flag.
acx100: It looks like you were coaxed into buying a wireless network card
acx100: that uses the mysterious ACX100 chip from Texas Instruments.
acx100: You should better have bought e.g. a PRISM(R) chipset based card,
acx100: since that would mean REAL vendor Linux support.
acx100: Given this info, it's evident that this driver is quite 
EXPERIMENTAL,
acx100: thus your mileage may vary. Visit http://acx100.sf.net for support.
acx100_init_module: TI acx100_pci.o: Ver 0.2.0pre6 Loaded
acx100_init_module: dev_info is: TI acx100_pci
PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:02:00.0 to 64
acx100_probe_pci: WARNING: ACX111 support is highly experimental!
Found ACX100-based wireless network card, phymem1:0x1e820000, 
phymem2:0x1e800000, irq:11, mem1:0xe0960000, mem1_size:8192, 
mem2:0xe0963000, mem2_size:131072 compiled with wireless extensions v16
acx100_probe_pci: using acx111 io resource adresses (size: 96)
hw_unavailable = 1
acx100_probe_pci: EEPROM card ID string check found uninitialised card ID: 
this is a SpeedStream SS1021 or Gigafast WF721-AEX, no??
reset hw_unavailable++
acx100_reset_mac: enable soft reset...
acx100_reset_mac: disable soft reset and go to init mode...
ERROR: no directory for firmware file specified, ABORTING. Make sure to set 
module parameter 'firmware_dir'! (specified as absolute path!)
acx100_reset_dev: Failed to upload firmware to the ACX111
acx100_probe_pci: TI acx100_pci: MAC initialize failure!
acx100_pci: probe of 0000:02:00.0 failed with error -5
chichenitza@rn102253:~>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++



I hope you can help me fix this problem, in case I cant make this card work 
are there any Belkin cards that work right out of the box on linux? I there 
is can you please tell me which one it is ( I heard that the F5D6020 works 
out of the box) If this is the case maybe I can return my WPC54G and get 
that one.

please let me know if you need any more information from me

                                  thanks,
                                  Jose V.



From linux at dominikbrodowski.net  Fri Sep 16 10:22:31 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Fri Sep 16 10:23:31 2005
Subject: (no subject)
In-Reply-To: <BAY101-F94AC750ACE77099FB5526BF910@phx.gbl>
References: <BAY101-F94AC750ACE77099FB5526BF910@phx.gbl>
Message-ID: <20050916142231.GA25799@isilmar.linta.de>

Hi Jose,

On Fri, Sep 16, 2005 at 02:12:44PM +0000, jose' ventura wrote:
> If your card really is a Linksys WPC54G, then your cardbus bridge is not 
> functioning correctly as you can see by comparing my lspci output with yours
lspci output changes are quite common.

> acx100_pci: module not supported by Novell, setting U taint flag.
							^^^^^^^^^^
If you use such a driver, you cannot expect support.

> acx100: that uses the mysterious ACX100 chip from Texas Instruments.
> acx100: You should better have bought e.g. a PRISM(R) chipset based card,
> acx100: since that would mean REAL vendor Linux support.
> acx100: Given this info, it's evident that this driver is quite 
> EXPERIMENTAL,
> acx100: thus your mileage may vary. Visit http://acx100.sf.net for support.
> acx100_init_module: TI acx100_pci.o: Ver 0.2.0pre6 Loaded
> acx100_init_module: dev_info is: TI acx100_pci
> PCI: Enabling device 0000:02:00.0 (0000 -> 0002)
> ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 11 (level, low) -> IRQ 11
> PCI: Setting latency timer of device 0000:02:00.0 to 64
> acx100_probe_pci: WARNING: ACX111 support is highly experimental!
> Found ACX100-based wireless network card, phymem1:0x1e820000, 
> phymem2:0x1e800000, irq:11, mem1:0xe0960000, mem1_size:8192, 
> mem2:0xe0963000, mem2_size:131072 compiled with wireless extensions v16
> acx100_probe_pci: using acx111 io resource adresses (size: 96)

This all sounds like the device is set up correctly. So it really doesn't
look to be a PCMCIA or CardBus problem. However,

> ERROR: no directory for firmware file specified, ABORTING. Make sure to set 
> module parameter 'firmware_dir'! (specified as absolute path!)

it needs some firmware which you need to set up correctly. Most probably the
documentation you can find at acx100.sf.net tells you how to do that.


From proski at gnu.org  Sat Sep 17 01:49:00 2005
From: proski at gnu.org (Pavel Roskin)
Date: Sat Sep 17 01:50:02 2005
Subject: bind and unbind from userspace
Message-ID: <1126936140.22846.52.camel@dv>

Hello!

Suppose there are two drivers capable of supporting the same device
(real life example: orinoco_cs and hostap_cs).  Suppose they are linked
into the kernel, which assumes that the generic pcmcia code is linked
too.  Suppose we have a user who wants to chose between two drivers.

I believe the right way to switch the driver would be:

echo 1 > /sys/bus/pcmcia/devices/0.0/driver/unbind
echo 1 > /sys/bus/pcmcia/drivers/hostap_cs/bind

The first command (unbind) is not working right now.  There are no error
messages in the kernel log.  sysfs still indicated that orinoco_cs is
bound.  Before I start debugging the kernel, I'd like to know if this
behavior is intentional by any chance.

I'm using up-to-date kernel from git.

-- 
Regards,
Pavel Roskin


From linux at dominikbrodowski.net  Sat Sep 17 05:10:03 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 05:10:55 2005
Subject: bind and unbind from userspace
In-Reply-To: <1126936140.22846.52.camel@dv>
References: <1126936140.22846.52.camel@dv>
Message-ID: <20050917091003.GA1522@isilmar.linta.de>

Hi,

On Sat, Sep 17, 2005 at 01:49:00AM -0400, Pavel Roskin wrote:
> Suppose there are two drivers capable of supporting the same device
> (real life example: orinoco_cs and hostap_cs).  Suppose they are linked
> into the kernel, which assumes that the generic pcmcia code is linked
> too.  Suppose we have a user who wants to chose between two drivers.
> 
> I believe the right way to switch the driver would be:
> 
> echo 1 > /sys/bus/pcmcia/devices/0.0/driver/unbind
> echo 1 > /sys/bus/pcmcia/drivers/hostap_cs/bind

Actually, the interface is a bit different: to switch the driver for the
PCMCIA device "0.0" you need to do

echo -n "0.0" > /sys/bus/pcmcia/devices/0.0/driver/unbind
echo -n "0.0" > /sys/bus/pcmcia/drivers/hostap_cs/bind

as you need to tell which device to unbind from and which device to bind to.

> The first command (unbind) is not working right now.  There are no error
> messages in the kernel log.  sysfs still indicated that orinoco_cs is
> bound.  Before I start debugging the kernel, I'd like to know if this
> behavior is intentional by any chance.
> 
> I'm using up-to-date kernel from git.

Just tested the behaviour with the PCMCIA changes in -mm (and with only one
driver, as I only have one working PCMCIA card, which is a pcnet_cs one...),
and it seems to work just fine. If this is also working correctly with
Linus' latest, I do not know, though.

	Dominik

From linux at dominikbrodowski.net  Sat Sep 17 05:17:56 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 05:18:27 2005
Subject: ide_cs and Ninja ATA
In-Reply-To: <20050916071645.GZ8524@suse.de>
References: <20050916071645.GZ8524@suse.de>
Message-ID: <20050917091756.GC1522@isilmar.linta.de>

Hi,

On Fri, Sep 16, 2005 at 09:16:45AM +0200, Christian Zoz wrote:
> Hi,
> 
> in ide_cs.c there is a line for Ninja ATA devices
>   PCMCIA_DEVICE_PROD_ID12(" ", "NinjaATA-", 0x3b6e20c8, 0xebe0bd79),
> But there are also devices with empty prod_id1. We could either add
> another device line
>   PCMCIA_DEVICE_PROD_ID12("", "NinjaATA-", 0x0, 0xebe0bd79),
> Or (better) replace the old with
>   PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),
> 
> Can somebody please change this?

Thanks, patch (also attached) is in my queue.

	Dominik


Christian Zoz reported there are multiple NinjaATA devices all sharing the
second product ID string, but not the first one.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc1-git2/drivers/ide/legacy/ide-cs.c
===================================================================
--- 2.6.14-rc1-git2.orig/drivers/ide/legacy/ide-cs.c
+++ 2.6.14-rc1-git2/drivers/ide/legacy/ide-cs.c
@@ -437,7 +437,7 @@ static struct pcmcia_device_id ide_ids[]
 	PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149),
 	PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDEII", 0x547e66dc, 0xb3662674),
 	PCMCIA_DEVICE_PROD_ID12("LOOKMEET", "CBIDE2      ", 0xe37be2b5, 0x8671043b),
-	PCMCIA_DEVICE_PROD_ID12(" ", "NinjaATA-", 0x3b6e20c8, 0xebe0bd79),
+	PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),
 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
 	PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
 	PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),

From jar at pcuf.fi  Sat Sep 17 05:52:16 2005
From: jar at pcuf.fi (Jar)
Date: Sat Sep 17 05:52:55 2005
Subject: bind and unbind from userspace
In-Reply-To: <1126936140.22846.52.camel@dv>
References: <1126936140.22846.52.camel@dv>
Message-ID: <1088.192.168.0.150.1126950736.squirrel@kone>


> Suppose there are two drivers capable of supporting the same device
> (real life example: orinoco_cs and hostap_cs).  Suppose they are linked
> into the kernel, which assumes that the generic pcmcia code is linked
> too.  Suppose we have a user who wants to chose between two drivers.
>
> I believe the right way to switch the driver would be:
>
> echo 1 > /sys/bus/pcmcia/devices/0.0/driver/unbind
> echo 1 > /sys/bus/pcmcia/drivers/hostap_cs/bind

This seems a litle bit complicated (where to put these commands? How to automate
this?) for ordiray user to do. So in practice "ordiray user" who just plugs Prism
card in always ends up to use orinoco_cs although he actually should use hostap_cs
for better performance?

The selection between hostap_pci and orinoco_pci is easier. Jus put orinoco_pci to
the /etc/hotplug/blacklist (the file already exists). Could this kind of blacklist
be usefull for pcmcia cards also?

-- 
Best Regards, Jar

From rpurdie at rpsys.net  Sat Sep 17 08:08:19 2005
From: rpurdie at rpsys.net (Richard Purdie)
Date: Sat Sep 17 08:09:17 2005
Subject: Problems with ide_cs + pcmcia suspend changes
Message-ID: <1126958899.8230.10.camel@localhost.localdomain>

I've been trying to use 2.6.13-mm3 and 2.6.14-rc1-mm1 on the Sharp
Zaurus devices and have noticed some problems with ide_cs.

These devices support suspend to memory. When I do this, upon resume I
see messages like this:

hda: status error: status=0x00 { }
ide: failed opcode was: unknown
[repeat x4]
ide0: reset: master: error (0x00?)

after which the ide_cs devices stop working. This is particularly
problematic when your rootfs is on a CF microdrive :). I see the same
thing with CF memory cards.

I know there have been pcmcia suspend changes. Can you think of anything
that's changed that would cause this? Is it possible the ide devices are
being resumed before pcmcia?

I'll try and investigate further...

Richard


From linux at dominikbrodowski.net  Sat Sep 17 08:44:38 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 08:45:17 2005
Subject: bind and unbind from userspace
In-Reply-To: <1088.192.168.0.150.1126950736.squirrel@kone>
References: <1126936140.22846.52.camel@dv>
	<1088.192.168.0.150.1126950736.squirrel@kone>
Message-ID: <20050917124438.GA9429@isilmar.linta.de>

Hi,

On Sat, Sep 17, 2005 at 12:52:16PM +0300, Jar wrote:
> This seems a litle bit complicated (where to put these commands? How to automate
> this?) for ordiray user to do. So in practice "ordiray user" who just plugs Prism
> card in always ends up to use orinoco_cs although he actually should use hostap_cs
> for better performance?
> 
> The selection between hostap_pci and orinoco_pci is easier. Jus put orinoco_pci to
> the /etc/hotplug/blacklist (the file already exists). Could this kind of blacklist
> be usefull for pcmcia cards also?

No. /etc/hotplug/blacklist complicates stuff largely, and is not used by the
hotplug scripts for the MODALIAS-based loading of modules. Either you should
add something appropriate to /etc/modules.d/ , or you should only build one of
these two drivers.

	Dominik

From linux at dominikbrodowski.net  Sat Sep 17 08:45:55 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 08:46:22 2005
Subject: [PATCH]
	http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
In-Reply-To: <20050916052640.GC30741@favonius>
References: <20050916052640.GC30741@favonius>
Message-ID: <20050917124555.GB9429@isilmar.linta.de>

Hi,

On Fri, Sep 16, 2005 at 07:26:40AM +0200, Sander wrote:
> This patch updates
> http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
> 
> It removes the "VIA EPIA M-II 10K board" listing in the "Known problems"
> section.

Applied, thanks. I've also updated the documentation by much; but will not
be able to publish it until tomorrow because of master.kernel.org being
offline.

	Dominik

From linux at dominikbrodowski.net  Sat Sep 17 08:50:51 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 08:51:41 2005
Subject: kernel 2.6.13 - socket driver set_io_map() no longer called?
In-Reply-To: <1126815790.7615.25.camel@kars.perseus.home>
References: <1126815790.7615.25.camel@kars.perseus.home>
Message-ID: <20050917125051.GC9429@isilmar.linta.de>

Hi,

On Thu, Sep 15, 2005 at 10:23:10PM +0200, Kars de Jong wrote:
> I wrote a socket driver for my Amiga 1200 PCMCIA socket a long time ago,
> but never got it included in the mainstream kernel yet. I adapted it to
> the 2.6 model at the beginning of this year and had it working OK with
> kernel version 2.6.8.1.

Can you share the source with us?

> The driver is of type SS_CAP_STATIC_MAP, but (and this is different from
> all other "static" drivers) the io_offset field is 0.

As all other in-kernel drivers did set io_offset, I missed this alternative
back when I introduced pccard_*_ops. As the MPC8xx socket driver just got
added to -mm, I first became aware of this issue, and still need to manage
it correctly.

> Compared to 2.6.8.1, I have set the resource_ops field to
> &pccard_static_ops.

As a workaround, you can simply switch to pccard_nonstatic_ops in the
meantime. pccard_static_ops is, for now, just a shortcut for the
common SS_CAP_STATIC_MAP and io_offset==0 case. Also, that's the workaround
used by the MPC8xx socket driver...

Can you send me a /proc/ioports output when a card is up and running in the
socket? Also, please send along a /etc/pcmcia/config.opts and tell me
whether all ports not marked as "used" in /proc/ioports can be made
available to PCMCIA.

Thanks,
	Dominik

From linux at dominikbrodowski.net  Sat Sep 17 09:07:35 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 09:08:16 2005
Subject: Sierra Wireless CIS [Was: Re: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power]
In-Reply-To: <20050916050047.GB30741@favonius>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
	<20050914112145.GA28246@favonius>
	<20050915202011.GA14035@isilmar.linta.de>
	<20050916050047.GB30741@favonius>
Message-ID: <20050917130735.GA30876@isilmar.linta.de>

On Fri, Sep 16, 2005 at 07:00:47AM +0200, Sander wrote:
> Dominik Brodowski wrote (ao):
> > On Wed, Sep 14, 2005 at 01:21:46PM +0200, Sander wrote:
> > > What is the status of pcmciautils anyway? The number suggest alpha.
> > 
> > It is indeed quite new; however there aren't that many bugreports
> > (fortunately) even though it already is part of some distributions.
> 
> And there I thought Debian Unstable was quick to adapt ;-)

Unfortunately, Debian has not picked it up yet...

> > /sbin/pcmcia-socket-startup
> > cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis
> 
> It seems to have done something. I patched the kernel:
> 
> $ grep -r "Sierra Wireless" *
> drivers/serial/serial_cs.c:     PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),  /* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
> 
> And did boot the new kernel:
> # uname -a
> Linux silo1 2.6.13-mm3 #1 Fri Sep 16 06:28:31 CEST 2005 i686 GNU/Linux
> 
> After modprobe and /sbin/pcmcia-socket-startup diff reports
> that the files are different.
> /sbin/pcmcia-socket-startup took a few seconds btw.
> 
> And cat:
> # cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis 
> # diff /sys/class/pcmcia_socket/pcmcia_socket0/cis /lib/firmware/SW_7xx_SER.cis 
> Binary files /sys/class/pcmcia_socket/pcmcia_socket0/cis and /lib/firmware/SW_7xx_SER.cis differ
> 
> But there is something there:
> # cat /sys/class/pcmcia_socket/pcmcia_socket0/cis > /tmp/cis
> 
> # file /lib/firmware/SW_7xx_SER.cis /tmp/cis 
> /lib/firmware/SW_7xx_SER.cis: PDP-11 UNIX/RT ldp
> /tmp/cis:                     PDP-11 UNIX/RT ldp
> 
> # ls -l /lib/firmware/SW_7xx_SER.cis /tmp/cis 
> -rw-r--r--  1 root root 140 Sep  9 15:07 /lib/firmware/SW_7xx_SER.cis
> -rw-r--r--  1 root root 138 Sep 16 06:49 /tmp/cis

can you hexdump -C both, and/or send both these files to me, please?

> A 2 byte difference. Does that help?
That's strange... I do not see this if I modify the CIS firmware on my
PCMCIA card.

Does anything get printed in dmesg? If you modprobe serial_cs (or is it
loaded by default?), does something happen? Can you "talk" to the devices
already?

	Dominik

From jar at pcuf.fi  Sat Sep 17 09:13:20 2005
From: jar at pcuf.fi (Jar)
Date: Sat Sep 17 09:14:02 2005
Subject: bind and unbind from userspace
In-Reply-To: <20050917124438.GA9429@isilmar.linta.de>
References: <1126936140.22846.52.camel@dv>
	<1088.192.168.0.150.1126950736.squirrel@kone>
	<20050917124438.GA9429@isilmar.linta.de>
Message-ID: <1241.192.168.0.150.1126962800.squirrel@kone>


> No. /etc/hotplug/blacklist complicates stuff largely, and is not used by the
> hotplug scripts for the MODALIAS-based loading of modules. Either you should
> add something appropriate to /etc/modules.d/ , or you should only build one of
> these two drivers.

OK. But how the Linux distros would handle this? Majority of Linux users are using
distro kernels. And usually all drivers are compiled as modules. I afraid that now
when the hostap is _finally_ in mainline, no one is actually using it because of
those same IDs --> the system automatically selects orinoco?

E.g. I have Prism cards ans Orinoco cards. I woud be good it the system would choose
hostap_cs for Prism cards and orinoco_cs for Orinoco cards automatically after the
card has been inserted. The drivers are not symmetrical, the orinoco_cs claims to
run also Prism based cards, but the hostap runs only Prism based cards (and do it
well). Why the same IDs?


-- 
Best Regards, Jar

From daniel.ritz at gmx.ch  Sat Sep 17 10:21:42 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Sat Sep 17 10:22:38 2005
Subject: [PATCH] pcmcia/yenta: add support for more TI bridges
Message-ID: <200509171621.43775.daniel.ritz@gmx.ch>

[PATCH] pcmcia/yenta: add support for more TI bridges

support some more TI cardbus bridges. most of them are multifunction devices
which adds 1394 controllers, smartcard readers etc. this could also help with
the various problems with the XX21 controllers seen on the linux-pcmcia list.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
--- a/drivers/pcmcia/ti113x.h
+++ b/drivers/pcmcia/ti113x.h
@@ -59,6 +59,7 @@
 
 #define  TI122X_SCR_SER_STEP		0xc0000000
 #define  TI122X_SCR_INTRTIE		0x20000000
+#define  TIXX21_SCR_TIEALL		0x10000000
 #define  TI122X_SCR_CBRSVD		0x00400000
 #define  TI122X_SCR_MRBURSTDN		0x00008000
 #define  TI122X_SCR_MRBURSTUP		0x00004000
@@ -618,6 +619,7 @@ static int ti12xx_2nd_slot_empty(struct 
 	int devfn;
 	unsigned int state;
 	int ret = 1;
+	u32 sysctl;
 
 	/* catch the two-slot controllers */
 	switch (socket->dev->device) {
@@ -640,6 +642,24 @@ static int ti12xx_2nd_slot_empty(struct 
 		 */
 		break;
 
+	case PCI_DEVICE_ID_TI_X515:
+	case PCI_DEVICE_ID_TI_X420:
+	case PCI_DEVICE_ID_TI_X620:
+	case PCI_DEVICE_ID_TI_XX21_XX11:
+	case PCI_DEVICE_ID_TI_7410:
+	case PCI_DEVICE_ID_TI_7610:
+		/*
+		 * those are either single or dual slot CB with additional functions
+		 * like 1394, smartcard reader, etc. check the TIEALL flag for them
+		 * the TIEALL flag binds the IRQ of all functions toghether.
+		 * we catch the single slot variants later.
+		 */
+		sysctl = config_readl(socket, TI113X_SYSTEM_CONTROL);
+		if (sysctl & TIXX21_SCR_TIEALL)
+			return 0;
+
+		break;
+
 	/* single-slot controllers have the 2nd slot empty always :) */
 	default:
 		return 1;
@@ -652,6 +672,15 @@ static int ti12xx_2nd_slot_empty(struct 
 	if (!func)
 		return 1;
 
+	/*
+	 * check that the device id of both slots match. this is needed for the
+	 * XX21 and the XX11 controller that share the same device id for single
+	 * and dual slot controllers. return '2nd slot empty'. we already checked
+	 * if the interrupt is tied to another function.
+	 */
+	if (socket->dev->device != func->device)
+		goto out;
+
 	slot2 = pci_get_drvdata(func);
 	if (!slot2)
 		goto out;
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -1265,6 +1265,14 @@ static struct pci_device_id yenta_table 
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1250, TI1250),
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1410, TI1250),
 
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_XX21_XX11, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_X515, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_X420, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_X620, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7410, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7510, TI12XX),
+	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7610, TI12XX),
+
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1211, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1225, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1410, TI1250),
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -768,6 +768,8 @@
 #define PCI_DEVICE_ID_TI_TVP4010	0x3d04
 #define PCI_DEVICE_ID_TI_TVP4020	0x3d07
 #define PCI_DEVICE_ID_TI_4450		0x8011
+#define PCI_DEVICE_ID_TI_XX21_XX11	0x8031
+#define PCI_DEVICE_ID_TI_X515		0x8036
 #define PCI_DEVICE_ID_TI_1130		0xac12
 #define PCI_DEVICE_ID_TI_1031		0xac13
 #define PCI_DEVICE_ID_TI_1131		0xac15
@@ -784,12 +786,17 @@
 #define PCI_DEVICE_ID_TI_4451		0xac42
 #define PCI_DEVICE_ID_TI_4510		0xac44
 #define PCI_DEVICE_ID_TI_4520		0xac46
+#define PCI_DEVICE_ID_TI_7510		0xac47
+#define PCI_DEVICE_ID_TI_7610		0xac48
+#define PCI_DEVICE_ID_TI_7410		0xac49
 #define PCI_DEVICE_ID_TI_1410		0xac50
 #define PCI_DEVICE_ID_TI_1420		0xac51
 #define PCI_DEVICE_ID_TI_1451A		0xac52
 #define PCI_DEVICE_ID_TI_1620		0xac54
 #define PCI_DEVICE_ID_TI_1520		0xac55
 #define PCI_DEVICE_ID_TI_1510		0xac56
+#define PCI_DEVICE_ID_TI_X620		0xac8d
+#define PCI_DEVICE_ID_TI_X420		0xac8e
 
 #define PCI_VENDOR_ID_SONY		0x104d
 #define PCI_DEVICE_ID_SONY_CXD3222	0x8039

From rpurdie at rpsys.net  Sat Sep 17 11:11:08 2005
From: rpurdie at rpsys.net (Richard Purdie)
Date: Sat Sep 17 11:41:29 2005
Subject: [patch -mm] Fix pcmcia ds resume call
In-Reply-To: <1126958899.8230.10.camel@localhost.localdomain>
References: <1126958899.8230.10.camel@localhost.localdomain>
Message-ID: <1126969869.8230.14.camel@localhost.localdomain>

The pcmcia ds resume function shouldn't be making suspend calls.

Signed-Off-By: Richard Purdie <rpurdie@rpsys.net>

Index: linux-2.6.13/drivers/pcmcia/ds.c
===================================================================
--- linux-2.6.13.orig/drivers/pcmcia/ds.c	2005-09-17 10:55:39.000000000 +0100
+++ linux-2.6.13/drivers/pcmcia/ds.c	2005-09-17 16:01:22.000000000 +0100
@@ -995,8 +995,8 @@
 	if (dev->driver)
 		p_drv = to_pcmcia_drv(dev->driver);
 
-	if (p_drv && p_drv->suspend)
-		return p_drv->suspend(p_dev);
+	if (p_drv && p_drv->resume)
+		return p_drv->resume(p_dev);
 
 	return 0;
 }



From linux at dominikbrodowski.net  Sat Sep 17 12:03:43 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sat Sep 17 12:04:42 2005
Subject: [patch -mm] Fix pcmcia ds resume call
In-Reply-To: <1126969869.8230.14.camel@localhost.localdomain>
References: <1126958899.8230.10.camel@localhost.localdomain>
	<1126969869.8230.14.camel@localhost.localdomain>
Message-ID: <20050917160343.GA30127@isilmar.linta.de>

On Sat, Sep 17, 2005 at 04:11:08PM +0100, Richard Purdie wrote:
> The pcmcia ds resume function shouldn't be making suspend calls.

*doh* Thanks for bug-hunting and -fixing.

> Signed-Off-By: Richard Purdie <rpurdie@rpsys.net>
Signed-Off-By: Dominik Brodowski <linux@dominikbrodowski.net>

	Dominik

From jongk at linux-m68k.org  Sat Sep 17 12:11:52 2005
From: jongk at linux-m68k.org (Kars de Jong)
Date: Sat Sep 17 12:12:36 2005
Subject: kernel 2.6.13 - socket driver set_io_map() no longer called?
In-Reply-To: <20050917125051.GC9429@isilmar.linta.de>
References: <1126815790.7615.25.camel@kars.perseus.home>
	<20050917125051.GC9429@isilmar.linta.de>
Message-ID: <1126973512.7486.24.camel@kars.perseus.home>

On za, 2005-09-17 at 14:50 +0200, Dominik Brodowski wrote:
> On Thu, Sep 15, 2005 at 10:23:10PM +0200, Kars de Jong wrote:
> > I wrote a socket driver for my Amiga 1200 PCMCIA socket a long time ago,
> > but never got it included in the mainstream kernel yet. I adapted it to
> > the 2.6 model at the beginning of this year and had it working OK with
> > kernel version 2.6.8.1.
> 
> Can you share the source with us?

Sure, the driver is included below. It's really simple, because the
Gayle hardware is really dumb. Also, a lot of cards don't work because
the hardware is very broken. They don't get detected, or hang, or reboot
the machine when inserted, etc. The serial_cs and pcnet_cs drivers seem
to work best, and with a hack the 3c589_cs driver works as well.

> > The driver is of type SS_CAP_STATIC_MAP, but (and this is different from
> > all other "static" drivers) the io_offset field is 0.
> 
> As all other in-kernel drivers did set io_offset, I missed this alternative
> back when I introduced pccard_*_ops. As the MPC8xx socket driver just got
> added to -mm, I first became aware of this issue, and still need to manage
> it correctly.

OK, no problem.

> > Compared to 2.6.8.1, I have set the resource_ops field to
> > &pccard_static_ops.
> 
> As a workaround, you can simply switch to pccard_nonstatic_ops in the
> meantime. pccard_static_ops is, for now, just a shortcut for the
> common SS_CAP_STATIC_MAP and io_offset==0 case. Also, that's the workaround
> used by the MPC8xx socket driver...

OK, I tried that, that works OK :-)

> Can you send me a /proc/ioports output when a card is up and running in the
> socket? Also, please send along a /etc/pcmcia/config.opts and tell me
> whether all ports not marked as "used" in /proc/ioports can be made
> available to PCMCIA.

All ports are available to PCMCIA, since it is the only possible user of
I/O ports on my system, so I never bothered to set
up /etc/pcmcia/config.opts. However, there is some horrible hack in the
m68k code for inb()/outb() and friends which considers ports >= 1024 to
be PCI, so I suppose that should be considered.

Here's /proc/ioports with a pcnet_cs card:
0300-031f : pcmcia_socket0

/etc/pcmcia/config.opts:
include port 0x000-0x3ff


Kind regards,

Kars.

/*
 * Device driver for the Amiga Gayle PCMCIA controller
 *
 * (C) Copyright 2000-2005 Kars de Jong <jongk@linux-m68k.org>
 */
#include <linux/module.h>
#include <linux/init.h>
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <asm/io.h>
#include <asm/irq.h>

#include <pcmcia/cs_types.h>
#include <pcmcia/cs.h>
#include <pcmcia/ss.h>

#include <asm/amigaints.h>
#include <asm/amipcmcia.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kars de Jong <jongk@linux-m68k.org>");
MODULE_DESCRIPTION("Linux PCMCIA Card Services: Amiga Gayle Socket Controller");

struct gayle_socket_info {
	struct platform_device *pdev;
	struct pcmcia_socket	psocket;
	u_int			csc_mask;
	u_char			reset_inten;
	u_char			intena;
	u_char			iocard;
	u_char			reset;
	u_short			speed;
};

static struct gayle_socket_info socket;

static int gayle_pcmcia_init(struct pcmcia_socket *s)
{
	return 0;
}

static int gayle_pcmcia_get_status(struct pcmcia_socket *s, u_int *value)
{
	u_char status;
	u_int val = 0;

	status = gayle.cardstatus;
	val |= (status & GAYLE_CS_CCDET) ? (SS_DETECT | SS_POWERON) : 0;
	if (socket.iocard) {
		val |= (status & GAYLE_CS_SC) ? SS_STSCHG : 0;
	} else {
		val |= (status & GAYLE_CS_WR) ? 0 : SS_WRPROT;
		val |= (status & GAYLE_CS_BSY) ? 0 : SS_READY;
		val |= (status & GAYLE_CS_BVD1) ? SS_BATDEAD : 0;
		val |= (status & GAYLE_CS_BVD2) ? SS_BATWARN : 0;
	}

	*value = val;
	return 0;
}

static int gayle_pcmcia_get_socket(struct pcmcia_socket *s, socket_state_t *state)
{
	u_char reg, vpp;

	state->flags = SS_PWR_AUTO;	/* No power management features */
	state->Vcc = 50;		/* Only 5V cards */
	state->Vpp = 0;
	reg = gayle.config;
	vpp = reg & GAYLE_VPP_MASK;
	if (vpp == GAYLE_CFG_5V)
		state->Vpp = 50;
	if (vpp == GAYLE_CFG_12V)
		state->Vpp = 120;

	/* IO card, IO interrupt */
	reg = gayle.cardstatus;
	if (socket.iocard) {
		state->flags |= SS_IOCARD;
		if (reg & GAYLE_CS_WR)   state->flags |= SS_OUTPUT_ENA;
		if (reg & GAYLE_CS_DA) state->flags |= SS_SPKR_ENA;
		state->io_irq = socket.psocket.pci_irq;
	}

	if (socket.reset) state->flags |= SS_RESET;

	/* Card status interrupt change mask */
	state->csc_mask = socket.csc_mask;

	return 0;
}

static int gayle_pcmcia_set_socket(struct pcmcia_socket *s, socket_state_t *state)
{
	u_char oldreg, reg;
	u_long flags;
	u_int changed;
    
	local_irq_save(flags);	/* Don't want interrupts happening here */

	socket.iocard = (state->flags & SS_IOCARD) ? 1 : 0;
	oldreg = reg = gayle.config;
	reg &= ~GAYLE_VPP_MASK;
	switch (state->Vcc) {
	case 0:	break;
	case 50:	break;
	default:	return -EINVAL;
	}
	switch (state->Vpp) {
	case 0:	break;
	case 50:	reg |= GAYLE_CFG_5V; break;
	case 120:	reg |= GAYLE_CFG_12V; break;
	default:	return -EINVAL;
	}

	if (reg != oldreg)
		gayle.config = reg;

	if (state->flags & SS_RESET) {
		socket.reset_inten = gayle.inten;
		gayle.inten = (socket.reset_inten & ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY));
		gayle.intreq = 0xff;
		socket.reset = 1;
	} else if (socket.reset) {
		gayle.intreq = 0xfc;
		udelay(10);
		gayle.intreq = (0xfc & ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY));
		gayle.inten = socket.reset_inten;
		socket.reset = 0;
	}

	oldreg = reg = (gayle.cardstatus & (GAYLE_CS_WR|GAYLE_CS_DA|GAYLE_CS_DAEN));

	if (socket.iocard) {
		if (state->flags & SS_OUTPUT_ENA) {
			reg |= GAYLE_CS_WR|GAYLE_CS_DAEN;
		}
		if (state->flags & SS_SPKR_ENA) {
			reg |= GAYLE_CS_DA|GAYLE_CS_DAEN;
		}
	} else {
	    reg &= ~(GAYLE_CS_WR|GAYLE_CS_DA|GAYLE_CS_DAEN);
	}

	if (reg != oldreg) {
		gayle.cardstatus = reg;
		gayle.intreq = (0xfc & ~(GAYLE_IRQ_WR|GAYLE_IRQ_DA));
	}

	/* Card status change interrupt mask */
	changed = socket.csc_mask ^ state->csc_mask;
	socket.csc_mask = state->csc_mask;
	oldreg = reg = gayle.inten;

	if (changed & SS_DETECT) {
		if (state->csc_mask & SS_DETECT)
			reg |= GAYLE_IRQ_CCDET;
		else
			reg &= ~GAYLE_IRQ_CCDET;
	}

	if (changed & SS_READY) {
		if (state->csc_mask & SS_READY)
			reg |= GAYLE_IRQ_BSY;
		else
			reg &= ~GAYLE_IRQ_BSY;
	}

	if (changed & SS_BATDEAD) {
		if (state->csc_mask & SS_BATDEAD)
			reg |= GAYLE_IRQ_BVD1;
		else
			reg &= ~GAYLE_IRQ_BVD1;
	}

	if (changed & SS_BATWARN) {
		if (state->csc_mask & SS_BATWARN)
			reg |= GAYLE_IRQ_BVD2;
		else
			reg &= ~GAYLE_IRQ_BVD2;
	}

	if (changed & SS_STSCHG) {
		if (state->csc_mask & SS_STSCHG)
			reg |= GAYLE_IRQ_SC;
		else
			reg &= ~GAYLE_IRQ_SC;
	}

	if (reg != oldreg) {
		gayle.inten = reg;
		socket.intena = (gayle.inten & (GAYLE_IRQ_CCDET|GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY));
	}

	local_irq_restore(flags);

	return 0;
}

static int gayle_pcmcia_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *map)
{
	if (map->map >= MAX_IO_WIN) {
		printk(KERN_ERR "%s(): map (%d) out of range\n", __FUNCTION__,
		       map->map);
		return -1;
	}

	if (map->stop == 1)
		map->stop = PAGE_SIZE-1;

	gayle_set_io_win(map->map, map->flags, map->start, map->stop);

	return 0;
}

static void gayle_pcmcia_set_speed(u_short speed) {
    u_char s;

    if (speed <= 100)
	s = GAYLE_CFG_100NS;
    else if (speed <= 150)
	s = GAYLE_CFG_150NS;
    else if (speed <= 250)
	s = GAYLE_CFG_250NS;
    else
	s = GAYLE_CFG_720NS;

    gayle.config = (gayle.config & ~GAYLE_SPEED_MASK) | s;
}

static int gayle_pcmcia_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *map)
{
	u_long start;

	if (map->map >= MAX_WIN)
		return -EINVAL;

	gayle_pcmcia_set_speed(map->speed);

	if (map->flags & MAP_ATTRIB) {
		start = GAYLE_ATTRIBUTE;
		if (map->flags & MAP_ACTIVE)
			gayle_pcmcia_set_speed(720);
	} else {
		start = GAYLE_RAM;
	}

	map->static_start = start + map->card_start;

	return 0;
}

static irqreturn_t gayle_pcmcia_interrupt(int irq, void *dev, struct pt_regs *regs)
{
    u_char sstat, ints, latch, ack = 0xfc;
    u_int events = 0;

    ints = gayle.intreq;

    sstat = gayle.cardstatus;
    latch = ints & socket.intena;

    if (latch & GAYLE_IRQ_CCDET) {
	    /* Check for card removal */
	    if (!(gayle.cardstatus & GAYLE_CS_CCDET)) {
		    /* Better clear all ints */
		    ack &= ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY);
		    /* Turn off all IO interrupts */
		    if (socket.iocard) {
			    gayle.inten &= ~GAYLE_IRQ_IRQ;
			    gayle.cardstatus = 0;
		    }
		    /* Don't do the rest unless a card is present */
		    latch &= ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY);
	    }
	    ack &= ~GAYLE_IRQ_CCDET;
	    events |= SS_DETECT;
    }

    if (latch & GAYLE_IRQ_BSY) {
	    ack &= ~GAYLE_IRQ_BSY;
	    events |= SS_READY;
    }

    if (latch & GAYLE_IRQ_BVD2) {
	    ack &= ~GAYLE_IRQ_BVD2;
	    events |= SS_BATWARN;
    }

    if (latch & GAYLE_IRQ_BVD1) {
	    ack &= ~GAYLE_IRQ_BVD1;
	    events |= SS_BATDEAD;
    }

    if (latch & GAYLE_IRQ_SC) {
	    ack &= ~GAYLE_IRQ_SC;
	    events |= SS_STSCHG;
    }

    gayle.intreq = ack;

    if (events)
	    pcmcia_parse_events(&socket.psocket, events);

    return IRQ_HANDLED;
}

static struct pccard_operations gayle_pcmcia_operations = {
	.init		= gayle_pcmcia_init,
	.get_status	= gayle_pcmcia_get_status,
	.get_socket	= gayle_pcmcia_get_socket,
	.set_socket	= gayle_pcmcia_set_socket,
	.set_io_map	= gayle_pcmcia_set_io_map,
	.set_mem_map	= gayle_pcmcia_set_mem_map,
};

static int gayle_pcmcia_drv_suspend(struct device *dev, pm_message_t state, u32 level)
{
	int ret = 0;
	if (level == SUSPEND_SAVE_STATE)
		ret = pcmcia_socket_dev_suspend(dev, state);
	return ret;
}

static int gayle_pcmcia_drv_resume(struct device *dev, u32 level)
{
	int ret = 0;
	if (level == RESUME_RESTORE_STATE)
		ret = pcmcia_socket_dev_resume(dev);
	return ret;
}

static struct device_driver gayle_pcmcia_driver = {
	.name = "gayle-pcmcia",
	.bus = &platform_bus_type,
	.suspend = gayle_pcmcia_drv_suspend,
	.resume = gayle_pcmcia_drv_resume,
};

static int __init init_gayle_pcmcia(void)
{
	int err;

	
	if (!AMIGAHW_PRESENT(PCMCIA)) {
		return -ENODEV;
	} else {
		printk(KERN_INFO "Amiga Gayle PCMCIA found, 1 socket\n");
	}

	if (!request_mem_region(GAYLE_RAM, GAYLE_RAMSIZE, "PCMCIA common memory"))
		return -EBUSY;

	if (!request_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE,
				"PCMCIA attribute memory")) {
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return -EBUSY;
	}

	if (!request_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE, "PCMCIA I/O ports")) {
		release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return -EBUSY;
	}		
	
	if (driver_register(&gayle_pcmcia_driver)) {
		release_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE);
		release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return -1;
	}

	gayle.config = 0;

	if ((err = request_irq(IRQ_AMIGA_GAYLE_SOCKET, gayle_pcmcia_interrupt, 0, "Gayle PCMCIA status", &socket)) < 0) {
		driver_unregister(&gayle_pcmcia_driver);
		release_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE);
		release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return err;
	}

	printk(KERN_INFO "  status change on irq %d\n", IRQ_AMIGA_GAYLE_SOCKET);
	socket.psocket.owner = THIS_MODULE;
	socket.psocket.ops = &gayle_pcmcia_operations;
	socket.psocket.resource_ops = &pccard_nonstatic_ops;
	socket.psocket.features = SS_CAP_STATIC_MAP|SS_CAP_PCCARD;
	socket.psocket.irq_mask = 0;
	socket.psocket.map_size = PAGE_SIZE;
	socket.psocket.pci_irq = IRQ_AMIGA_GAYLE_IRQ;
	socket.psocket.io_offset = 0;

	socket.intena = (gayle.inten & ~GAYLE_IRQ_IDE);
	gayle.cardstatus = 0;
	gayle.intreq = (0xfc & ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY));
	socket.speed = 250;

	socket.pdev = platform_device_register_simple("gayle-pcmcia", -1,
						      NULL, 0);

	if (IS_ERR(socket.pdev)) {
		free_irq(IRQ_AMIGA_GAYLE_SOCKET, &socket);
		driver_unregister(&gayle_pcmcia_driver);
		release_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE);
		release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return PTR_ERR(socket.pdev);
	}

	socket.psocket.dev.dev = &socket.pdev->dev;

	if ((err = pcmcia_register_socket(&socket.psocket))) {
		platform_device_unregister(socket.pdev);
		free_irq(IRQ_AMIGA_GAYLE_SOCKET, &socket);
		driver_unregister(&gayle_pcmcia_driver);
		release_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE);
		release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
		release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);
		return err;
	}

	return 0;
}

static void __exit exit_gayle_pcmcia(void)
{
	u_long flags;

	local_irq_save(flags);	/* Don't want interrupts happening here */	

	pcmcia_unregister_socket(&socket.psocket);
	gayle.inten &= ~(GAYLE_IRQ_BVD1|GAYLE_IRQ_BVD2|GAYLE_IRQ_WR|GAYLE_IRQ_BSY);
	free_irq(IRQ_AMIGA_GAYLE_SOCKET, &socket);
	platform_device_unregister(socket.pdev);
	driver_unregister(&gayle_pcmcia_driver);
	release_mem_region(GAYLE_IO, 2*GAYLE_IOSIZE);
	release_mem_region(GAYLE_ATTRIBUTE, GAYLE_ATTRIBUTESIZE);
	release_mem_region(GAYLE_RAM, GAYLE_RAMSIZE);

	local_irq_restore(flags);
}

module_init(init_gayle_pcmcia);
module_exit(exit_gayle_pcmcia);



From sander at humilis.net  Sat Sep 17 12:28:35 2005
From: sander at humilis.net (Sander)
Date: Sat Sep 17 12:29:37 2005
Subject: Sierra Wireless CIS [Was: Re: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power]
In-Reply-To: <20050917130735.GA30876@isilmar.linta.de>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
	<20050914112145.GA28246@favonius>
	<20050915202011.GA14035@isilmar.linta.de>
	<20050916050047.GB30741@favonius>
	<20050917130735.GA30876@isilmar.linta.de>
Message-ID: <20050917162835.GB15519@favonius>

Dominik Brodowski wrote (ao):
> On Fri, Sep 16, 2005 at 07:00:47AM +0200, Sander wrote:
> > # cat /lib/firmware/SW_7xx_SER.cis > /sys/class/pcmcia_socket/pcmcia_socket0/cis 
> > # diff /sys/class/pcmcia_socket/pcmcia_socket0/cis /lib/firmware/SW_7xx_SER.cis 
> > Binary files /sys/class/pcmcia_socket/pcmcia_socket0/cis and /lib/firmware/SW_7xx_SER.cis differ
> > 
> > But there is something there:
> > # cat /sys/class/pcmcia_socket/pcmcia_socket0/cis > /tmp/cis
> > 
> > # file /lib/firmware/SW_7xx_SER.cis /tmp/cis 
> > /lib/firmware/SW_7xx_SER.cis: PDP-11 UNIX/RT ldp
> > /tmp/cis:                     PDP-11 UNIX/RT ldp
> > 
> > # ls -l /lib/firmware/SW_7xx_SER.cis /tmp/cis 
> > -rw-r--r--  1 root root 140 Sep  9 15:07 /lib/firmware/SW_7xx_SER.cis
> > -rw-r--r--  1 root root 138 Sep 16 06:49 /tmp/cis
> 
> can you hexdump -C both, and/or send both these files to me, please?

# hexdump -C /lib/firmware/SW_7xx_SER.cis 
00000000  01 01 ff 17 03 41 00 ff  20 04 92 01 10 07 21 02  |.....A.. .....!.|
00000010  02 00 15 37 07 00 53 69  65 72 72 61 20 57 69 72  |...7..Sierra Wir|
00000020  65 6c 65 73 73 00 41 43  37 31 30 2f 41 43 37 35  |eless.AC710/AC75|
00000030  30 00 47 50 52 53 20 4e  65 74 77 6f 72 6b 20 41  |0.GPRS Network A|
00000040  64 61 70 74 65 72 00 52  31 00 ff 1a 05 01 03 00  |dapter.R1.......|
00000050  07 73 1b 10 e0 01 19 78  4d 55 5d 25 a3 60 f8 03  |.s.....xMU]%.`..|
00000060  07 30 bc 86 1b 08 a1 01  08 a3 60 f8 02 07 1b 08  |.0........`.....|
00000070  a2 01 08 a3 60 e8 03 07  1b 08 a3 01 08 a3 60 e8  |....`.........`.|
00000080  02 07 1b 04 a4 01 08 23  14 00 ff 00              |.......#....|
0000008c

# hexdump -C /sys/class/pcmcia_socket/pcmcia_socket0/cis 
00000000  01 01 ff 17 03 41 00 ff  20 04 92 01 10 07 21 02  |.....A.. .....!.|
00000010  02 00 15 37 07 00 53 69  65 72 72 61 20 57 69 72  |...7..Sierra Wir|
00000020  65 6c 65 73 73 00 41 43  37 31 30 2f 41 43 37 35  |eless.AC710/AC75|
00000030  30 00 47 50 52 53 20 4e  65 74 77 6f 72 6b 20 41  |0.GPRS Network A|
00000040  64 61 70 74 65 72 00 52  31 00 ff 1a 05 01 03 00  |dapter.R1.......|
00000050  07 73 1b 10 e0 01 19 78  4d 55 5d 25 a3 60 f8 03  |.s.....xMU]%.`..|
00000060  07 30 bc 86 1b 08 a1 01  08 a3 60 f8 02 07 1b 08  |.0........`.....|
00000070  a2 01 08 a3 60 e8 03 07  1b 08 a3 01 08 a3 60 e8  |....`.........`.|
00000080  02 07 1b 04 a4 01 08 23  14 00                    |.......#..|
0000008a


diff says:
9,10c9,10
< 00000080  02 07 1b 04 a4 01 08 23  14 00 ff 00              |.......#....|
< 0000008c
---
> 00000080  02 07 1b 04 a4 01 08 23  14 00                    |.......#..|
> 0000008a

The hexdump output for /sys/class/pcmcia_socket/pcmcia_socket0/cis
is the same as for /tmp/cis.

Btw, if I cat /tmp/cis to /syc/class/.. and back to /tmp/cis1,
the size of the file stays the same.

If I append /tmp/cis to /tmp/cis1, and cat that to /sys/class/..
and back to /tmp/cis2, the size of the file is again the same
as /tmp/cis1 (and thus double the size of /tmp/cis).

If I append /lib/firmware/SW_7xx_SER.cis to /tmp/cis and cat
that to /sys/class/.. and back to /tmp, the file is 2 bytes
short of expected again.

If I cat /lib/firmware/SW_7xx_SER.cis (140 bytes) to /sys/class/..,
/sys/class/.. to /tmp/cis (138 bytes),
/lib/firmware/SW_7xx_SER.cis to /tmp/cis2 (140 bytes),
append /tmp/cis to /tmp/cis2 (278 bytes),
cat /tmp/cis2 to /sys/class/..,
and /sys/class/.. to /tmp/cis3
then /tmp/cis3 is 138 bytes instead of 278 bytes.

I'll attach them both.

Btw, I've tried the card in the Conceptronic on a different system, but
that system crashes. I can see (via netconsole) that it assigns a serial
port, so that is good news, but it locks solid after that. Haven't
looked into the crash yet. It is dead enough to also kill sysrq. It
happened with kernel 2.6.14-rc1-mm1 and both the oldstyle and newstyle
pcmcia tools.


> > A 2 byte difference. Does that help?
> That's strange... I do not see this if I modify the CIS firmware on my
> PCMCIA card.
> 
> Does anything get printed in dmesg? If you modprobe serial_cs (or is it
> loaded by default?), does something happen? Can you "talk" to the devices
> already?

This is what I see after "modprobe yenta_socket":
[42949474.120000] ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5
[42949474.120000] Yenta: CardBus bridge found at 0000:00:0a.0 [1106:aa01]
[42949474.260000] Yenta: ISA IRQ mask 0x0c08, PCI irq 5
[42949474.260000] Socket status: 30000410
[42949474.260000] ACPI: PCI Interrupt 0000:00:0a.1[B] -> Link [LNKB] -> GSI 12 (level, low) -> IRQ 12
[42949474.260000] Yenta: CardBus bridge found at 0000:00:0a.1 [1106:aa01]
[42949474.400000] Yenta: ISA IRQ mask 0x0c08, PCI irq 12
[42949474.400000] Socket status: 30000006
[42949498.240000] cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xdffff 0xf0000-0xfffff
[42949498.240000] cs: memory probe 0x60000000-0x60ffffff: clean.
[42949498.240000] cs: memory probe 0xa0000000-0xa0ffffff: clean.

I have to "modprobe serial_cs" by hand, and that adds nothing.
Nor does the 'pcmcia-socket-startup'

I've made modules of 'serial_core' and '8250', and they get loaded
on startup and find the onboard serial port.

I can't talk to the device yet (with minicom). 'setserial' also
doesn't have any effect.

I have no clue as what to do now. I hope the hexdump info
and the attached firmware helps. Let me know if you need more info.

Thank you for all your time and effort. Very much appreciated!

	Sander

-- 
Humilis IT Services and Solutions
http://www.humilis.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SW_7xx_SER.cis
Type: application/octet-stream
Size: 140 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20050917/119d8d08/SW_7xx_SER.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cis
Type: application/octet-stream
Size: 138 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20050917/119d8d08/cis.obj
From linux at dominikbrodowski.net  Sun Sep 18 02:58:11 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sun Sep 18 02:58:54 2005
Subject: [ANNOUNCE] pcmciautils-010 released
Message-ID: <20050918065811.GA16174@isilmar.linta.de>

pcmciautils-010 is available at

http://kernel.org/pub/linux/utils/kernel/pcmcia/

and includes these changes:

- support for pccardctl suspend, resume (requires recent -mm kernels)
- fix firmware directory
- #undef might not work on all environments; therefore use PCMCIAUTILS_VERSION
- allow pcmciautils to be run as udev helpers instead of hotplug scripts.
	To use this, set	UDEV = true	in Makefile.

	Dominik

From bregor at sf.anu.edu.au  Sun Sep 18 03:03:03 2005
From: bregor at sf.anu.edu.au (Roger W. Brown)
Date: Sun Sep 18 03:03:34 2005
Subject: Missing hotplug.functions
Message-ID: <200509181703.04038.bregor@sf.anu.edu.au>

Hi,

  After installing pcmciautils-010 and hotplug-ng-002, onto a
clean system, I find that the file "hotplug.functions" is missing.

This script is referenced by the utilities installed in /etc/hotplug
by pcmciautils.  It this a packaging error ?

It's simple to find a copy.  Are there any other scripts that I should
collect and install ?   
 

From linux at dominikbrodowski.net  Sun Sep 18 09:05:52 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Sun Sep 18 09:06:56 2005
Subject: Missing hotplug.functions
In-Reply-To: <200509181703.04038.bregor@sf.anu.edu.au>
References: <200509181703.04038.bregor@sf.anu.edu.au>
Message-ID: <20050918130552.GA10692@isilmar.linta.de>

Hi,

On Sun, Sep 18, 2005 at 05:03:03PM +1000, Roger W. Brown wrote:
>   After installing pcmciautils-010 and hotplug-ng-002, onto a
> clean system, I find that the file "hotplug.functions" is missing.
> 
> This script is referenced by the utilities installed in /etc/hotplug
> by pcmciautils.  It this a packaging error ?

Hm. Possibly pcmciautils requires full hotplug then, and hotplug-ng isn't
enough... If you use udev, just use the new udev support for pcmciautils
available in -010 and then you won't need hotplug.functions :)

> It's simple to find a copy.  Are there any other scripts that I should
> collect and install ?   

Not that I'm aware of. However, I'm not so sure anymore that hotplug-ng does
call the hotplug scripts of pcmciautils correctly. SO I'd suggest that you
either switch to "normal" hotplug or udev.

Thanks,
	Dominik

From jmack at wm7d.net  Mon Sep 19 13:19:27 2005
From: jmack at wm7d.net (Joseph Mack NA3T)
Date: Mon Sep 19 13:20:17 2005
Subject: trying to get unknown Linksys 802.11b cardbus card running.
Message-ID: <Pine.LNX.4.61.0509191009070.20417@wm7d.net>

2.6.13, pcmcia-3.2.8, pcmciautils-005, hotplug-2004_03_23, 
thinkpad 390E and 600E, dual boot with w2k

nothing on insertion (no beeps, nothing in /var/log/* or 
/var/log/hotplug/events).

lspci shows
"Linksys: unknown device 8201"

The card just says "CardBus PC Card" but checking the serial 
number in google, I find it's by Xterasys. The card works 
fine under w2k on the same machines (have driver on CD), but 
checking the hardware/driver info in windows doesn't give 
any more info as to what wort of card it is.

I was expecting the logs to show the MAC address (or 
something) at least.

In case this is a rebadged standard card, what do I do to 
figure out what it is and get the driver for it?

Thanks Joe

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml 
Homepage http://www.austintek.com/ It's GNU/Linux!

From todd at sdgsystems.com  Mon Sep 19 15:34:38 2005
From: todd at sdgsystems.com (Todd Blumer)
Date: Mon Sep 19 15:35:21 2005
Subject: udev / pcmcia-cs
Message-ID: <432F12CE.8030306@sdgsystems.com>

Since moving to kernel 2.6.12, I've had problems with CF memory cards.
After doing some tracking, it seems that udev is removing the hda device
in /dev before /etc/pcmcia/ide has a chance to run (to unmount the
filesystem). Is the correct solution to inform udev to ignore pcmcia?
That seems to work (e.g. mv /sbin/udevd /sbin/junk). What is the proper
way to do this? I still need udev for SD/MMC.
(Unfortunately, I'm not yet ready to move to pcmciautils.)
Thanks.
--
Todd


From skinkie at xs4all.nl  Mon Sep 19 16:02:31 2005
From: skinkie at xs4all.nl (Stefan de Konink)
Date: Mon Sep 19 16:03:22 2005
Subject: udev / pcmcia-cs
In-Reply-To: <432F12CE.8030306@sdgsystems.com>
Message-ID: <20050919220140.L74620-100000@xs2.xs4all.nl>

On Mon, 19 Sep 2005, Todd Blumer wrote:

> Since moving to kernel 2.6.12, I've had problems with CF memory cards.
> After doing some tracking, it seems that udev is removing the hda device
> in /dev before /etc/pcmcia/ide has a chance to run (to unmount the
> filesystem). Is the correct solution to inform udev to ignore pcmcia?
> That seems to work (e.g. mv /sbin/udevd /sbin/junk). What is the proper
> way to do this? I still need udev for SD/MMC.
> (Unfortunately, I'm not yet ready to move to pcmciautils.)

In the past it I needed to patch the kernel inorder to get ide_cs to work
for CF cards, because it tryed to initialize the slave channel. Maybe this
is a usefull hint.


Stefan de Konink


From linux at dominikbrodowski.net  Mon Sep 19 16:36:31 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 19 16:37:23 2005
Subject: trying to get unknown Linksys 802.11b cardbus card running.
In-Reply-To: <Pine.LNX.4.61.0509191009070.20417@wm7d.net>
References: <Pine.LNX.4.61.0509191009070.20417@wm7d.net>
Message-ID: <20050919203631.GB32410@isilmar.linta.de>

Hi,

On Mon, Sep 19, 2005 at 10:19:27AM -0700, Joseph Mack NA3T wrote:
> lspci shows
> "Linksys: unknown device 8201"

This means the card is correctly accessible to PCI device drivers. This
implies that the PCMCIA/CardBus part of operation went well -- next step is
to track down which PCI device driver is correct for the device. And that's
best addressed somewhere else: Best starting point might be
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/

Google may be helpful as well: I found
http://www.linuxquestions.org/questions/answers.php?action=viewarticle&artid=72

So it seems to be an ADMtek 8211 chipset, which leads us back to:
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.drivers.802.11b.html#ADMtek

Good luck for getting it to work,
	Dominik

From linux at dominikbrodowski.net  Mon Sep 19 16:40:08 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Mon Sep 19 16:40:36 2005
Subject: udev / pcmcia-cs
In-Reply-To: <432F12CE.8030306@sdgsystems.com>
References: <432F12CE.8030306@sdgsystems.com>
Message-ID: <20050919204008.GC32410@isilmar.linta.de>

Hi,

On Mon, Sep 19, 2005 at 03:34:38PM -0400, Todd Blumer wrote:
> Since moving to kernel 2.6.12, I've had problems with CF memory cards.
> After doing some tracking, it seems that udev is removing the hda device
> in /dev before /etc/pcmcia/ide has a chance to run (to unmount the
> filesystem). Is the correct solution to inform udev to ignore pcmcia?
> That seems to work (e.g. mv /sbin/udevd /sbin/junk). What is the proper
> way to do this? I still need udev for SD/MMC.
> (Unfortunately, I'm not yet ready to move to pcmciautils.)

2.6.12 wouldn't be recent enough for pcmciautils anyway. When does this
behaviour appear: If you do a "cardctl eject", or if you simply remove the
CF memory card by ejecting it? Can't you "unmount /dev/hdX" first before
ejecting the device (no need to do cardctl eject then, I suppose)?

	Dominik

From todd at sdgsystems.com  Mon Sep 19 16:51:53 2005
From: todd at sdgsystems.com (Todd Blumer)
Date: Mon Sep 19 16:52:41 2005
Subject: udev / pcmcia-cs
In-Reply-To: <20050919204008.GC32410@isilmar.linta.de>
References: <432F12CE.8030306@sdgsystems.com>
	<20050919204008.GC32410@isilmar.linta.de>
Message-ID: <432F24E9.4070201@sdgsystems.com>



Dominik Brodowski wrote:

>Hi,
>
>On Mon, Sep 19, 2005 at 03:34:38PM -0400, Todd Blumer wrote:
>  
>
>>Since moving to kernel 2.6.12, I've had problems with CF memory cards.
>>After doing some tracking, it seems that udev is removing the hda device
>>in /dev before /etc/pcmcia/ide has a chance to run (to unmount the
>>filesystem). Is the correct solution to inform udev to ignore pcmcia?
>>That seems to work (e.g. mv /sbin/udevd /sbin/junk). What is the proper
>>way to do this? I still need udev for SD/MMC.
>>(Unfortunately, I'm not yet ready to move to pcmciautils.)
>>    
>>
>
>2.6.12 wouldn't be recent enough for pcmciautils anyway. When does this
>behaviour appear: If you do a "cardctl eject", or if you simply remove the
>CF memory card by ejecting it? Can't you "unmount /dev/hdX" first before
>ejecting the device (no need to do cardctl eject then, I suppose)?
>
>
>  
>
2.6.11 seemed to work OK. "cardctl eject" does not unmount the device,
and obviously, just pulling the card out doesn't work either.
Unfortunately, it's not realistic for the project to assume that people
will umount first. If I disable udevd, then 'cardctl eject' will call
/etc/pcmcia/ide and the hda device will still be present so the umount
works.
Thanks.


From proski at gnu.org  Mon Sep 19 23:45:58 2005
From: proski at gnu.org (Pavel Roskin)
Date: Mon Sep 19 23:46:47 2005
Subject: bind and unbind from userspace
In-Reply-To: <20050917091003.GA1522@isilmar.linta.de>
References: <1126936140.22846.52.camel@dv>
	<20050917091003.GA1522@isilmar.linta.de>
Message-ID: <1127187958.3173.1.camel@dv>

Hello!

On Sat, 2005-09-17 at 11:10 +0200, Dominik Brodowski wrote:
> Actually, the interface is a bit different: to switch the driver for the
> PCMCIA device "0.0" you need to do
> 
> echo -n "0.0" > /sys/bus/pcmcia/devices/0.0/driver/unbind
> echo -n "0.0" > /sys/bus/pcmcia/drivers/hostap_cs/bind
> 
> as you need to tell which device to unbind from and which device to bind to.

It's working fine with current Linux from git.  Thank you!

-- 
Regards,
Pavel Roskin


From proski at gnu.org  Tue Sep 20 00:20:36 2005
From: proski at gnu.org (Pavel Roskin)
Date: Tue Sep 20 00:21:34 2005
Subject: bind and unbind from userspace
In-Reply-To: <1241.192.168.0.150.1126962800.squirrel@kone>
References: <1126936140.22846.52.camel@dv>
	<1088.192.168.0.150.1126950736.squirrel@kone>
	<20050917124438.GA9429@isilmar.linta.de>
	<1241.192.168.0.150.1126962800.squirrel@kone>
Message-ID: <1127190036.3173.19.camel@dv>

Hello!

On Sat, 2005-09-17 at 16:13 +0300, Jar wrote:
> > No. /etc/hotplug/blacklist complicates stuff largely, and is not used by the
> > hotplug scripts for the MODALIAS-based loading of modules. Either you should
> > add something appropriate to /etc/modules.d/ , or you should only build one of
> > these two drivers.
> 
> OK. But how the Linux distros would handle this? Majority of Linux users are using
> distro kernels. And usually all drivers are compiled as modules.

I think the module loading is irrelevant here.  If you want certain
drivers to work with certain cards, you want it even if all modules are
already loaded.  You cannot rely on modules to be absent from memory.

I believe a better place to set this policy would be hotplug.  This
should be possible now.  But it may happen that the hotplug script will
have to unbind an already bound driver.

A better, more flexible solution would be to a have module parameter
that would cause the driver to load without binding to any devices.
Then the binding could be moved to the userspace completely for
sophisticated systems that actually care about that.  That's something
like the old PCMCIA, but not restricted to PCMCIA drivers and capable of
using the compiled-in device tables.

But I think the default should be to bind the driver on load, including
PCMCIA.

-- 
Regards,
Pavel Roskin


From jmack at wm7d.net  Tue Sep 20 15:59:48 2005
From: jmack at wm7d.net (Joseph Mack NA3T)
Date: Tue Sep 20 16:01:38 2005
Subject: hotplug/pcmcia conflict with combo ethernet/modem (fwd)
In-Reply-To: <Pine.LNX.4.61.0508241723250.8789@wm7d.net>
References: <Pine.LNX.4.61.0508041215420.8285@wm7d.net>
	<20050816090012.GB9755@dominikbrodowski.de>
	<Pine.LNX.4.61.0508241723250.8789@wm7d.net>
Message-ID: <Pine.LNX.4.61.0509201256570.29909@wm7d.net>

On Wed, 24 Aug 2005, Joseph Mack NA3T wrote:

I haven't seen a reply to this. Just incase it's been 
forgotten....

I have the xircom ethernet/modem combo pcmcia card. On 
insertion, the script `serial` is told that device /dev/eth0 
has just been inserted.

Have the problem for 2.6.12 and 2.6.13 (haven't tried
any earlier kernels)

Thanks Joe

> On Tue, 16 Aug 2005, Dominik Brodowski wrote:
>
>> Hi,
>> 
>> Could you test kernel 2.6.13-rc6, please?
>
> Thanks for offering to have a look at this.
>
> no change I'm afraid.
>
> when plugging in the Xircom CEM56, the ethernet part
> comes up fine and /etc/serial/serial is fed
>
> $1=start, $2=eth0
>
> and then /etc/pcmcia/serial looks for /dev/eth0
>
> here's the output in /var/log/messages following insertion. I've added some 
> debugging for my own edification. The machine's name is "foghorn".
>
> Aug 25 00:17:46 foghorn kernel: cs: memory probe 0xa0000000-0xa0ffffff: 
> clean.
> Aug 25 00:17:46 foghorn cardmgr[1452]: socket 1: Xircom CEM56 Ethernet/Modem
> Aug 25 00:17:49 foghorn kernel: eth%%d: MII link partner: 0021
> Aug 25 00:17:49 foghorn kernel: eth%%d: MII selected
> Aug 25 00:17:49 foghorn kernel: eth%%d: media 10BaseT, silicon revision 5
> Aug 25 00:17:49 foghorn kernel: eth0: Xircom: port 0x300, irq 3, hwaddr 
> 00:10:A4:A2:74:A1
>
> #I print out the arguments and then the environment
>
> Aug 25 00:17:49 foghorn net.agent[3031]: /etc/hotplug/net.agent start $1  $2 
> $3
> PHYSDEVPATH=/devices/pci0000:00/0000:00:03.1/1.0
> SUBSYSTEM=net
> OLDPWD=/etc/hotplug
> DEVPATH=/class/net/eth0
> PATH=/bin:/sbin:/usr/sbin:/usr/bin
> ACTION=add
> PWD=/etc/hotplug
> SHLVL=2
> HOME=/
> PHYSDEVDRIVER=xirc2ps_cs
> INTERFACE=eth0
> DEBUG=yes
> PHYSDEVBUS=pcmcia
> SEQNUM=284
> _=/usr/bin/printenv
> Aug 25 00:17:49 foghorn net.agent[3031]: /etc/hotplug/net.agent action add, 
> interface eth0
>
> #net.agent doesn't know what to do with Slackware, so I've rolled my own.
>
> Aug 25 00:17:49 foghorn net.agent[3031]: Joes handling of interface eth0
> Aug 25 00:17:50 foghorn kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 
> ports, IRQ sharing enabled
> Aug 25 00:17:50 foghorn logger: /etc/rc.d/rc.inet1:  /sbin/dhcpcd -d -t 10 -h 
> foghorn eth0
> Aug 25 00:17:52 foghorn cardmgr[1452]: executing: './network start eth0 2>&1'
> Aug 25 00:17:52 foghorn cardmgr[1452]: + ./network start
> Aug 25 00:17:52 foghorn kernel: eth0: MII link partner: 0021
> Aug 25 00:17:52 foghorn kernel: eth0: MII selected
> Aug 25 00:17:52 foghorn kernel: eth0: media 10BaseT, silicon revision 5
> Aug 25 00:17:53 foghorn cardmgr[1452]: + ./network wirelss
> Aug 25 00:17:53 foghorn cardmgr[1452]: + ./network update resolv.conf
>
> #here's the problem. /etc/pcmcia/serial should be fed $2=ttyS3 or similar
>
> Aug 25 00:17:53 foghorn logger: ./serial: $1 start, $2 eth0 $3
> Aug 25 00:17:53 foghorn logger: ./serial: device , scheme , socket 1, 
> instance 0 minor
>
> #in /etc/pcmcia/serial, if I detect the CEM56, I make device=ttyS3
> #showing corrected device
>
> Aug 25 00:17:53 foghorn logger: ./serial: device ttyS3, scheme , socket 1, 
> instance 0 minor
> Aug 25 00:17:53 foghorn cardmgr[1452]: executing: './serial start eth0 2>&1'
>
> #if there's no /dev/cua1, I make CALLOUT=/dev/ttyS3
>
> Aug 25 00:17:53 foghorn cardmgr[1452]: + ./serial: CALLOUT=ttyS3
>
> Thanks Joe
>
>

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml 
Homepage http://www.austintek.com/ It's GNU/Linux!

From jeff90 at silk.corp.fedex.com  Tue Sep 20 20:47:40 2005
From: jeff90 at silk.corp.fedex.com (Jeff Chua)
Date: Tue Sep 20 20:44:08 2005
Subject: Panasonic CardBus SD card reader?
Message-ID: <Pine.LNX.4.63.0509210842270.2429@boston.corp.fedex.com>


Anyone working the Panasonic Pro High Speed Cardbus SD (BN-SDDAP3) 
adaptor?

I tried to include the PCI ID in /usr/src/linux/drivers/ide/pci/generic.c, 
but don't think this is complete.

Here's the error ...

dmesg ...
 	Skipping disabled Panasonic IDE controller.

lspci -v
03:00.0 Unknown mass storage controller: Matsushita Electric Industrial 
Co., Ltd.: Unknown device 8f00 (rev 01)
         Subsystem: Matsushita Electric Industrial Co., Ltd.: Unknown 
device 8f00
         Flags: medium devsel, IRQ 11
         I/O ports at 3000 [disabled] [size=32]
         Memory at d2000000 (32-bit, non-prefetchable) [disabled] [size=4K]



Thanks,
Jeff

From komurojun-mbn at nifty.com  Wed Sep 21 08:38:18 2005
From: komurojun-mbn at nifty.com (Komuro)
Date: Wed Sep 21 08:39:00 2005
Subject: hotplug/pcmcia conflict with combo ethernet/modem (fwd)
In-Reply-To: <Pine.LNX.4.61.0509201256570.29909@wm7d.net>
References: <Pine.LNX.4.61.0509201256570.29909@wm7d.net>
	<Pine.LNX.4.61.0508041215420.8285@wm7d.net>
	<20050816090012.GB9755@dominikbrodowski.de>
	<Pine.LNX.4.61.0508241723250.8789@wm7d.net>
Message-ID: <5840903.1127306298064.komurojun-mbn@nifty.com>


>I have the xircom ethernet/modem combo pcmcia card. On 
>insertion, the script `serial` is told that device /dev/eth0 
>has just been inserted.
>
>Have the problem for 2.6.12 and 2.6.13 (haven't tried
>any earlier kernels)
>

Please try pcmciautils and kernel-2.6.13.

http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html

Best Regards
Komuro


From jmack at wm7d.net  Wed Sep 21 09:24:40 2005
From: jmack at wm7d.net (Joseph Mack NA3T)
Date: Wed Sep 21 09:25:24 2005
Subject: trying to get unknown Linksys 802.11b cardbus card running.
In-Reply-To: <20050919203631.GB32410@isilmar.linta.de>
References: <Pine.LNX.4.61.0509191009070.20417@wm7d.net>
	<20050919203631.GB32410@isilmar.linta.de>
Message-ID: <Pine.LNX.4.61.0509210623480.15430@wm7d.net>

On Mon, 19 Sep 2005, Dominik Brodowski wrote:

> So it seems to be an ADMtek 8211 chipset, which leads us back to:
> http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.drivers.802.11b.html#ADMtek

thanks. I didn't google far enough.

> Good luck for getting it to work,

will let you know

Joe

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml 
Homepage http://www.austintek.com/ It's GNU/Linux!

From bregor at sf.anu.edu.au  Thu Sep 22 03:58:30 2005
From: bregor at sf.anu.edu.au (Roger W. Brown)
Date: Thu Sep 22 03:59:25 2005
Subject: Novatel-Wireless U530/HP-ZD8004ap
Message-ID: <200509221758.30578.bregor@sf.anu.edu.au>

Hi.

May I request help to diagnose a problem I have with a
Novatel-U530 wireless-modem PCcard and my HP-Pavilion,
ZD8004ap laptop.  This is a preliminary request, as I
suspect that the HP-bios may be the cause and I'll
try to duplicate the problem on another machine, before
assembling a complete list of all the relevant messages etc.


Ref:  linux-2.6.14-rc2
        pcmciautils-010,  STARTUP = true  UDEV = true
        512 MByte memory.

/etc/udev/rules.d/10-local.rules
BUS="pcmcia", KERNEL="ttyS*', SYSFS{manf_id}="0x00a4", SYSFS{card_id}="0x1aaf", NAME="%k", SYMLINK="modem%n"


The U530 has two serial ports.
On inserting the U530, directories 0.0 and 0.1 appear
under the yenta_cardbus directory:
/sys/devices/pci0000\:00//0000:00:1e.0/0000:0b:00.0

An odd feature is that the "driver" entries are missing.
pccardctl info shows:
PRODID_1="Novatel Wireless"
PRODID_2="Merlin UMTS Modem"
PRODID_3="NRM6831"
PRODID_4=""
MANFID=00a4,1aaf
FUNCID=2

pccardctl ident shows:
Socket 0:
  product info: "Novatel Wireless", "Merlin UMTS Modem", "NRM6831", ""
  manfid: 0x00a4, 0x1aaf
  function: 2 (serial)


I'm just learning about udev-rules and I am not confident with them,
so to connect a driver, I added
PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x1aaf),
to the serial_cs.c kernel code.  "device" links appeared in the
appropriate /sys directories.

On inserting the U530, the syslog reports:

 kernel: pci_hotplug: PCI Hot Plug PCI Core version: 0.5
 kernel: ACPI: PCI Interrupt 0000:0b:00.0[A] -> GSI 16 (level, low) -> IRQ 16
 kernel: Yenta: CardBus bridge found at 0000:0b:00.0 [103c:3082]
 kernel: Yenta: ISA IRQ mask 0x0cf8, PCI irq 16
 kernel: Socket status: 30000006
 kernel: pcmcia: parent PCI bridge I/O window: 0x5000 - 0x5fff
 kernel: cs: IO port probe 0x5000-0x5fff: clean.
 kernel: pcmcia: parent PCI bridge Memory window: 0xc8200000 - 0xc82fffff
 kernel: pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x31ffffff

              ----  U530 card inserted here  ----

 kernel: cs: memory probe 0xc8200000-0xc82fffff: excluding 0xc8200000-0xc820ffff
 kernel: ttyS0 at I/O 0x5100 (irq = 3) is a 16550A
 kernel: serial_cs: no usable port range found, giving up
 kernel: 0.1: RequestIO: No more items

I have tried to use "setserial" to reassign the ttyS0 irq but it did not help.
The ZD8004ap does not have a DB-15/RS-232 socket but the "serport" module was
built and loaded before "serial_cs".

That's it for the moment.  Any hints/suggestions etc are most welcome.
In the meantime, I'll try a more stable laptop, but that may take a day or two
and in the end, it's still the HP machine that I wish to use..

=================================================================================
 aegis kernel: BIOS-provided physical RAM map:
 aegis kernel:  BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
 aegis kernel:  BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
 aegis kernel:  BIOS-e820: 00000000000d8000 - 00000000000e0000 (reserved)
 aegis kernel:  BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
 aegis kernel:  BIOS-e820: 0000000000100000 - 000000001fef0000 (usable)
 aegis kernel:  BIOS-e820: 000000001fef0000 - 000000001fef9000 (ACPI data)
 aegis kernel:  BIOS-e820: 000000001fef9000 - 000000001ff00000 (ACPI NVS)
 aegis kernel:  BIOS-e820: 000000001ff00000 - 0000000020000000 (reserved)
 aegis kernel:  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 aegis kernel:  BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
 aegis kernel: 510MB LOWMEM available.
 aegis kernel: found SMP MP-table at 000f7a70
 aegis kernel: On node 0 totalpages: 130800
 aegis kernel:   DMA zone: 4096 pages, LIFO batch:1
 aegis kernel:   Normal zone: 126704 pages, LIFO batch:31
 aegis kernel:   HighMem zone: 0 pages, LIFO batch:1
 aegis kernel: DMI present.
 aegis kernel: ACPI: RSDP (v000 HP                                    ) @ 0x000f79c0
 aegis kernel: ACPI: RSDT (v001 HP     3082     0x06040000  LTP 0x00000000) @ 0x1fef1a59
 aegis kernel: ACPI: FADT (v001 HP     3082     0x06040000 PTL  0x00000003) @ 0x1fef8ec0
 aegis kernel: ACPI: MCFG (v001 HP     3082     0x06040000  LTP 0x00000000) @ 0x1fef8f34
 aegis kernel: ACPI: MADT (v001 HP     3082     0x06040000  LTP 0x00000000) @ 0x1fef8f70
 aegis kernel: ACPI: BOOT (v001     HP 3082     0x06040000  LTP 0x00000001) @ 0x1fef8fd8
 aegis kernel: ACPI: DSDT (v001 HP     3082     0x06040000 MSFT 0x0100000e) @ 0x00000000
 aegis kernel: ACPI: Local APIC address 0xfee00000
 aegis kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
 aegis kernel: Processor #0 15:4 APIC version 20
 aegis kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
 aegis kernel: Processor #1 15:4 APIC version 20
 aegis kernel: WARNING: NR_CPUS limit of 1 reached.  Processor ignored.
 aegis kernel: ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
 aegis kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
 aegis kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
 aegis kernel: IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
 aegis kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
 aegis kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
 aegis kernel: ACPI: IRQ0 used by override.
 aegis kernel: ACPI: IRQ2 used by override.
 aegis kernel: ACPI: IRQ9 used by override.
 aegis kernel: Enabling APIC mode:  Flat.  Using 1 I/O APICs
 aegis kernel: Using ACPI (MADT) for SMP configuration information
 aegis kernel: Allocating PCI resources starting at 30000000 (gap: 20000000:dec00000)
 aegis kernel: Built 1 zonelists

                   ---------------  SNIP  ----------------------
 aegis kernel: PCI: Using MMCONFIG
 aegis kernel: ACPI: Subsystem revision 20050902
 aegis kernel: ACPI: Interpreter enabled
 aegis kernel: ACPI: Using IOAPIC for interrupt routing
 aegis kernel: ACPI: PCI Root Bridge [PCI0] (0000:00)
 aegis kernel: PCI: Probing PCI hardware (bus 00)
 aegis kernel: PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
 aegis kernel: Boot video device is 0000:01:00.0
 aegis kernel: PCI: Transparent bridge - 0000:00:1e.0
 aegis kernel: ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
 aegis kernel: ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEG_._PRT]
 aegis kernel: ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP0._PRT]
 aegis kernel: ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
 aegis kernel: ACPI: PCI Interrupt Link [LNKA] (IRQs 3 *10 11 14 15)
 aegis kernel: ACPI: PCI Interrupt Link [LNKB] (IRQs 3 10 11 14 15) *5
 aegis kernel: ACPI: PCI Interrupt Link [LNKC] (IRQs 3 10 *11 14 15)
 aegis kernel: ACPI: PCI Interrupt Link [LNKD] (IRQs 3 10 11 14 15) *7
 aegis kernel: ACPI: PCI Interrupt Link [LNKE] (IRQs 3 10 11 14 15) *7
 aegis kernel: ACPI: PCI Interrupt Link [LNKF] (IRQs 3 10 11 14 15) *0, disabled.
 aegis kernel: ACPI: PCI Interrupt Link [LNKG] (IRQs 3 10 *11 14 15)
 aegis kernel: ACPI: PCI Interrupt Link [LNKH] (IRQs 3 10 11 14 15) *7
 aegis kernel: ACPI: Embedded Controller [EC0] (gpe 29)
 aegis kernel: Linux Plug and Play Support v0.97 (c) Adam Belay
 aegis kernel: pnp: PnP ACPI init
 aegis kernel: pnp: PnP ACPI: found 9 devices
 aegis kernel: usbcore: registered new driver usbfs
 aegis kernel: usbcore: registered new driver hub
 aegis kernel: PCI: Using ACPI for IRQ routing
 aegis kernel: PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
 aegis kernel: PCI: Cannot allocate resource region 7 of bridge 0000:00:1c.0
 aegis kernel: PCI: Cannot allocate resource region 8 of bridge 0000:00:1c.0
 aegis kernel: PCI: Cannot allocate resource region 9 of bridge 0000:00:1c.0
 aegis kernel: PCI: Bridge: 0000:00:01.0
 aegis kernel:   IO window: 4000-4fff
 aegis kernel:   MEM window: c8100000-c81fffff
 aegis kernel:   PREFETCH window: d0000000-d7ffffff
 aegis kernel: PCI: Bridge: 0000:00:1c.0
 aegis kernel:   IO window: disabled.
 aegis kernel:   MEM window: disabled.
 aegis kernel:   PREFETCH window: disabled.
 aegis kernel: PCI: Bus 12, cardbus bridge: 0000:0b:00.0
 aegis kernel:   IO window: 00002000-00002fff
 aegis kernel:   IO window: 00006000-00006fff
 aegis kernel:   PREFETCH window: 30000000-31ffffff
 aegis kernel:   MEM window: 32000000-33ffffff
 aegis kernel: PCI: Bridge: 0000:00:1e.0
 aegis kernel:   IO window: 5000-5fff
 aegis kernel:   MEM window: c8200000-c82fffff
 aegis kernel:   PREFETCH window: 30000000-31ffffff
 aegis kernel: ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
 aegis kernel: PCI: Setting latency timer of device 0000:00:01.0 to 64
 aegis kernel: PCI: Device 0000:00:1c.0 not available because of resource collisions
 aegis kernel: PCI: Setting latency timer of device 0000:00:1c.0 to 64
 aegis kernel: PCI: Setting latency timer of device 0000:00:01.0 to 64
 aegis kernel: assign_interrupt_mode Found MSI capability
 aegis kernel: Allocate Port Service[pcie00]
 aegis kernel: Allocate Port Service[pcie03]
 aegis kernel: PCI: Device 0000:00:1c.0 not available because of resource collisions
 aegis kernel: ACPI: Battery Slot [BAT1] (battery absent)
 aegis kernel: ACPI: Power Button (FF) [PWRF]
 aegis kernel: ACPI: Lid Switch [LID0]
 aegis kernel: ACPI: Power Button (CM) [PWRB]
 aegis kernel: ACPI: Sleep Button (CM) [SLPB]
 aegis kernel: ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
 aegis kernel: ACPI: CPU0 (power states: C1[C1])
 aegis kernel: ACPI: Processor [CPU0] (supports 8 throttling states)
 aegis kernel: ACPI: Thermal Zone [THRM] (54 C)
 aegis kernel: isapnp: Scanning for PnP cards...
 aegis kernel: isapnp: No Plug & Play device found
 aegis kernel: Real Time Clock Driver v1.12
 aegis kernel: Non-volatile memory driver v1.2
 aegis kernel: hw_random: cannot enable RNG, aborting
 aegis kernel: PNP: PS/2 Controller [PNP0303:KBC0,PNP0f13:MSE0] at 0x60,0x64 irq 1,12
 aegis kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
 aegis kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
 aegis kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
aegis kernel: ACPI: PCI Interrupt 0000:00:1e.3[A] -> GSI 22 (level, low) -> IRQ 17
 aegis kernel: ACPI: PCI interrupt for device 0000:00:1e.3 disabled
 aegis kernel: io scheduler noop registered
 aegis kernel: io scheduler anticipatory registered
 aegis kernel: io scheduler deadline registered
 aegis kernel: io scheduler cfq registered
 aegis kernel: loop: loaded (max 8 devices)
 aegis kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
 aegis kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
 aegis kernel: ICH6: IDE controller at PCI slot 0000:00:1f.1
 aegis kernel: ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 18
 aegis kernel: ICH6: chipset revision 3
 aegis kernel: ICH6: not 100% native mode: will probe irqs later
 aegis kernel:     ide0: BM-DMA at 0x3c40-0x3c47, BIOS settings: hda:DMA, hdb:DMA
 aegis kernel: Probing IDE interface ide0...
 aegis kernel: hda: ST9808211A, ATA DISK drive
 aegis kernel: hdb: HL-DT-ST DVD-RW GCA-4080N, ATAPI CD/DVD-ROM drive
 aegis kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
 aegis kernel: Probing IDE interface ide1...
 aegis kernel: hda: max request size: 1024KiB
 aegis kernel: hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=16383/255/63, UDMA(100)
 aegis kernel: hda: cache flushes supported
 aegis kernel:  hda: hda1 hda2 hda3 hda4
 aegis kernel: hdb: ATAPI 31X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, DMA
 aegis kernel: Uniform CD-ROM driver Revision: 3.20
 aegis kernel: usbmon: debugfs is not available
 aegis kernel: usbcore: registered new driver usbhid
 aegis kernel: drivers/usb/input/hid-core.c: v2.6:USB HID core driver
 aegis kernel: mice: PS/2 mouse device common for all mice
 aegis kernel: i2c /dev entries driver


From mario-fetka at gmx.at  Thu Sep 22 04:14:31 2005
From: mario-fetka at gmx.at (Mario Fetka)
Date: Thu Sep 22 05:17:41 2005
Subject: card manager hangs
Message-ID: <200509221014.31862.mario-fetka@gmx.at>

Hallo all,

I own'd a new Toschiba Laptop A view weeks ago but i couldnt get pcmcia to 
work.
The Cardbus bridge is a ene 712/4 
the card manager Hangs.

the lspci output:

0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express 
Processor to DRAM Controller (rev 03)
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] #09 [2109]

0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express 
Root Port (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: b8100000-b81fffff
	Prefetchable memory behind bridge: c8000000-cfffffff
	Capabilities: [88] #0d [0000]
	Capabilities: [80] Power Management version 2
	Capabilities: [90] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [a0] #10 [0141]

0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
PCI Express Port 1 (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: bc000000-bfffffff
	Prefetchable memory behind bridge: 00000000d0000000-00000000d3f00000
	Capabilities: [40] #10 [0141]
	Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [90] #0d [0000]
	Capabilities: [a0] Power Management version 2

0000:00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
PCI Express Port 2 (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: c0000000-c3ffffff
	Prefetchable memory behind bridge: 00000000d4000000-00000000d7f00000
	Capabilities: [40] #10 [0141]
	Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
	Capabilities: [90] #0d [0000]
	Capabilities: [a0] Power Management version 2

0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 
Family) USB UHCI #1 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 19
	I/O ports at 1800 [size=32]

0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 
Family) USB UHCI #2 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 20
	I/O ports at 1820 [size=32]

0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 
Family) USB UHCI #3 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 21
	I/O ports at 1840 [size=32]

0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 
Family) USB UHCI #4 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 16
	I/O ports at 1860 [size=32]

0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 
Family) USB2 EHCI Controller (rev 03) (prog-if 20 [EHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 19
	Memory at b8000000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 2
	Capabilities: [58] #0a [20a0]

0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3) 
(prog-if 01 [Subtractive decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=06, subordinate=0a, sec-latency=32
	I/O behind bridge: 00006000-00006fff
	Memory behind bridge: c4000000-c40fffff
	Prefetchable memory behind bridge: 0000000040000000-0000000041f00000
	Capabilities: [50] #0d [0000]

0000:00:1e.2 Multimedia audio controller: Intel Corporation 
82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0, IRQ 17
	I/O ports at 1c00 [size=256]
	I/O ports at 1880 [size=64]
	Memory at b8000800 (32-bit, non-prefetchable) [size=512]
	Memory at b8000400 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 2

0000:00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])
	Subsystem: Toshiba America Info Systems: Unknown device 0001
	Flags: bus master, medium devsel, latency 0, IRQ 18
	I/O ports at 2400 [size=256]
	I/O ports at 2000 [size=128]
	Capabilities: [50] Power Management version 2

0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface 
Bridge (rev 03)
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 0

0000:00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller 
(rev 03) (prog-if 80 [Master])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 20
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at 18f0 [size=16]
	Capabilities: [70] Power Management version 2

0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
SMBus Controller (rev 03)
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: medium devsel, IRQ 11
	I/O ports at 20a0 [size=32]

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility 
X700 (PCIE) (prog-if 00 [VGA])
	Subsystem: Toshiba America Info Systems: Unknown device ff01
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at c8000000 (32-bit, prefetchable) [size=128M]
	I/O ports at 3000 [size=256]
	Memory at b8100000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at b8120000 [disabled] [size=128K]
	Capabilities: [50] Power Management version 2
	Capabilities: [58] #10 [0001]
	Capabilities: [80] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-

0000:06:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 
Controller (PHY/Link) (prog-if 10 [OHCI])
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 32, IRQ 18
	Memory at c4004000 (32-bit, non-prefetchable) [size=2K]
	Memory at c4000000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [44] Power Management version 2

0000:06:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8139/8139C/8139C+ (rev 10)
	Subsystem: Toshiba America Info Systems: Unknown device ff00
	Flags: bus master, medium devsel, latency 32, IRQ 22
	I/O ports at 6000 [size=256]
	Memory at c4004800 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 2

0000:06:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 
05)
	Subsystem: Intel Corporation: Unknown device 2741
	Flags: bus master, medium devsel, latency 32, IRQ 23
	Memory at c4005000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [dc] Power Management version 2

0000:06:04.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller 
(rev 10)
	Subsystem: Toshiba America Info Systems: Unknown device ff01
	Flags: bus master, medium devsel, latency 168, IRQ 16
	Memory at c4006000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176
	Memory window 0: 40000000-41fff000 (prefetchable)
	Memory window 1: 42000000-43fff000
	I/O window 0: 00007000-00007fff
	I/O window 1: 00008000-00008fff
	16-bit legacy interface ports at 0001

0000:06:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader 
Controller (rev 01)
	Subsystem: Toshiba America Info Systems: Unknown device ff01
	Flags: bus master, medium devsel, latency 32, IRQ 10
	Memory at c4004c00 (32-bit, non-prefetchable) [size=128]
	Capabilities: [80] Power Management version 2

0000:06:04.2 Class 0805: ENE Technology Inc ENE PCI Secure Digital Card Reader 
Controller (rev 01) (prog-if 01)
	Subsystem: Toshiba America Info Systems: Unknown device ff02
	Flags: bus master, medium devsel, latency 32, IRQ 10
	Memory at c4007000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [80] Power Management version 2

0000:06:04.3 FLASH memory: ENE Technology Inc: Unknown device 0520 (rev 01)
	Subsystem: Toshiba America Info Systems: Unknown device ff01
	Flags: bus master, medium devsel, latency 32, IRQ 10
	Memory at c4007400 (32-bit, non-prefetchable) [size=128]
	Capabilities: [80] Power Management version 2

0000:06:04.4 FLASH memory: ENE Technology Inc: Unknown device 0551 (rev 01)
	Subsystem: Toshiba America Info Systems: Unknown device ff02
	Flags: medium devsel, IRQ 255
	Memory at c4004900 (32-bit, non-prefetchable) [disabled] [size=256]
	Capabilities: [80] Power Management version 2

plz help me

wfg
Mario

From linux at dominikbrodowski.net  Thu Sep 22 05:30:37 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 05:31:08 2005
Subject: card manager hangs
In-Reply-To: <200509221014.31862.mario-fetka@gmx.at>
References: <200509221014.31862.mario-fetka@gmx.at>
Message-ID: <20050922093037.GA21530@isilmar.linta.de>

Hi,

Please send a full "dmesg" output. Does "cardmgr" hang during startup,
locking the system up; or does it hang after you insert a card?

Thanks,
	Dominik

From Mario-Fetka at gmx.at  Thu Sep 22 10:05:39 2005
From: Mario-Fetka at gmx.at (Fetka Mario)
Date: Thu Sep 22 10:08:16 2005
Subject: card manager hangs
References: <10467.1127396438@www59.gmx.net>
Message-ID: <27271.1127397939@www10.gmx.net>


Hallo all,
Here is the wanted dmesg output:

Linux version 2.6.13-gentoo-r1 (root@tiulk) (gcc version 3.4.4 (Gentoo
3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #1 SMP Tue Sep 20 13:58:21 GMT 2005
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fee0000 (usable)
 BIOS-e820: 000000003fee0000 - 000000003feea000 (ACPI data)
 BIOS-e820: 000000003feea000 - 000000003ff00000 (ACPI NVS)
 BIOS-e820: 000000003ff00000 - 0000000040000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0006000 (reserved)
 BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
 BIOS-e820: 00000000fed20000 - 00000000fed90000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
126MB HIGHMEM available.
896MB LOWMEM available.
On node 0 totalpages: 261856
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 225280 pages, LIFO batch:31
  HighMem zone: 32480 pages, LIFO batch:15
DMI present.
ACPI: RSDP (v000 TOSCPL                                ) @ 0x000f6bd0
ACPI: RSDT (v001 TOSCPL   RSDT   0x06040000  LTP 0x00000000) @ 0x3fee39f5
ACPI: MADT (v001 INTEL  ALVISO   0x06040000 LOHR 0x0000005f) @ 0x3fee9e88
ACPI: FADT (v001 TOSCPL ALVISO   0x06040000 LOHR 0x00000032) @ 0x3fee9ef0
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x3fee9fd8
ACPI: MCFG (v001 INTEL  ALVISO   0x06040000 LOHR 0x0000005f) @ 0x3fee9f9c
ACPI: SSDT (v001 SataRe  SataPri 0x00001000 INTL 0x20030224) @ 0x3fee490b
ACPI: SSDT (v001 SataRe  SataSec 0x00001000 INTL 0x20030224) @ 0x3fee4279
ACPI: SSDT (v001  PmRef  Cpu0Ist 0x00003000 INTL 0x20030224) @ 0x3fee3e34
ACPI: SSDT (v001  PmRef  Cpu0Cst 0x00003001 INTL 0x20030224) @ 0x3fee3c56
ACPI: SSDT (v001  PmRef    CpuPm 0x00003000 INTL 0x20030224) @ 0x3fee3a3d
ACPI: DSDT (v001 TOSCPL ALVISO   0x06040000 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 6:13 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 40000000 (gap: 40000000:a0000000)
Built 1 zonelists
Kernel command line: root=/dev/ram0 init=/linuxrc ramdisk=8192
real_root=/dev/sda3 udev
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Initializing CPU#0
CPU 0 irqstacks, hard=c0496000 soft=c048e000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 1862.490 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1031488k/1047424k available (2673k kernel code, 15000k reserved,
730k data, 212k init, 129920k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 3729.74 BogoMIPS
(lpj=7459490)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: afe9fbff 00000000 00000000 00000000
00000180 00000000 00000000
CPU: After vendor identify, caps: afe9fbff 00000000 00000000 00000000
00000180 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: After all inits, caps: afe9fbff 00000000 00000000 00000040 00000180
00000000 00000000
mtrr: v2.0 (20020519)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
CPU0: Intel(R) Pentium(R) M processor 1.86GHz stepping 08
Total of 1 processors activated (3729.74 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=-1
Brought up 1 CPUs
checking if image is initramfs... it is
Freeing initrd memory: 1752k freed
NET: Registered protocol family 16
EISA bus registered
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfd904, last bus=7
PCI: Using MMCONFIG
ACPI: Subsystem revision 20050408
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] segment is 0
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.2
Boot video device is 0000:01:00.0
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEGP._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 *10 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *10
ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12 14 15) *11
ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *11
ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *11
ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 *11 12 14 15)
ACPI: Embedded Controller [EC0] (gpe 29)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 8 devices
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a
report
pnp: 00:00: ioport range 0xfe00-0xfe7f has been reserved
pnp: 00:00: ioport range 0xfe80-0xfeff has been reserved
pnp: 00:00: ioport range 0xff00-0xff7f has been reserved
PCI: Bridge: 0000:00:01.0
  IO window: 3000-3fff
  MEM window: b8100000-b81fffff
  PREFETCH window: c8000000-cfffffff
PCI: Bridge: 0000:00:1c.0
  IO window: 4000-4fff
  MEM window: bc000000-bfffffff
  PREFETCH window: d0000000-d3ffffff
PCI: Bridge: 0000:00:1c.1
  IO window: 5000-5fff
  MEM window: c0000000-c3ffffff
  PREFETCH window: d4000000-d7ffffff
PCI: Bus 7, cardbus bridge: 0000:06:04.0
  IO window: 00007000-00007fff
  IO window: 00008000-00008fff
  PREFETCH window: 40000000-41ffffff
  MEM window: 42000000-43ffffff
PCI: Bridge: 0000:00:1e.0
  IO window: 6000-6fff
  MEM window: c4000000-c40fffff
  PREFETCH window: 40000000-41ffffff
ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:01.0 to 64
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.0 to 64
ACPI: PCI Interrupt 0000:00:1c.1[B] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.1 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
ACPI: PCI Interrupt 0000:06:04.0[A] -> GSI 16 (level, low) -> IRQ 16
Simple Boot Flag at 0x36 set to 0x1
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SGI XFS with ACLs, security attributes, realtime, large block numbers, no
debug enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:01.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie02]
Allocate Port Service[pcie03]
ACPI: PCI Interrupt 0000:00:1c.1[B] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.1 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie02]
Allocate Port Service[pcie03]
vesafb: (C) 1988-2005, ATI Technologies Inc. , M26P, 01.00 (OEM: ATI
ATOMBIOS)
vesafb: VBE version: 3.0
vesafb: protected mode interface info at c000:af9a
vesafb: pmi: set display start = c00cb028, set palette = c00cb068
vesafb: hardware supports DDC2 transfers
vesafb: monitor limits: vf = 59 Hz, hf = 55 kHz, clk = 96 MHz
vesafb: trying maximum allowed refresh rate
vesafb: using default BIOS refresh rate
vesafb: scrolling: redraw
Console: switching to colour frame buffer device 80x30
vesafb: framebuffer at 0xc8000000, mapped to 0xf8880000, using 16384k, total
16384k
fb0: VESA VGA frame buffer device
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
i8042.c: Detected active multiplexing controller, rev 1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ACPI: PCI Interrupt 0000:00:1e.3[B] -> GSI 20 (level, low) -> IRQ 18
ACPI: PCI interrupt for device 0000:00:1e.3 disabled
mice: PS/2 mouse device common for all mice
io scheduler noop registered
io scheduler deadline registered
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide0: I/O resource 0x1F0-0x1F7 not free.
ide0: ports already in use, skipping probe
Probing IDE interface ide1...
input: AT Translated Set 2 keyboard on isa0060/serio0
hdc: DV-W28EAT, ATAPI CD/DVD-ROM drive
input: PS/2 Mouse on isa0060/serio4
input: AlpsPS/2 ALPS GlidePoint on isa0060/serio4
ide1 at 0x170-0x177,0x376 on irq 15
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 1419kB Cache
Uniform CD-ROM driver Revision: 3.20
EISA: Probing bus 0 at eisa.0
Cannot allocate resource for EISA slot 1
Cannot allocate resource for EISA slot 2
Cannot allocate resource for EISA slot 3
Cannot allocate resource for EISA slot 4
Cannot allocate resource for EISA slot 5
Cannot allocate resource for EISA slot 6
Cannot allocate resource for EISA slot 7
Cannot allocate resource for EISA slot 8
EISA: Detected 0 cards.
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
Freeing unused kernel memory: 212k freed
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: debug port 1
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: irq 19, io mem 0xb8000000
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v2.3
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 19, io base 0x00001800
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 20, io base 0x00001820
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 21, io base 0x00001840
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 16, io base 0x00001860
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
sl811: driver sl811-hcd, 19 May 2005
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1299 $ Ben Collins <bcollins@debian.org>
ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 20 (level, low) -> IRQ 18
usb 4-1: new low speed USB device using uhci_hcd and address 2
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[18]  MMIO=[c4004000-c40047ff] 
Max Packet=[2048]
sbp2: $Rev: 1306 $ Ben Collins <bcollins@debian.org>
libata version 1.12 loaded.
input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on
usb-0000:00:1d.2-1
input: PS/2 Mouse on isa0060/serio4
input: AlpsPS/2 ALPS GlidePoint on isa0060/serio4
ahci version 1.01
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 20
ACPI: PCI interrupt for device 0000:00:1f.2 disabled
ahci: probe of 0000:00:1f.2 failed with error -12
ata_piix version 1.04
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 20
ata: 0x170 IDE port busy
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18F0 irq 14
ata1: dev 0 cfg 49:0f00 82:746b 83:7fe9 84:6023 85:f469 86:3d49 87:6023
88:203f
ata1: dev 0 ATA, max UDMA/100, 155910825 sectors: lba48
ata1(0): applying bridge limits
ata1: dev 0 configured for UDMA/100
scsi0 : ata_piix
  Vendor: ATA       Model: HTS541080G9AT00   Rev: MB4O
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 155910825 512-byte hdwr sectors (79826 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 155910825 512-byte hdwr sectors (79826 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4 < sda5 sda6 >
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
ReiserFS: sda3: found reiserfs format "3.6" with standard journal
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00023f5776405376]
ReiserFS: sda3: using ordered data mode
ReiserFS: sda3: journal params: device sda3, size 8192, journal first block
18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: sda3: checking transaction log (sda3)
ReiserFS: sda3: Using r5 hash to sort names
Adding 1020088k swap on /dev/sda5.  Priority:-1 extents:1
ACPI: AC Adapter [ACAD] (on-line)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID0]
ACPI: Power Button (CM) [PWRB]
ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3] C4[C3])
ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
ACPI: Video Device [GFX0] (multi-head: yes  rom: yes  post: no)
8139too Fast Ethernet driver 0.9.27
ACPI: PCI Interrupt 0000:06:01.0[A] -> GSI 21 (level, low) -> IRQ 22
eth0: RealTek RTL8139 at 0xf9aa6800, 00:0f:b0:90:7a:95, IRQ 22
eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
ieee80211_crypt: registered algorithm 'NULL'
ieee80211: 802.11 data/management/control stack, 1.0.3
ieee80211: Copyright (C) 2004-2005 Intel Corporation
<jketreno@linux.intel.com>
ipw2200: no version for "ieee80211_wx_get_encodeext" found: kernel tainted.
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.6
ipw2200: Copyright(c) 2003-2004 Intel Corporation
ACPI: PCI Interrupt 0000:06:02.0[A] -> GSI 22 (level, low) -> IRQ 23
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Radio Frequency Kill Switch is On:
Kill switch must be turned off for wireless networking to work.
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 915GM Chipset.
agpgart: AGP aperture is 256M @ 0x0
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg,
GERMANY' taints kernel.
[fglrx] Maximum main memory to use for locked dma buffers: 927 MBytes.
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
[fglrx] module loaded - fglrx 8.16.20 [Aug 16 2005] on minor 0
EXT2-fs warning (device sda1): ext2_fill_super: mounting ext3 filesystem as
ext2

kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sda2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ACPI: PCI Interrupt 0000:00:1e.2[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1e.2 to 64
intel8x0_measure_ac97_clock: measured 87481 usecs
intel8x0: clocking to 48000
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)
ACPI: PCI Interrupt 0000:06:04.0[A] -> GSI 16 (level, low) -> IRQ 16
Yenta: CardBus bridge found at 0000:06:04.0 [1179:ff01]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:06:04.0, mfunc 0x89501212, devctl 0x44
Yenta: ISA IRQ mask 0x0cf8, PCI irq 16
Socket status: 30000006
pcmcia: parent PCI bridge I/O window: 0x6000 - 0x6fff
cs: IO port probe 0x6000-0x6fff: clean.
pcmcia: parent PCI bridge Memory window: 0xc4000000 - 0xc40fffff
pcmcia: parent PCI bridge Memory window: 0x40000000 - 0x41ffffff
Real Time Clock Driver v1.12
ACPI: PCI Interrupt 0000:00:1e.3[B] -> GSI 20 (level, low) -> IRQ 18
PCI: Setting latency timer of device 0000:00:1e.3 to
64
ALSA
/var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/pci/ac97/../../alsa-kernel/pci/ac97/ac97_codec.c:1993:
MC'97 1 converters and GPIO not ready (0xf00f)
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: recovery directory /var/lib/nfs/v4recovery doesn't exist
NFSD: starting 90-second grace period
hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
hdc: drive_cmd: error=0x04 { AbortedCommand }
ide: failed opcode was: 0xec
hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
hdc: drive_cmd: error=0x04 { AbortedCommand }
ide: failed opcode was: 0xec
hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
hdc: drive_cmd: error=0x04 { AbortedCommand }
ide: failed opcode was: 0xec
/dev/vmmon[14138]: Module vmmon: registered with major=10 minor=165
/dev/vmmon[14138]: Module vmmon: initialized
/dev/vmnet: open called by PID 14241 (vmnet-bridge)
/dev/vmnet: hub 0 does not exist, allocating memory.
/dev/vmnet: port on hub 0 successfully opened
bridge-eth0: enabling the bridge
bridge-eth0: up
bridge-eth0: already up
bridge-eth0: attached
/dev/vmnet: open called by PID 14267 (vmnet-natd)
/dev/vmnet: hub 8 does not exist, allocating memory.
/dev/vmnet: port on hub 8 successfully opened
[fglrx] free  PCIe = 51118080
[fglrx] max   PCIe = 51118080
[fglrx] free  LFB = 120107008
[fglrx] max   LFB = 120107008
[fglrx] free  Inv = 0
[fglrx] max   Inv = 0
[fglrx] total Inv = 0
[fglrx] total TIM = 0
[fglrx] total FB  = 0
[fglrx] total PCIe = 16384
/dev/vmnet: open called by PID 14974 (vmnet-netifup)
/dev/vmnet: hub 1 does not exist, allocating memory.
/dev/vmnet: port on hub 1 successfully opened
/dev/vmnet: open called by PID 14975 (vmnet-netifup)
/dev/vmnet: port on hub 8 successfully opened
/dev/vmnet: open called by PID 15023 (vmnet-dhcpd)
/dev/vmnet: port on hub 1 successfully opened
/dev/vmnet: open called by PID 15022 (vmnet-dhcpd)
/dev/vmnet: port on hub 8 successfully opened

The cardmgr hang during startup and lock the system


> --- Urspr?ngliche Nachricht ---
> Von: Dominik Brodowski <linux@dominikbrodowski.net>
> An: Mario Fetka <mario-fetka@gmx.at>
> Kopie: linux-pcmcia@lists.infradead.org
> Betreff: Re: card manager hangs
> Datum: Thu, 22 Sep 2005 11:30:37 +0200
> 
> Hi,
> 
> Please send a full "dmesg" output. Does "cardmgr" hang during startup,
> locking the system up; or does it hang after you insert a card?
> 
> Thanks,
> 	Dominik
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia
> 

-- 
Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen f?r GMX Partner: http://www.gmx.net/de/go/partner

-- 
GMX DSL = Maximale Leistung zum minimalen Preis!
2000 MB nur 2,99, Flatrate ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl

From linux at dominikbrodowski.net  Thu Sep 22 15:12:17 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 15:12:53 2005
Subject: Novatel-Wireless U530/HP-ZD8004ap
In-Reply-To: <200509221758.30578.bregor@sf.anu.edu.au>
References: <200509221758.30578.bregor@sf.anu.edu.au>
Message-ID: <20050922191217.GB16461@isilmar.linta.de>

Hi,

On Thu, Sep 22, 2005 at 05:58:30PM +1000, Roger W. Brown wrote:
> The U530 has two serial ports.
> On inserting the U530, directories 0.0 and 0.1 appear
> under the yenta_cardbus directory:
> /sys/devices/pci0000\:00//0000:00:1e.0/0000:0b:00.0

Excellent, this means that the two sub-devices are detected correctly.

> An odd feature is that the "driver" entries are missing.

This means the driver was not bound to the device yet, or the binding
failed.

> I'm just learning about udev-rules and I am not confident with them,
> so to connect a driver, I added
> PCMCIA_DEVICE_MANF_CARD(0x00a4, 0x1aaf),
> to the serial_cs.c kernel code.  "device" links appeared in the
> appropriate /sys directories.

>  kernel: pci_hotplug: PCI Hot Plug PCI Core version: 0.5
>  kernel: ACPI: PCI Interrupt 0000:0b:00.0[A] -> GSI 16 (level, low) -> IRQ 16
>  kernel: Yenta: CardBus bridge found at 0000:0b:00.0 [103c:3082]
>  kernel: Yenta: ISA IRQ mask 0x0cf8, PCI irq 16
>  kernel: Socket status: 30000006
>  kernel: pcmcia: parent PCI bridge I/O window: 0x5000 - 0x5fff
>  kernel: cs: IO port probe 0x5000-0x5fff: clean.
>  kernel: pcmcia: parent PCI bridge Memory window: 0xc8200000 - 0xc82fffff
>  kernel: pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x31ffffff
> 
>               ----  U530 card inserted here  ----
> 
>  kernel: cs: memory probe 0xc8200000-0xc82fffff: excluding 0xc8200000-0xc820ffff
>  kernel: ttyS0 at I/O 0x5100 (irq = 3) is a 16550A
>  kernel: serial_cs: no usable port range found, giving up
>  kernel: 0.1: RequestIO: No more items
> 
> I have tried to use "setserial" to reassign the ttyS0 irq but it did not help.

We need to distinguish here:

pcmcia0.0 - ttyS0 got loaded without problems, AFAICS. Why do you want to
reassign the IRQ? You can do that by adding "exclude irq 3" to
/etc/pcmcia/config.opts, but I do not see why you'd want to do that.

pcmcia0.1 - ttyS1 did not start, because it couldn't find appropriate
ioports in the resource database. What's in /etc/pcmcia/config.opts? Try
adding

include port 0x4000-0x4fff

to that file, and run /sbin/pcmcia-socket-startup manually.

	Dominik

From linux at dominikbrodowski.net  Thu Sep 22 16:24:16 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 16:25:05 2005
Subject: PCMCIA don't work on HP ZV6000 with FC4
In-Reply-To: <1126665971.3227.3.camel@localhost.localdomain>
References: <1126585162.4342.34.camel@localhost.localdomain>
	<1126674760.3505.0.camel@localhost.localdomain>
	<1126665971.3227.3.camel@localhost.localdomain>
Message-ID: <20050922202416.GA9367@isilmar.linta.de>

Hi,

Can you try booting with pci=noacpi ? It looks to me that some IRQs aren't
routed correctly. Also, you could try the kernel boot option "noapic".

	Dominik

From linux at dominikbrodowski.net  Thu Sep 22 16:27:41 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 16:28:07 2005
Subject: Problem with Wifi card in 2.6.14-rc1
In-Reply-To: <6.2.3.4.2.20050915205239.02088ee0@ipostoffice.worldnet.att.net>
References: <6.2.3.4.2.20050915205239.02088ee0@ipostoffice.worldnet.att.net>
Message-ID: <20050922202741.GB9367@isilmar.linta.de>

Hi,

On Fri, Sep 16, 2005 at 08:00:23AM -0500, Larry W. Finger wrote:
> thing I noticed is that the memory assigned to the PCI system in 
> general, and the cardbus bridge in particular has changed. The 
> differences between the 2.6.13 and 2.6.14-rc1 output from dmesg that 
> seem to be important include the following:

> -Allocating PCI resources starting at 24000000 (gap: 24000000:dbf80000)
> +Allocating PCI resources starting at 30000000 (gap: 24000000:dbf80000)
that's better -- less likely to touch shared video devices

>  PCI: Bus 2, cardbus bridge: 0000:00:0a.0
> -  IO window: 00001400-000015ff
> -  IO window: 00001800-000019ff
> -  PREFETCH window: 24000000-25ffffff
> -  MEM window: 26000000-27ffffff
> +  IO window: 00002000-00002fff
> +  IO window: 00003000-00003fff
> +  PREFETCH window: 30000000-31ffffff
> +  MEM window: 32000000-33ffffff

that's better as well -- larger areas of ioports being made available, and
memory windows which are outside a risky area.

> +ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 11 (level, 
> low) -> IRQ 11
> +PCI: Setting latency timer of device 0000:02:00.0 to 64
> +ndiswrapper: using irq 11
> +wlan0: ndiswrapper ethernet device 00:06:25:40:6f:03 using driver 
> lsbcmnds, configuration file 14E4:4320:1737:4320.5.conf
> +wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA

Looks like the driver you're using is ndiswrapper, which is unsupported.
Also, the device seems to be detected just fine, else it wouldn't state its
MAC address. Therefore, this doesn't look to be a PCMCIA/CardBus bug. You
should try asking the ndiswrapper list.

	Dominik

From linux at dominikbrodowski.net  Thu Sep 22 16:39:46 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 16:41:11 2005
Subject: Sierra Wireless CIS [Was: Re: Epia MII 10000, 2.6.13-mm2,
	cs: pcmcia_socket0: unable to apply power]
In-Reply-To: <20050917162835.GB15519@favonius>
References: <20050911063236.GA13299@favonius>
	<20050912180501.GA15894@dominikbrodowski.de>
	<20050913092041.GA1897@favonius>
	<20050913175853.GA9572@dominikbrodowski.de>
	<20050914112145.GA28246@favonius>
	<20050915202011.GA14035@isilmar.linta.de>
	<20050916050047.GB30741@favonius>
	<20050917130735.GA30876@isilmar.linta.de>
	<20050917162835.GB15519@favonius>
Message-ID: <20050922203946.GA519@isilmar.linta.de>

Hi,

The CIS in /sys/class/pcmcia_socket/pcmcia_socket0/cis looks to be useable,
even though the two additional bytes confuse me. But decoding it (using
dump_cis -f from pcmciautils, run "make debugtools" to compile it) shows no
difference.

So, I'm quite curious why serial_cs doesn't attach. Could you check (by
adding debug printk()s [if you're not confident in how to do this, I'll send
you a patch]) whether serial_cs.c::attach() gets called?

Thanks,
	Dominik


From linux at dominikbrodowski.net  Thu Sep 22 16:55:44 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 16:56:59 2005
Subject: udev / pcmcia-cs
In-Reply-To: <432F24E9.4070201@sdgsystems.com>
References: <432F12CE.8030306@sdgsystems.com>
	<20050919204008.GC32410@isilmar.linta.de>
	<432F24E9.4070201@sdgsystems.com>
Message-ID: <20050922205544.GA30068@isilmar.linta.de>

Hi,

On Mon, Sep 19, 2005 at 04:51:53PM -0400, Todd Blumer wrote:
> 2.6.11 seemed to work OK. "cardctl eject" does not unmount the device,
> and obviously, just pulling the card out doesn't work either.
> Unfortunately, it's not realistic for the project to assume that people
> will umount first. If I disable udevd, then 'cardctl eject' will call
> /etc/pcmcia/ide and the hda device will still be present so the umount
> works.

However, "cardctl eject" or its equivalent, physical ejection, already 
handles the unmount for you, AFAICS: it eventually causes ide_unregister 
to be called, which itself calls unregister_blkdev() and other cleanup
functions. Also, for users it is much more important to call "umount" 
than "cardctl eject": if the card is unmounted, a physical ejection 
shouldn't do any harm (famous last words...).

	Dominik

From Larry.Finger at lwfinger.net  Thu Sep 22 16:53:18 2005
From: Larry.Finger at lwfinger.net (Larry W. Finger)
Date: Thu Sep 22 17:00:19 2005
Subject: Problem with Wifi card in 2.6.14-rc1
In-Reply-To: <20050922202741.GB9367@isilmar.linta.de>
References: <6.2.3.4.2.20050915205239.02088ee0@ipostoffice.worldnet.att.net>
	<20050922202741.GB9367@isilmar.linta.de>
Message-ID: <6.2.3.4.2.20050922154337.020da770@ipostoffice.worldnet.att.net>

Dominik,

At 03:27 PM 9/22/2005, Dominik Brodowski wrote:
>Looks like the driver you're using is ndiswrapper, which is unsupported.
>Also, the device seems to be detected just fine, else it wouldn't state its
>MAC address. Therefore, this doesn't look to be a PCMCIA/CardBus bug. You
>should try asking the ndiswrapper list.

My driver is indeed ndiswrapper. This problem has been reported to 
the ndiswrapper list. At present, the difficulty is believed to be in 
wpa_supplicant.

Thanks for answering.

Larry


From linux at dominikbrodowski.net  Thu Sep 22 17:06:41 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 17:07:39 2005
Subject: card manager hangs
In-Reply-To: <200509221014.31862.mario-fetka@gmx.at>
	<200509222257.46302.mario-fetka@gmx.at>
References: <200509221014.31862.mario-fetka@gmx.at>
	<20050922093037.GA21530@isilmar.linta.de>
	<10467.1127396438@www59.gmx.net>
	<20050922134309.GA1622@isilmar.linta.de>
	<200509222257.46302.mario-fetka@gmx.at>
Message-ID: <20050922210641.GA16103@isilmar.linta.de>

Daniel,

Do you agree/ACK to add PCI_DEVICE_ID_ENE_712 to the list of ENE overrides?
Mario Fetka reported that using the TI1250 override resolved the lockup.

> 0000:06:04.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller 
> (rev 10)
> 	Subsystem: Toshiba America Info Systems: Unknown device ff01
> 	Flags: bus master, medium devsel, latency 168, IRQ 16
> 	Memory at c4006000 (32-bit, non-prefetchable) [size=4K]
> 	Bus: primary=06, secondary=07, subordinate=0a, sec-latency=176
> 	Memory window 0: 40000000-41fff000 (prefetchable)
> 	Memory window 1: 42000000-43fff000
> 	I/O window 0: 00007000-00007fff
> 	I/O window 1: 00008000-00008fff
> 	16-bit legacy interface ports at 0001

Thanks,
	Dominik

From daniel.ritz at gmx.ch  Thu Sep 22 17:28:29 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep 22 17:29:03 2005
Subject: card manager hangs
In-Reply-To: <20050922210641.GA16103@isilmar.linta.de>
References: <200509221014.31862.mario-fetka@gmx.at>
	<200509222257.46302.mario-fetka@gmx.at>
	<20050922210641.GA16103@isilmar.linta.de>
Message-ID: <200509222328.30388.daniel.ritz@gmx.ch>

On Thursday 22 September 2005 23.06, Dominik Brodowski wrote:
> Daniel,
> 
> Do you agree/ACK to add PCI_DEVICE_ID_ENE_712 to the list of ENE overrides?
> Mario Fetka reported that using the TI1250 override resolved the lockup.

ACK. but i would go for the TI12XX, not the TI1250 override. no datasheet
so not sure about the stuff the TI1250 override does..
and FWIW there are also the 710, 720 and 722 bridges. i put that in a little
patch...on top of pcmcia-yenta-add-support-for-more-ti-bridges.patch...

rgds
-daniel

----

[PATCH] pcmcia/yenta: add more EnE bridges to the overrides

adds better support for the CB-710, CB-712, CB-720 and CB-722 bridges from EnE

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

--- linux-2.6/include/linux/pci_ids.h~	2005-09-22 23:19:04.000000000 +0200
+++ linux-2.6/include/linux/pci_ids.h	2005-09-22 23:19:40.000000000 +0200
@@ -2193,7 +2193,11 @@
 #define PCI_DEVICE_ID_ENE_1211		0x1211
 #define PCI_DEVICE_ID_ENE_1225		0x1225
 #define PCI_DEVICE_ID_ENE_1410		0x1410
+#define PCI_DEVICE_ID_ENE_710		0x1411
+#define PCI_DEVICE_ID_ENE_712		0x1412
 #define PCI_DEVICE_ID_ENE_1420		0x1420
+#define PCI_DEVICE_ID_ENE_720		0x1421
+#define PCI_DEVICE_ID_ENE_722		0x1422
 #define PCI_VENDOR_ID_CHELSIO		0x1425
 
 #define PCI_VENDOR_ID_MIPS		0x153f
--- linux-2.6/drivers/pcmcia/yenta_socket.c~	2005-09-22 23:16:29.000000000 +0200
+++ linux-2.6/drivers/pcmcia/yenta_socket.c	2005-09-22 23:20:50.000000000 +0200
@@ -1273,6 +1273,10 @@
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7510, TI12XX),
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7610, TI12XX),
 
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_710, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_712, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_720, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_722, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1211, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1225, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1410, TI1250),

From mario-fetka at gmx.at  Thu Sep 22 17:30:14 2005
From: mario-fetka at gmx.at (Mario Fetka)
Date: Thu Sep 22 17:30:47 2005
Subject: the rest of the ENE devices (was card manager hangs)
In-Reply-To: <20050922210641.GA16103@isilmar.linta.de>
References: <200509221014.31862.mario-fetka@gmx.at>
	<200509222257.46302.mario-fetka@gmx.at>
	<20050922210641.GA16103@isilmar.linta.de>
Message-ID: <200509222330.14495.mario-fetka@gmx.at>

Hallo All,

now that the cardbus bridge is working
i also want to get the rest of this ene chip to work
1. memory stick card reader
2. secure digital card eader
3. & 4. unknown devices (Flash memory)

wfg
Mario

From linux at dominikbrodowski.net  Thu Sep 22 17:42:21 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Thu Sep 22 17:43:20 2005
Subject: card manager hangs
In-Reply-To: <200509222328.30388.daniel.ritz@gmx.ch>
References: <200509221014.31862.mario-fetka@gmx.at>
	<200509222257.46302.mario-fetka@gmx.at>
	<20050922210641.GA16103@isilmar.linta.de>
	<200509222328.30388.daniel.ritz@gmx.ch>
Message-ID: <20050922214221.GA7662@isilmar.linta.de>

> adds better support for the CB-710, CB-712, CB-720 and CB-722 bridges from EnE
> 
> Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>

Thanks, applied. 

Which of these do you consider 2.6.14 material?
pcmcia-33-04f-ene-autotune
pcmcia-33-04g-dont-mess-with-bridge-control-registers
pcmcia-33-09-more-ti-sockets
pcmcia-39-08-more-ene-bridges

	Dominik

From daniel.ritz at gmx.ch  Thu Sep 22 18:06:14 2005
From: daniel.ritz at gmx.ch (Daniel Ritz)
Date: Thu Sep 22 18:07:39 2005
Subject: card manager hangs
In-Reply-To: <20050922214221.GA7662@isilmar.linta.de>
References: <200509221014.31862.mario-fetka@gmx.at>
	<200509222328.30388.daniel.ritz@gmx.ch>
	<20050922214221.GA7662@isilmar.linta.de>
Message-ID: <200509230006.14897.daniel.ritz@gmx.ch>

On Thursday 22 September 2005 23.42, Dominik Brodowski wrote:
> > adds better support for the CB-710, CB-712, CB-720 and CB-722 bridges from EnE
> > 
> > Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
> 
> Thanks, applied. 
> 
> Which of these do you consider 2.6.14 material?
> pcmcia-33-04f-ene-autotune

this one should do no harm, but since the ALSA drivers for the affected cards
are not yet merged in mainline...dunno. i'd say wait.

> pcmcia-33-04g-dont-mess-with-bridge-control-registers

has been in -mm for a while with no report of breakages so far. so i'd say
go for 2.6.14.
(besides i had someone looong time ago who reported that removing the bridge
 control messing in yenta_probe_irq() fixes an interrupt storm.)

> pcmcia-33-09-more-ti-sockets
> pcmcia-39-08-more-ene-bridges

these two are ok for 2.6.14. the TI one was not in -mm for long, but w/o the
correct irq routing setup on these bridges you can get interrupt storms with all
it's nice side effect. the TI code itself is well tested. and since the TI XX21
seem to get more common...
same for the EnE, with the difference it had no -mm testing at all :)

> 
> 	Dominik
> 

rgds
-daniel 

From jurij at wooyd.org  Fri Sep 23 00:27:11 2005
From: jurij at wooyd.org (Jurij Smakov)
Date: Fri Sep 23 00:49:21 2005
Subject: Lack of release() function in i82365 driver
Message-ID: <Pine.LNX.4.63.0509222126140.3245@bobcat>

[Please CC the responses to me as I'm not subscribed]

Hello,

We have recently received a bug report [0] about an oops in i82365 driver with 
2.6.12 kernel, possibly related to the fact that i82365 driver is lacking the 
release() function. Bug report quotes the following boot log fragment:

Linux Kernel Card Services
   options:  [pci] [cardbus] [apm]
Intel ISA PCIC probe: not found
Device 'i82365.0' does not have a release() function, it is broken and
must be fixed.
Badness in device_release at drivers/base/core.c:83
   [<c0195185>] kobject_cleanup+0x3f/0x64
   [<c01951aa>] kobject_release+0x0/0xa
   [<c01958f0>] kref_put+0x48/0x54
   [<c01951ca>] kobject_put+0x16/0x19
   [<c01951aa>] kobject_release+0x0/0xa
   [<d0966d4f>] init_i82365+0x6f/0x164 [i82365]
   [<c0127f3f>] sys_init_module+0xb8/0x176
   [<c0102e9d>] syscall_call+0x7/0xb
* Using yenta_socket instead of i82365
cardmgr[3051]: no sockets found!
  failed!
Loading the saved-state of the serial devices...

After cursory search I was able to find a patch for this problem, suggested on 
this list over a year ago. It would be nice if someone knowledgeable could have 
a look at it and finally incorporate it (or an alternative solution) into the 
kernel.org tree.

[0] http://bugs.debian.org/322729
[1] http://lists.infradead.org/pipermail/linux-pcmcia/2004-March/000598.html

Thanks and best regards,

Jurij Smakov                                        jurij@wooyd.org
Debian kernel team
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC

From rmk+pcmcia at arm.linux.org.uk  Fri Sep 23 03:24:58 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Fri Sep 23 03:31:02 2005
Subject: Lack of release() function in i82365 driver
In-Reply-To: <Pine.LNX.4.63.0509222126140.3245@bobcat>
References: <Pine.LNX.4.63.0509222126140.3245@bobcat>
Message-ID: <20050923072458.GA17747@flint.arm.linux.org.uk>

On Thu, Sep 22, 2005 at 09:27:11PM -0700, Jurij Smakov wrote:
> After cursory search I was able to find a patch for this problem, suggested 
> on this list over a year ago. It would be nice if someone knowledgeable 
> could have a look at it and finally incorporate it (or an alternative 
> solution) into the kernel.org tree.

It was rejected.  There are a couple of problems:

1. using complete() in the release function to hold up module unloading
   for a device to be released is not allowed - it can lead to deadlocks.

2. adding an empty release function() just shuts up the warning without
   fixing the problem.

The real fix requires a little rework of the platform device support so
that platform devices can be dynamically allocated and have platform data
associated with them, thereby allowing them to exist independently from
the module.

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

From matthew at wil.cx  Fri Sep 23 13:28:15 2005
From: matthew at wil.cx (Matthew Wilcox)
Date: Fri Sep 23 13:29:48 2005
Subject: Lack of release() function in i82365 driver
In-Reply-To: <Pine.LNX.4.63.0509222126140.3245@bobcat>
References: <Pine.LNX.4.63.0509222126140.3245@bobcat>
Message-ID: <20050923172815.GE13796@parisc-linux.org>

On Thu, Sep 22, 2005 at 09:27:11PM -0700, Jurij Smakov wrote:
> We have recently received a bug report [0] about an oops in i82365 driver 

It's not an oops.  It's a warning combined with a backtrace.


From linux at dominikbrodowski.net  Sat Sep 24 15:58:48 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:57:54 2005
Subject: [PATCH 8/8] pcmcia: update M8XX driver to cope with core changes
Message-ID: <20050924195848.GH21904@dominikbrodowski.de>

M8XX doesn't need to set get_socket any more.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2-mm1/drivers/pcmcia/m8xx_pcmcia.c
===================================================================
--- 2.6.14-rc2-mm1.orig/drivers/pcmcia/m8xx_pcmcia.c
+++ 2.6.14-rc2-mm1/drivers/pcmcia/m8xx_pcmcia.c
@@ -841,17 +841,6 @@ static int m8xx_get_status(struct pcmcia
 	return 0;
 }
 
-static int m8xx_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-	int lsock = container_of(sock, struct socket_info, socket)->slot;
-	*state = socket[lsock].state; /* copy the whole structure */
-
-	dprintk("GetSocket(%d) = flags %#3.3x, Vcc %d, Vpp %d, "
-	      "io_irq %d, csc_mask %#2.2x\n", lsock, state->flags,
-	      state->Vcc, state->Vpp, state->io_irq, state->csc_mask);
-	return 0;
-}
-
 static int m8xx_set_socket(struct pcmcia_socket *sock, socket_state_t *state)
 {
 	int lsock = container_of(sock, struct socket_info, socket)->slot;
@@ -1187,7 +1176,6 @@ static struct pccard_operations m8xx_ser
 	.init	= m8xx_sock_init,
 	.suspend = m8xx_suspend,
 	.get_status = m8xx_get_status,
-	.get_socket = m8xx_get_socket,
 	.set_socket = m8xx_set_socket,
 	.set_io_map = m8xx_set_io_map,
 	.set_mem_map = m8xx_set_mem_map,

From linux at dominikbrodowski.net  Sat Sep 24 15:57:54 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:03 2005
Subject: [PATCH 1/8] pcmcia: fix Kconfig dependency
Message-ID: <20050924195754.GA21904@dominikbrodowski.de>

From: Komuro <komurojun-mbn@nifty.com>

TCIC depends on ISA.
It is used with ISA-bus system only.

Signed-off-by: komurojun-mbn@nifty.com
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc1-git2/drivers/pcmcia/Kconfig
===================================================================
--- 2.6.14-rc1-git2.orig/drivers/pcmcia/Kconfig
+++ 2.6.14-rc1-git2/drivers/pcmcia/Kconfig
@@ -146,7 +146,7 @@ config I82365
 
 config TCIC
 	tristate "Databook TCIC host bridge support"
-	depends on PCMCIA
+	depends on PCMCIA && ISA
 	select PCCARD_NONSTATIC
 	help
 	  Say Y here to include support for the Databook TCIC family of PCMCIA

From linux at dominikbrodowski.net  Sat Sep 24 15:58:02 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:07 2005
Subject: [PATCH 3/8] pcmcia: new IDs for serial_cs
Message-ID: <20050924195802.GC21904@dominikbrodowski.de>

Add new ID to serial_cs.c; the CIS fimware override is available by the
manufactor at http://www.sierrawireless.com . Remember to name the CIS
binary SW_7xx_SER.cis and to put it into /lib/firmware/

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2-mm1/drivers/serial/serial_cs.c
===================================================================
--- 2.6.14-rc2-mm1.orig/drivers/serial/serial_cs.c
+++ 2.6.14-rc2-mm1/drivers/serial/serial_cs.c
@@ -824,6 +824,7 @@ static struct pcmcia_device_id serial_id
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0175, 0x0000, "DP83903.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x0035, "3CXEM556.cis"),
 	PCMCIA_MFC_DEVICE_CIS_MANF_CARD(1, 0x0101, 0x003d, "3CXEM556.cis"),
+	PCMCIA_DEVICE_CIS_MANF_CARD(0x0192, 0x0710, "SW_7xx_SER.cis"),	/* Sierra Wireless AC710/AC750 GPRS Network Adapter R1 */
 	PCMCIA_DEVICE_CIS_PROD_ID12("MultiTech", "PCMCIA 56K DataFax", 0x842047ee, 0xc2efcf03, "MT5634ZLX.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID12("ADVANTECH", "COMpad-32/85B-4", 0x96913a85, 0xcec8f102, "COMpad4.cis"),
 	PCMCIA_DEVICE_CIS_PROD_ID123("ADVANTECH", "COMpad-32/85", "1.0", 0x96913a85, 0x8fbe92ae, 0x0877b627, "COMpad2.cis"),

From linux at dominikbrodowski.net  Sat Sep 24 15:57:59 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:11 2005
Subject: [PATCH 2/8] pcmcia: remove initialization to zero
Message-ID: <20050924195759.GB21904@dominikbrodowski.de>

No need to set this to zero explicitely.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.13-git7/drivers/pcmcia/cistpl.c
===================================================================
--- 2.6.13-git7.orig/drivers/pcmcia/cistpl.c
+++ 2.6.13-git7/drivers/pcmcia/cistpl.c
@@ -61,7 +61,7 @@ static const u_int exponent[] = {
 /* Parameters that can be set with 'insmod' */
 
 /* 16-bit CIS? */
-static int cis_width = 0;
+static int cis_width;
 module_param(cis_width, int, 0444);
 
 void release_cis_mem(struct pcmcia_socket *s)

From linux at dominikbrodowski.net  Sat Sep 24 15:58:33 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:15 2005
Subject: [PATCH 7/8] pcmcia: validate_mem shouldn't be void
Message-ID: <20050924195833.GG21904@dominikbrodowski.de>

Add a return value to pcmcia_validate_mem. Only if we have enough memory
available to map the CIS, we should proceed in trying to determine
information about the device.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2/drivers/pcmcia/cs_internal.h
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/cs_internal.h
+++ 2.6.14-rc2/drivers/pcmcia/cs_internal.h
@@ -117,7 +117,7 @@ int verify_cis_cache(struct pcmcia_socke
 int pccard_read_tuple(struct pcmcia_socket *s, unsigned int function, cisdata_t code, void *parse);
 
 /* In rsrc_mgr */
-void pcmcia_validate_mem(struct pcmcia_socket *s);
+int pcmcia_validate_mem(struct pcmcia_socket *s);
 struct resource *pcmcia_find_io_region(unsigned long base, int num, unsigned long align,
 		   struct pcmcia_socket *s);
 int pcmcia_adjust_io_region(struct resource *res, unsigned long r_start,
Index: 2.6.14-rc2/drivers/pcmcia/ds.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/ds.c
+++ 2.6.14-rc2/drivers/pcmcia/ds.c
@@ -635,7 +635,9 @@ static int pcmcia_card_add(struct pcmcia
 	if (!(s->resource_setup_done))
 		return -EAGAIN; /* try again, but later... */
 
-	pcmcia_validate_mem(s);
+	if (pcmcia_validate_mem(s))
+		return -EAGAIN; /* try again, but later... */
+
 	ret = pccard_validate_cis(s, BIND_FN_ALL, &cisinfo);
 	if (ret || !cisinfo.Chains) {
 		ds_dbg(0, "invalid CIS or invalid resources\n");
Index: 2.6.14-rc2/drivers/pcmcia/rsrc_mgr.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/rsrc_mgr.c
+++ 2.6.14-rc2/drivers/pcmcia/rsrc_mgr.c
@@ -98,10 +98,12 @@ int pcmcia_adjust_resource_info(adjust_t
 }
 EXPORT_SYMBOL(pcmcia_adjust_resource_info);
 
-void pcmcia_validate_mem(struct pcmcia_socket *s)
+int pcmcia_validate_mem(struct pcmcia_socket *s)
 {
 	if (s->resource_ops->validate_mem)
-		s->resource_ops->validate_mem(s);
+		return s->resource_ops->validate_mem(s);
+	/* if there is no callback, we can assume that everything is OK */
+	return 0;
 }
 EXPORT_SYMBOL(pcmcia_validate_mem);
 
Index: 2.6.14-rc2/drivers/pcmcia/rsrc_nonstatic.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/rsrc_nonstatic.c
+++ 2.6.14-rc2/drivers/pcmcia/rsrc_nonstatic.c
@@ -407,56 +407,62 @@ static int do_mem_probe(u_long base, u_l
 
 static u_long inv_probe(struct resource_map *m, struct pcmcia_socket *s)
 {
-    struct socket_data *s_data = s->resource_data;
-    u_long ok;
-    if (m == &s_data->mem_db)
-	return 0;
-    ok = inv_probe(m->next, s);
-    if (ok) {
-	if (m->base >= 0x100000)
-	    sub_interval(&s_data->mem_db, m->base, m->num);
-	return ok;
-    }
-    if (m->base < 0x100000)
-	return 0;
-    return do_mem_probe(m->base, m->num, s);
+	struct socket_data *s_data = s->resource_data;
+	u_long ok;
+	if (m == &s_data->mem_db)
+		return 0;
+	ok = inv_probe(m->next, s);
+	if (ok) {
+		if (m->base >= 0x100000)
+			sub_interval(&s_data->mem_db, m->base, m->num);
+		return ok;
+	}
+	if (m->base < 0x100000)
+		return 0;
+	return do_mem_probe(m->base, m->num, s);
 }
 
-static void validate_mem(struct pcmcia_socket *s, unsigned int probe_mask)
+static int validate_mem(struct pcmcia_socket *s, unsigned int probe_mask)
 {
-    struct resource_map *m, mm;
-    static u_char order[] = { 0xd0, 0xe0, 0xc0, 0xf0 };
-    u_long b, i, ok = 0;
-    struct socket_data *s_data = s->resource_data;
-
-    /* We do up to four passes through the list */
-    if (probe_mask & MEM_PROBE_HIGH) {
-	if (inv_probe(s_data->mem_db.next, s) > 0)
-	    return;
-	printk(KERN_NOTICE "cs: warning: no high memory space "
-	       "available!\n");
-    }
-    if ((probe_mask & MEM_PROBE_LOW) == 0)
-	return;
-    for (m = s_data->mem_db.next; m != &s_data->mem_db; m = mm.next) {
-	mm = *m;
-	/* Only probe < 1 MB */
-	if (mm.base >= 0x100000) continue;
-	if ((mm.base | mm.num) & 0xffff) {
-	    ok += do_mem_probe(mm.base, mm.num, s);
-	    continue;
-	}
-	/* Special probe for 64K-aligned block */
-	for (i = 0; i < 4; i++) {
-	    b = order[i] << 12;
-	    if ((b >= mm.base) && (b+0x10000 <= mm.base+mm.num)) {
-		if (ok >= mem_limit)
-		    sub_interval(&s_data->mem_db, b, 0x10000);
-		else
-		    ok += do_mem_probe(b, 0x10000, s);
-	    }
+	struct resource_map *m, mm;
+	static unsigned char order[] = { 0xd0, 0xe0, 0xc0, 0xf0 };
+	unsigned long b, i, ok = 0;
+	struct socket_data *s_data = s->resource_data;
+
+	/* We do up to four passes through the list */
+	if (probe_mask & MEM_PROBE_HIGH) {
+		if (inv_probe(s_data->mem_db.next, s) > 0)
+			return 0;
+		printk(KERN_NOTICE "cs: warning: no high memory space "
+		       "available!\n");
+		return -ENODEV;
+	}
+
+	for (m = s_data->mem_db.next; m != &s_data->mem_db; m = mm.next) {
+		mm = *m;
+		/* Only probe < 1 MB */
+		if (mm.base >= 0x100000)
+			continue;
+		if ((mm.base | mm.num) & 0xffff) {
+			ok += do_mem_probe(mm.base, mm.num, s);
+			continue;
+		}
+		/* Special probe for 64K-aligned block */
+		for (i = 0; i < 4; i++) {
+			b = order[i] << 12;
+			if ((b >= mm.base) && (b+0x10000 <= mm.base+mm.num)) {
+				if (ok >= mem_limit)
+					sub_interval(&s_data->mem_db, b, 0x10000);
+				else
+					ok += do_mem_probe(b, 0x10000, s);
+			}
+		}
 	}
-    }
+
+	if (ok > 0)
+		return 0;
+
+	return -ENODEV;
 }
 
 #else /* CONFIG_PCMCIA_PROBE */
@@ -478,27 +484,30 @@ static void validate_mem(struct pcmcia_s
 /*
  * Locking note: Must be called with skt_sem held!
  */
-static void pcmcia_nonstatic_validate_mem(struct pcmcia_socket *s)
+static int pcmcia_nonstatic_validate_mem(struct pcmcia_socket *s)
 {
 	struct socket_data *s_data = s->resource_data;
-	if (probe_mem) {
-		unsigned int probe_mask;
+	unsigned int probe_mask = MEM_PROBE_LOW;
+	int ret = 0;
 
-		down(&rsrc_sem);
+	if (!probe_mem)
+		return 0;
 
-		probe_mask = MEM_PROBE_LOW;
-		if (s->features & SS_CAP_PAGE_REGS)
-			probe_mask = MEM_PROBE_HIGH;
+	down(&rsrc_sem);
+
+	if (s->features & SS_CAP_PAGE_REGS)
+		probe_mask = MEM_PROBE_HIGH;
 
-		if (probe_mask & ~s_data->rsrc_mem_probe) {
+	if (probe_mask & ~s_data->rsrc_mem_probe) {
+		if (s->state & SOCKET_PRESENT)
+			ret = validate_mem(s, probe_mask);
+		if (!ret)
 			s_data->rsrc_mem_probe |= probe_mask;
+	}
 
-			if (s->state & SOCKET_PRESENT)
-				validate_mem(s, probe_mask);
-		}
+	up(&rsrc_sem);
 
-		up(&rsrc_sem);
-	}
+	return ret;
 }
 
 struct pcmcia_align_data {
Index: 2.6.14-rc2/include/pcmcia/ss.h
===================================================================
--- 2.6.14-rc2.orig/include/pcmcia/ss.h
+++ 2.6.14-rc2/include/pcmcia/ss.h
@@ -124,7 +124,7 @@ struct pccard_operations {
 };
 
 struct pccard_resource_ops {
-	void	(*validate_mem)		(struct pcmcia_socket *s);
+	int	(*validate_mem)		(struct pcmcia_socket *s);
 	int	(*adjust_io_region)	(struct resource *res,
 					 unsigned long r_start,
 					 unsigned long r_end,
Index: 2.6.14-rc2/drivers/pcmcia/tcic.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/tcic.c
+++ 2.6.14-rc2/drivers/pcmcia/tcic.c
@@ -181,13 +181,6 @@ static void tcic_setl(u_char reg, u_int 
     outw(data >> 16, tcic_base+reg+2);
 }
 
-static u_char tcic_aux_getb(u_short reg)
-{
-    u_char mode = (tcic_getb(TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
-    tcic_setb(TCIC_MODE, mode);
-    return tcic_getb(TCIC_AUX);
-}
-
 static void tcic_aux_setb(u_short reg, u_char data)
 {
     u_char mode = (tcic_getb(TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;

From linux at dominikbrodowski.net  Sat Sep 24 15:58:17 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:19 2005
Subject: [PATCH 4/8] pcmcia: more ENE bridges
Message-ID: <20050924195817.GD21904@dominikbrodowski.de>

From: Daniel Ritz <daniel.ritz@gmx.ch>

Adds better support for the CB-710, CB-712, CB-720 and CB-722 bridges from EnE

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2-mm1/drivers/pcmcia/yenta_socket.c
===================================================================
--- 2.6.14-rc2-mm1.orig/drivers/pcmcia/yenta_socket.c
+++ 2.6.14-rc2-mm1/drivers/pcmcia/yenta_socket.c
@@ -1257,6 +1257,10 @@ static struct pci_device_id yenta_table 
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7510, TI12XX),
 	CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7610, TI12XX),
 
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_710, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_712, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_720, TI12XX),
+	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_722, TI12XX),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1211, ENE),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1225, ENE),
 	CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1410, ENE),

From linux at dominikbrodowski.net  Sat Sep 24 15:58:30 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:24 2005
Subject: [PATCH 6/8] pcmcia: remove get_socket
Message-ID: <20050924195830.GF21904@dominikbrodowski.de>

The .get_socket callback is never used by the PCMCIA core, therefore remove
it.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2/include/pcmcia/ss.h
===================================================================
--- 2.6.14-rc2.orig/include/pcmcia/ss.h
+++ 2.6.14-rc2/include/pcmcia/ss.h
@@ -118,7 +118,6 @@ struct pccard_operations {
 	int (*init)(struct pcmcia_socket *sock);
 	int (*suspend)(struct pcmcia_socket *sock);
 	int (*get_status)(struct pcmcia_socket *sock, u_int *value);
-	int (*get_socket)(struct pcmcia_socket *sock, socket_state_t *state);
 	int (*set_socket)(struct pcmcia_socket *sock, socket_state_t *state);
 	int (*set_io_map)(struct pcmcia_socket *sock, struct pccard_io_map *io);
 	int (*set_mem_map)(struct pcmcia_socket *sock, struct pccard_mem_map *mem);
Index: 2.6.14-rc2/drivers/pcmcia/yenta_socket.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/yenta_socket.c
+++ 2.6.14-rc2/drivers/pcmcia/yenta_socket.c
@@ -190,95 +190,6 @@ static int yenta_get_status(struct pcmci
 	return 0;
 }
 
-static void yenta_get_power(struct yenta_socket *socket, socket_state_t *state)
-{
-	if (!(cb_readl(socket, CB_SOCKET_STATE) & CB_CBCARD) &&
-	    (socket->flags & YENTA_16BIT_POWER_EXCA)) {
-		u8 reg, vcc, vpp;
-
-		reg = exca_readb(socket, I365_POWER);
-		vcc = reg & I365_VCC_MASK;
-		vpp = reg & I365_VPP1_MASK;
-		state->Vcc = state->Vpp = 0;
-
-		if (socket->flags & YENTA_16BIT_POWER_DF) {
-			if (vcc == I365_VCC_3V)
-				state->Vcc = 33;
-			if (vcc == I365_VCC_5V)
-				state->Vcc = 50;
-			if (vpp == I365_VPP1_5V)
-				state->Vpp = state->Vcc;
-			if (vpp == I365_VPP1_12V)
-				state->Vpp = 120;
-		} else {
-			if (reg & I365_VCC_5V) {
-				state->Vcc = 50;
-				if (vpp == I365_VPP1_5V)
-					state->Vpp = 50;
-				if (vpp == I365_VPP1_12V)
-					state->Vpp = 120;
-			}
-		}
-	} else {
-		u32 control;
-
-		control = cb_readl(socket, CB_SOCKET_CONTROL);
-
-		switch (control & CB_SC_VCC_MASK) {
-		case CB_SC_VCC_5V: state->Vcc = 50; break;
-		case CB_SC_VCC_3V: state->Vcc = 33; break;
-		default: state->Vcc = 0;
-		}
-
-		switch (control & CB_SC_VPP_MASK) {
-		case CB_SC_VPP_12V: state->Vpp = 120; break;
-		case CB_SC_VPP_5V: state->Vpp = 50; break;
-		case CB_SC_VPP_3V: state->Vpp = 33; break;
-		default: state->Vpp = 0;
-		}
-	}
-}
-
-static int yenta_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-	struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket);
-	u8 reg;
-	u32 control;
-
-	control = cb_readl(socket, CB_SOCKET_CONTROL);
-
-	yenta_get_power(socket, state);
-	state->io_irq = socket->io_irq;
-
-	if (cb_readl(socket, CB_SOCKET_STATE) & CB_CBCARD) {
-		u16 bridge = config_readw(socket, CB_BRIDGE_CONTROL);
-		if (bridge & CB_BRIDGE_CRST)
-			state->flags |= SS_RESET;
-		return 0;
-	}
-
-	/* 16-bit card state.. */
-	reg = exca_readb(socket, I365_POWER);
-	state->flags = (reg & I365_PWR_AUTO) ? SS_PWR_AUTO : 0;
-	state->flags |= (reg & I365_PWR_OUT) ? SS_OUTPUT_ENA : 0;
-
-	reg = exca_readb(socket, I365_INTCTL);
-	state->flags |= (reg & I365_PC_RESET) ? 0 : SS_RESET;
-	state->flags |= (reg & I365_PC_IOCARD) ? SS_IOCARD : 0;
-
-	reg = exca_readb(socket, I365_CSCINT);
-	state->csc_mask = (reg & I365_CSC_DETECT) ? SS_DETECT : 0;
-	if (state->flags & SS_IOCARD) {
-		state->csc_mask |= (reg & I365_CSC_STSCHG) ? SS_STSCHG : 0;
-	} else {
-		state->csc_mask |= (reg & I365_CSC_BVD1) ? SS_BATDEAD : 0;
-		state->csc_mask |= (reg & I365_CSC_BVD2) ? SS_BATWARN : 0;
-		state->csc_mask |= (reg & I365_CSC_READY) ? SS_READY : 0;
-	}
-
-	return 0;
-}
-
 static void yenta_set_power(struct yenta_socket *socket, socket_state_t *state)
 {
 	/* some birdges require to use the ExCA registers to power 16bit cards */
@@ -791,7 +702,6 @@ static struct pccard_operations yenta_so
 	.init			= yenta_sock_init,
 	.suspend		= yenta_sock_suspend,
 	.get_status		= yenta_get_status,
-	.get_socket		= yenta_get_socket,
 	.set_socket		= yenta_set_socket,
 	.set_io_map		= yenta_set_io_map,
 	.set_mem_map		= yenta_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/i82092.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/i82092.c
+++ 2.6.14-rc2/drivers/pcmcia/i82092.c
@@ -66,7 +66,6 @@ static struct pci_driver i82092aa_pci_dr
 static struct pccard_operations i82092aa_operations = {
 	.init 		 	= i82092aa_init,
 	.get_status		= i82092aa_get_status,
-	.get_socket		= i82092aa_get_socket,
 	.set_socket		= i82092aa_set_socket,
 	.set_io_map		= i82092aa_set_io_map,
 	.set_mem_map		= i82092aa_set_mem_map,
@@ -482,78 +481,6 @@ static int i82092aa_get_status(struct pc
 }
 
 
-static int i82092aa_get_socket(struct pcmcia_socket *socket, socket_state_t *state) 
-{
-	unsigned int sock = container_of(socket, struct socket_info, socket)->number;
-	unsigned char reg,vcc,vpp;
-	
-	enter("i82092aa_get_socket");
-	state->flags    = 0;
-	state->Vcc      = 0;
-	state->Vpp      = 0;
-	state->io_irq   = 0;
-	state->csc_mask = 0;
-
-	/* First the power status of the socket */
-	reg = indirect_read(sock,I365_POWER); /* PCTRL - Power Control Register */
-
-	if (reg & I365_PWR_AUTO)
-		state->flags |= SS_PWR_AUTO;  /* Automatic Power Switch */
-		
-	if (reg & I365_PWR_OUT)
-		state->flags |= SS_OUTPUT_ENA; /* Output signals are enabled */
-		
-	vcc = reg & I365_VCC_MASK;    vpp = reg & I365_VPP1_MASK;
-	
-	if (reg & I365_VCC_5V) { /* Can still be 3.3V, in this case the Vcc value will be overwritten later */
-		state->Vcc = 50;
-		
-		if (vpp == I365_VPP1_5V)
-			state->Vpp = 50;
-		if (vpp == I365_VPP1_12V)
-			state->Vpp = 120;
-			
-	}
-	
-	if ((reg & I365_VCC_3V)==I365_VCC_3V)
-		state->Vcc = 33;
-	
-	
-	/* Now the IO card, RESET flags and IO interrupt */
-	
-	reg = indirect_read(sock, I365_INTCTL); /* IGENC, Interrupt and General Control */
-	
-	if ((reg & I365_PC_RESET)==0)
-		state->flags |= SS_RESET;
-	if (reg & I365_PC_IOCARD) 
-		state->flags |= SS_IOCARD; /* This is an IO card */
-	
-	/* Set the IRQ number */
-	if (sockets[sock].dev!=NULL)
-		state->io_irq = sockets[sock].dev->irq;
-	
-	/* Card status change */
-	reg = indirect_read(sock, I365_CSCINT); /* CSCICR, Card Status Change Interrupt Configuration */
-	
-	if (reg & I365_CSC_DETECT) 
-		state->csc_mask |= SS_DETECT; /* Card detect is enabled */
-	
-	if (state->flags & SS_IOCARD) {/* IO Cards behave different */
-		if (reg & I365_CSC_STSCHG)
-			state->csc_mask |= SS_STSCHG;
-	} else {
-		if (reg & I365_CSC_BVD1) 
-			state->csc_mask |= SS_BATDEAD;
-		if (reg & I365_CSC_BVD2) 
-			state->csc_mask |= SS_BATWARN;
-		if (reg & I365_CSC_READY) 
-			state->csc_mask |= SS_READY;
-	}
-		
-	leave("i82092aa_get_socket");
-	return 0;
-}
-
 static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state) 
 {
 	unsigned int sock = container_of(socket, struct socket_info, socket)->number;
Index: 2.6.14-rc2/drivers/pcmcia/i82092aa.h
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/i82092aa.h
+++ 2.6.14-rc2/drivers/pcmcia/i82092aa.h
@@ -29,7 +29,6 @@ static irqreturn_t i82092aa_interrupt(in
 
 
 static int i82092aa_get_status(struct pcmcia_socket *socket, u_int *value);
-static int i82092aa_get_socket(struct pcmcia_socket *socket, socket_state_t *state);
 static int i82092aa_set_socket(struct pcmcia_socket *socket, socket_state_t *state);
 static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_map *io);
 static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_map *mem);
Index: 2.6.14-rc2/drivers/pcmcia/i82365.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/i82365.c
+++ 2.6.14-rc2/drivers/pcmcia/i82365.c
@@ -940,78 +940,6 @@ static int i365_get_status(u_short sock,
 
 /*====================================================================*/
 
-static int i365_get_socket(u_short sock, socket_state_t *state)
-{
-    struct i82365_socket *t = &socket[sock];
-    u_char reg, vcc, vpp;
-    
-    reg = i365_get(sock, I365_POWER);
-    state->flags = (reg & I365_PWR_AUTO) ? SS_PWR_AUTO : 0;
-    state->flags |= (reg & I365_PWR_OUT) ? SS_OUTPUT_ENA : 0;
-    vcc = reg & I365_VCC_MASK; vpp = reg & I365_VPP1_MASK;
-    state->Vcc = state->Vpp = 0;
-    if (t->flags & IS_CIRRUS) {
-	if (i365_get(sock, PD67_MISC_CTL_1) & PD67_MC1_VCC_3V) {
-	    if (reg & I365_VCC_5V) state->Vcc = 33;
-	    if (vpp == I365_VPP1_5V) state->Vpp = 33;
-	} else {
-	    if (reg & I365_VCC_5V) state->Vcc = 50;
-	    if (vpp == I365_VPP1_5V) state->Vpp = 50;
-	}
-	if (vpp == I365_VPP1_12V) state->Vpp = 120;
-    } else if (t->flags & IS_VG_PWR) {
-	if (i365_get(sock, VG469_VSELECT) & VG469_VSEL_VCC) {
-	    if (reg & I365_VCC_5V) state->Vcc = 33;
-	    if (vpp == I365_VPP1_5V) state->Vpp = 33;
-	} else {
-	    if (reg & I365_VCC_5V) state->Vcc = 50;
-	    if (vpp == I365_VPP1_5V) state->Vpp = 50;
-	}
-	if (vpp == I365_VPP1_12V) state->Vpp = 120;
-    } else if (t->flags & IS_DF_PWR) {
-	if (vcc == I365_VCC_3V) state->Vcc = 33;
-	if (vcc == I365_VCC_5V) state->Vcc = 50;
-	if (vpp == I365_VPP1_5V) state->Vpp = 50;
-	if (vpp == I365_VPP1_12V) state->Vpp = 120;
-    } else {
-	if (reg & I365_VCC_5V) {
-	    state->Vcc = 50;
-	    if (vpp == I365_VPP1_5V) state->Vpp = 50;
-	    if (vpp == I365_VPP1_12V) state->Vpp = 120;
-	}
-    }
-
-    /* IO card, RESET flags, IO interrupt */
-    reg = i365_get(sock, I365_INTCTL);
-    state->flags |= (reg & I365_PC_RESET) ? 0 : SS_RESET;
-    if (reg & I365_PC_IOCARD) state->flags |= SS_IOCARD;
-    state->io_irq = reg & I365_IRQ_MASK;
-    
-    /* speaker control */
-    if (t->flags & IS_CIRRUS) {
-	if (i365_get(sock, PD67_MISC_CTL_1) & PD67_MC1_SPKR_ENA)
-	    state->flags |= SS_SPKR_ENA;
-    }
-    
-    /* Card status change mask */
-    reg = i365_get(sock, I365_CSCINT);
-    state->csc_mask = (reg & I365_CSC_DETECT) ? SS_DETECT : 0;
-    if (state->flags & SS_IOCARD)
-	state->csc_mask |= (reg & I365_CSC_STSCHG) ? SS_STSCHG : 0;
-    else {
-	state->csc_mask |= (reg & I365_CSC_BVD1) ? SS_BATDEAD : 0;
-	state->csc_mask |= (reg & I365_CSC_BVD2) ? SS_BATWARN : 0;
-	state->csc_mask |= (reg & I365_CSC_READY) ? SS_READY : 0;
-    }
-    
-    debug(1, "GetSocket(%d) = flags %#3.3x, Vcc %d, Vpp %d, "
-	  "io_irq %d, csc_mask %#2.2x\n", sock, state->flags,
-	  state->Vcc, state->Vpp, state->io_irq, state->csc_mask);
-    return 0;
-} /* i365_get_socket */
-
-/*====================================================================*/
-
 static int i365_set_socket(u_short sock, socket_state_t *state)
 {
     struct i82365_socket *t = &socket[sock];
@@ -1265,16 +1193,6 @@ static int pcic_get_status(struct pcmcia
 	LOCKED(i365_get_status(sock, value));
 }
 
-static int pcic_get_socket(struct pcmcia_socket *s, socket_state_t *state)
-{
-	unsigned int sock = container_of(s, struct i82365_socket, socket)->number;
-
-	if (socket[sock].flags & IS_ALIVE)
-		return -EINVAL;
-
-	LOCKED(i365_get_socket(sock, state));
-}
-
 static int pcic_set_socket(struct pcmcia_socket *s, socket_state_t *state)
 {
 	unsigned int sock = container_of(s, struct i82365_socket, socket)->number;
@@ -1324,7 +1242,6 @@ static int pcic_init(struct pcmcia_socke
 static struct pccard_operations pcic_operations = {
 	.init			= pcic_init,
 	.get_status		= pcic_get_status,
-	.get_socket		= pcic_get_socket,
 	.set_socket		= pcic_set_socket,
 	.set_io_map		= pcic_set_io_map,
 	.set_mem_map		= pcic_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/pd6729.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/pd6729.c
+++ 2.6.14-rc2/drivers/pcmcia/pd6729.c
@@ -304,75 +304,6 @@ static int pd6729_get_status(struct pcmc
 }
 
 
-static int pd6729_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-	struct pd6729_socket *socket
-			= container_of(sock, struct pd6729_socket, socket);
-	unsigned char reg, vcc, vpp;
-
-	state->flags    = 0;
-	state->Vcc      = 0;
-	state->Vpp      = 0;
-	state->io_irq   = 0;
-	state->csc_mask = 0;
-
-	/* First the power status of the socket */
-	reg = indirect_read(socket, I365_POWER);
-
-	if (reg & I365_PWR_AUTO)
-		state->flags |= SS_PWR_AUTO;  /* Automatic Power Switch */
-
-	if (reg & I365_PWR_OUT)
-		state->flags |= SS_OUTPUT_ENA; /* Output signals are enabled */
-
-	vcc = reg & I365_VCC_MASK;    vpp = reg & I365_VPP1_MASK;
-
-	if (reg & I365_VCC_5V) {
-		state->Vcc = (indirect_read(socket, PD67_MISC_CTL_1) &
-			PD67_MC1_VCC_3V) ? 33 : 50;
-
-		if (vpp == I365_VPP1_5V) {
-			if (state->Vcc == 50)
-				state->Vpp = 50;
-			else
-				state->Vpp = 33;
-		}
-		if (vpp == I365_VPP1_12V)
-			state->Vpp = 120;
-	}
-
-	/* Now the IO card, RESET flags and IO interrupt */
-	reg = indirect_read(socket, I365_INTCTL);
-
-	if ((reg & I365_PC_RESET) == 0)
-		state->flags |= SS_RESET;
-	if (reg & I365_PC_IOCARD)
-		state->flags |= SS_IOCARD; /* This is an IO card */
-
-	/* Set the IRQ number */
-	state->io_irq = socket->card_irq;
-
-	/* Card status change */
-	reg = indirect_read(socket, I365_CSCINT);
-
-	if (reg & I365_CSC_DETECT)
-		state->csc_mask |= SS_DETECT; /* Card detect is enabled */
-
-	if (state->flags & SS_IOCARD) {/* IO Cards behave different */
-		if (reg & I365_CSC_STSCHG)
-			state->csc_mask |= SS_STSCHG;
-	} else {
-		if (reg & I365_CSC_BVD1)
-			state->csc_mask |= SS_BATDEAD;
-		if (reg & I365_CSC_BVD2)
-			state->csc_mask |= SS_BATWARN;
-		if (reg & I365_CSC_READY)
-			state->csc_mask |= SS_READY;
-	}
-
-	return 0;
-}
-
 static int pd6729_set_socket(struct pcmcia_socket *sock, socket_state_t *state)
 {
 	struct pd6729_socket *socket
@@ -640,7 +571,6 @@ static int pd6729_init(struct pcmcia_soc
 static struct pccard_operations pd6729_operations = {
 	.init 			= pd6729_init,
 	.get_status		= pd6729_get_status,
-	.get_socket		= pd6729_get_socket,
 	.set_socket		= pd6729_set_socket,
 	.set_io_map		= pd6729_set_io_map,
 	.set_mem_map		= pd6729_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/tcic.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/tcic.c
+++ 2.6.14-rc2/drivers/pcmcia/tcic.c
@@ -657,59 +657,6 @@ static int tcic_get_status(struct pcmcia
     debug(1, "GetStatus(%d) = %#2.2x\n", psock, *value);
     return 0;
 } /* tcic_get_status */
-  
-/*====================================================================*/
-
-static int tcic_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-    u_short psock = container_of(sock, struct tcic_socket, socket)->psock;
-    u_char reg;
-    u_short scf1, scf2;
-    
-    tcic_setl(TCIC_ADDR, (psock << TCIC_ADDR_SS_SHFT)
-	      | TCIC_ADDR_INDREG | TCIC_SCF1(psock));
-    scf1 = tcic_getw(TCIC_DATA);
-    state->flags = (scf1 & TCIC_SCF1_IOSTS) ? SS_IOCARD : 0;
-    state->flags |= (scf1 & TCIC_SCF1_DMA_MASK) ? SS_DMA_MODE : 0;
-    state->flags |= (scf1 & TCIC_SCF1_SPKR) ? SS_SPKR_ENA : 0;
-    if (tcic_getb(TCIC_SCTRL) & TCIC_SCTRL_ENA)
-	state->flags |= SS_OUTPUT_ENA;
-    state->io_irq = scf1 & TCIC_SCF1_IRQ_MASK;
-    if (state->io_irq == 1) state->io_irq = 11;
-
-    reg = tcic_getb(TCIC_PWR);
-    state->Vcc = state->Vpp = 0;
-    if (reg & TCIC_PWR_VCC(psock)) {
-	if (reg & TCIC_PWR_VPP(psock))
-	    state->Vcc = 50;
-	else
-	    state->Vcc = state->Vpp = 50;
-    } else {
-	if (reg & TCIC_PWR_VPP(psock)) {
-	    state->Vcc = 50;
-	    state->Vpp = 120;
-	}
-    }
-    reg = tcic_aux_getb(TCIC_AUX_ILOCK);
-    state->flags |= (reg & TCIC_ILOCK_CRESET) ? SS_RESET : 0;
-
-    /* Card status change interrupt mask */
-    tcic_setw(TCIC_ADDR, TCIC_SCF2(psock));
-    scf2 = tcic_getw(TCIC_DATA);
-    state->csc_mask = (scf2 & TCIC_SCF2_MCD) ? 0 : SS_DETECT;
-    if (state->flags & SS_IOCARD) {
-	state->csc_mask |= (scf2 & TCIC_SCF2_MLBAT1) ? 0 : SS_STSCHG;
-    } else {
-	state->csc_mask |= (scf2 & TCIC_SCF2_MLBAT1) ? 0 : SS_BATDEAD;
-	state->csc_mask |= (scf2 & TCIC_SCF2_MLBAT2) ? 0 : SS_BATWARN;
-	state->csc_mask |= (scf2 & TCIC_SCF2_MRDY) ? 0 : SS_READY;
-    }
-
-    debug(1, "GetSocket(%d) = flags %#3.3x, Vcc %d, Vpp %d, "
-	  "io_irq %d, csc_mask %#2.2x\n", psock, state->flags,
-	  state->Vcc, state->Vpp, state->io_irq, state->csc_mask);
-    return 0;
-} /* tcic_get_socket */
 
 /*====================================================================*/
 
@@ -890,7 +837,6 @@ static int tcic_init(struct pcmcia_socke
 static struct pccard_operations tcic_operations = {
 	.init		   = tcic_init,
 	.get_status	   = tcic_get_status,
-	.get_socket	   = tcic_get_socket,
 	.set_socket	   = tcic_set_socket,
 	.set_io_map	   = tcic_set_io_map,
 	.set_mem_map	   = tcic_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/au1000_generic.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/au1000_generic.c
+++ 2.6.14-rc2/drivers/pcmcia/au1000_generic.c
@@ -241,23 +241,6 @@ au1x00_pcmcia_get_status(struct pcmcia_s
 	return 0;
 }
 
-/* au1x00_pcmcia_get_socket()
- * Implements the get_socket() operation for the in-kernel PCMCIA
- * service (formerly SS_GetSocket in Card Services). Not a very
- * exciting routine.
- *
- * Returns: 0
- */
-static int
-au1x00_pcmcia_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-  struct au1000_pcmcia_socket *skt = to_au1000_socket(sock);
-
-  debug("for sock %u\n", skt->nr);
-  *state = skt->cs_state;
-  return 0;
-}
-
 /* au1x00_pcmcia_set_socket()
  * Implements the set_socket() operation for the in-kernel PCMCIA
  * service (formerly SS_SetSocket in Card Services). We more or
@@ -352,7 +335,6 @@ static struct pccard_operations au1x00_p
 	.init			= au1x00_pcmcia_sock_init,
 	.suspend		= au1x00_pcmcia_suspend,
 	.get_status		= au1x00_pcmcia_get_status,
-	.get_socket		= au1x00_pcmcia_get_socket,
 	.set_socket		= au1x00_pcmcia_set_socket,
 	.set_io_map		= au1x00_pcmcia_set_io_map,
 	.set_mem_map		= au1x00_pcmcia_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/hd64465_ss.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/hd64465_ss.c
+++ 2.6.14-rc2/drivers/pcmcia/hd64465_ss.c
@@ -417,18 +417,6 @@ static int hs_get_status(struct pcmcia_s
 
 /*============================================================*/
 
-static int hs_get_socket(struct pcmcia_socket *s, socket_state_t *state)
-{
-    	hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
-
-    	DPRINTK("hs_get_socket(%d)\n", sock);
-	
-	*state = sp->state;
-	return 0;
-}
-
-/*============================================================*/
-
 static int hs_set_socket(struct pcmcia_socket *s, socket_state_t *state)
 {
     	hs_socket_t *sp = container_of(s, struct hs_socket_t, socket);
@@ -749,7 +737,6 @@ static irqreturn_t hs_interrupt(int irq,
 static struct pccard_operations hs_operations = {
 	.init			= hs_init,
 	.get_status		= hs_get_status,
-	.get_socket		= hs_get_socket,
 	.set_socket		= hs_set_socket,
 	.set_io_map		= hs_set_io_map,
 	.set_mem_map		= hs_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/m32r_cfc.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/m32r_cfc.c
+++ 2.6.14-rc2/drivers/pcmcia/m32r_cfc.c
@@ -479,25 +479,6 @@ static int _pcc_get_status(u_short sock,
 
 /*====================================================================*/
 
-static int _pcc_get_socket(u_short sock, socket_state_t *state)
-{
-//	pcc_socket_t *t = &socket[sock];
-
-	state->flags = 0;
-	state->csc_mask = SS_DETECT;
-	state->csc_mask |= SS_READY;
-	state->io_irq = 0;
-	state->Vcc = 33;	/* 3.3V fixed */
-	state->Vpp = 33;
-
-	debug(3, "m32r_cfc: GetSocket(%d) = flags %#3.3x, Vcc %d, Vpp %d, "
-		  "io_irq %d, csc_mask %#2.2x\n", sock, state->flags,
-		  state->Vcc, state->Vpp, state->io_irq, state->csc_mask);
-	return 0;
-} /* _get_socket */
-
-/*====================================================================*/
-
 static int _pcc_set_socket(u_short sock, socket_state_t *state)
 {
 	debug(3, "m32r_cfc: SetSocket(%d, flags %#3.3x, Vcc %d, Vpp %d, "
@@ -666,18 +647,6 @@ static int pcc_get_status(struct pcmcia_
 	LOCKED(_pcc_get_status(sock, value));
 }
 
-static int pcc_get_socket(struct pcmcia_socket *s, socket_state_t *state)
-{
-	unsigned int sock = container_of(s, struct pcc_socket, socket)->number;
-
-	if (socket[sock].flags & IS_ALIVE) {
-		debug(3, "m32r_cfc: pcc_get_socket: sock(%d) -EINVAL\n", sock);
-		return -EINVAL;
-	}
-	debug(3, "m32r_cfc: pcc_get_socket: sock(%d)\n", sock);
-	LOCKED(_pcc_get_socket(sock, state));
-}
-
 static int pcc_set_socket(struct pcmcia_socket *s, socket_state_t *state)
 {
 	unsigned int sock = container_of(s, struct pcc_socket, socket)->number;
@@ -723,7 +692,6 @@ static int pcc_init(struct pcmcia_socket
 static struct pccard_operations pcc_operations = {
 	.init			= pcc_init,
 	.get_status		= pcc_get_status,
-	.get_socket		= pcc_get_socket,
 	.set_socket		= pcc_set_socket,
 	.set_io_map		= pcc_set_io_map,
 	.set_mem_map		= pcc_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/m32r_pcc.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/m32r_pcc.c
+++ 2.6.14-rc2/drivers/pcmcia/m32r_pcc.c
@@ -429,16 +429,6 @@ static int _pcc_get_status(u_short sock,
 
 /*====================================================================*/
 
-static int _pcc_get_socket(u_short sock, socket_state_t *state)
-{
-	debug(3, "m32r-pcc: GetSocket(%d) = flags %#3.3x, Vcc %d, Vpp %d, "
-		  "io_irq %d, csc_mask %#2.2x\n", sock, state->flags,
-		  state->Vcc, state->Vpp, state->io_irq, state->csc_mask);
-	return 0;
-} /* _get_socket */
-
-/*====================================================================*/
-
 static int _pcc_set_socket(u_short sock, socket_state_t *state)
 {
 	u_long reg = 0;
@@ -641,15 +631,6 @@ static int pcc_get_status(struct pcmcia_
 	LOCKED(_pcc_get_status(sock, value));
 }
 
-static int pcc_get_socket(struct pcmcia_socket *s, socket_state_t *state)
-{
-	unsigned int sock = container_of(s, struct pcc_socket, socket)->number;
-
-	if (socket[sock].flags & IS_ALIVE)
-		return -EINVAL;
-	LOCKED(_pcc_get_socket(sock, state));
-}
-
 static int pcc_set_socket(struct pcmcia_socket *s, socket_state_t *state)
 {
 	unsigned int sock = container_of(s, struct pcc_socket, socket)->number;
@@ -687,7 +668,6 @@ static int pcc_init(struct pcmcia_socket
 static struct pccard_operations pcc_operations = {
 	.init			= pcc_init,
 	.get_status		= pcc_get_status,
-	.get_socket		= pcc_get_socket,
 	.set_socket		= pcc_set_socket,
 	.set_io_map		= pcc_set_io_map,
 	.set_mem_map		= pcc_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/soc_common.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/soc_common.c
+++ 2.6.14-rc2/drivers/pcmcia/soc_common.c
@@ -297,25 +297,6 @@ soc_common_pcmcia_get_status(struct pcmc
 
 
 /*
- * Implements the get_socket() operation for the in-kernel PCMCIA
- * service (formerly SS_GetSocket in Card Services). Not a very
- * exciting routine.
- *
- * Returns: 0
- */
-static int
-soc_common_pcmcia_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-	struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
-
-	debug(skt, 2, "\n");
-
-	*state = skt->cs_state;
-
-	return 0;
-}
-
-/*
  * Implements the set_socket() operation for the in-kernel PCMCIA
  * service (formerly SS_SetSocket in Card Services). We more or
  * less punt all of this work and let the kernel handle the details
@@ -530,7 +511,6 @@ static struct pccard_operations soc_comm
 	.init			= soc_common_pcmcia_sock_init,
 	.suspend		= soc_common_pcmcia_suspend,
 	.get_status		= soc_common_pcmcia_get_status,
-	.get_socket		= soc_common_pcmcia_get_socket,
 	.set_socket		= soc_common_pcmcia_set_socket,
 	.set_io_map		= soc_common_pcmcia_set_io_map,
 	.set_mem_map		= soc_common_pcmcia_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/vrc4171_card.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/vrc4171_card.c
+++ 2.6.14-rc2/drivers/pcmcia/vrc4171_card.c
@@ -300,75 +300,6 @@ static int pccard_get_status(struct pcmc
 	return 0;
 }
 
-static inline u_char get_Vcc_value(uint8_t voltage)
-{
-	switch (voltage) {
-	case VCC_STATUS_3V:
-		return 33;
-	case VCC_STATUS_5V:
-		return 50;
-	default:
-		break;
-	}
-
-	return 0;
-}
-
-static inline u_char get_Vpp_value(uint8_t power, u_char Vcc)
-{
-	if ((power & 0x03) == 0x01 || (power & 0x03) == 0x02)
-		return Vcc;
-
-	return 0;
-}
-
-static int pccard_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-	unsigned int slot;
-	uint8_t power, voltage, control, cscint;
-
-	if (sock == NULL || sock->sock >= CARD_MAX_SLOTS || state == NULL)
-		return -EINVAL;
-
-	slot = sock->sock;
-
-	power = exca_read_byte(slot, I365_POWER);
-	voltage = exca_read_byte(slot, CARD_VOLTAGE_SELECT);
-
-	state->Vcc = get_Vcc_value(voltage);
-	state->Vpp = get_Vpp_value(power, state->Vcc);
-
-	state->flags = 0;
-	if (power & POWER_ENABLE)
-		state->flags |= SS_PWR_AUTO;
-	if (power & I365_PWR_OUT)
-		state->flags |= SS_OUTPUT_ENA;
-
-	control = exca_read_byte(slot, I365_INTCTL);
-	if (control & I365_PC_IOCARD)
-		state->flags |= SS_IOCARD;
-	if (!(control & I365_PC_RESET))
-		state->flags |= SS_RESET;
-
-        cscint = exca_read_byte(slot, I365_CSCINT);
-	state->csc_mask = 0;
-	if (state->flags & SS_IOCARD) {
-		if (cscint & I365_CSC_STSCHG)
-			state->flags |= SS_STSCHG;
-	} else {
-		if (cscint & I365_CSC_BVD1)
-			state->csc_mask |= SS_BATDEAD;
-		if (cscint & I365_CSC_BVD2)
-			state->csc_mask |= SS_BATWARN;
-	}
-	if (cscint & I365_CSC_READY)
-		state->csc_mask |= SS_READY;
-	if (cscint & I365_CSC_DETECT)
-		state->csc_mask |= SS_DETECT;
-
-	return 0;
-}
-
 static inline uint8_t set_Vcc_value(u_char Vcc)
 {
 	switch (Vcc) {
@@ -550,7 +481,6 @@ static int pccard_set_mem_map(struct pcm
 static struct pccard_operations vrc4171_pccard_operations = {
 	.init			= pccard_init,
 	.get_status		= pccard_get_status,
-	.get_socket		= pccard_get_socket,
 	.set_socket		= pccard_set_socket,
 	.set_io_map		= pccard_set_io_map,
 	.set_mem_map		= pccard_set_mem_map,
Index: 2.6.14-rc2/drivers/pcmcia/vrc4173_cardu.c
===================================================================
--- 2.6.14-rc2.orig/drivers/pcmcia/vrc4173_cardu.c
+++ 2.6.14-rc2/drivers/pcmcia/vrc4173_cardu.c
@@ -198,48 +198,6 @@ static int cardu_get_status(unsigned int
 	return 0;
 }
 
-static inline u_char get_Vcc_value(uint8_t val)
-{
-	switch (val & VCC_MASK) {
-	case VCC_3V:
-		return 33;
-	case VCC_5V:
-		return 50;
-	}
-
-	return 0;
-}
-
-static inline u_char get_Vpp_value(uint8_t val)
-{
-	switch (val & VPP_MASK) {
-	case VPP_12V:
-		return 120;
-	case VPP_VCC:
-		return get_Vcc_value(val);
-	}
-
-	return 0;
-}
-
-static int cardu_get_socket(unsigned int sock, socket_state_t *state)
-{
-	vrc4173_socket_t *socket = &cardu_sockets[sock];
-	uint8_t val;
-
-	val = exca_readb(socket, PWR_CNT);
-	state->Vcc = get_Vcc_value(val);
-	state->Vpp = get_Vpp_value(val);
-	state->flags = 0;
-	if (val & CARD_OUT_EN) state->flags |= SS_OUTPUT_ENA;
-
-	val = exca_readb(socket, INT_GEN_CNT);
-	if (!(val & CARD_REST0)) state->flags |= SS_RESET;
-	if (val & CARD_TYPE_IO) state->flags |= SS_IOCARD;
-
-	return 0;
-}
-
 static inline uint8_t set_Vcc_value(u_char Vcc)
 {
 	switch (Vcc) {
@@ -431,7 +389,6 @@ static struct pccard_operations cardu_op
 	.register_callback	= cardu_register_callback,
 	.inquire_socket		= cardu_inquire_socket,
 	.get_status		= cardu_get_status,
-	.get_socket		= cardu_get_socket,
 	.set_socket		= cardu_set_socket,
 	.get_io_map		= cardu_get_io_map,
 	.set_io_map		= cardu_set_io_map,

From linux at dominikbrodowski.net  Sat Sep 24 15:58:21 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 07:58:29 2005
Subject: [PATCH 5/8] pcmcia: remove register_callback
Message-ID: <20050924195821.GE21904@dominikbrodowski.de>

Remove the register_callback declaration in struct pccard_operations as it
is unused.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

Index: 2.6.14-rc2/include/pcmcia/ss.h
===================================================================
--- 2.6.14-rc2.orig/include/pcmcia/ss.h
+++ 2.6.14-rc2/include/pcmcia/ss.h
@@ -117,7 +117,6 @@ struct pcmcia_socket;
 struct pccard_operations {
 	int (*init)(struct pcmcia_socket *sock);
 	int (*suspend)(struct pcmcia_socket *sock);
-	int (*register_callback)(struct pcmcia_socket *sock, void (*handler)(void *, unsigned int), void * info);
 	int (*get_status)(struct pcmcia_socket *sock, u_int *value);
 	int (*get_socket)(struct pcmcia_socket *sock, socket_state_t *state);
 	int (*set_socket)(struct pcmcia_socket *sock, socket_state_t *state);

From hch at infradead.org  Sat Sep 24 16:29:22 2005
From: hch at infradead.org (Christoph Hellwig)
Date: Tue Sep 27 07:58:35 2005
Subject: [PATCH 3/8] pcmcia: new IDs for serial_cs
In-Reply-To: <20050924195802.GC21904@dominikbrodowski.de>
References: <20050924195802.GC21904@dominikbrodowski.de>
Message-ID: <20050924202922.GA18578@infradead.org>

On Sat, Sep 24, 2005 at 09:58:02PM +0200, Dominik Brodowski wrote:
> Add new ID to serial_cs.c; the CIS fimware override is available by the
> manufactor at http://www.sierrawireless.com . Remember to name the CIS
> binary SW_7xx_SER.cis and to put it into /lib/firmware/

Shouldn't we document that somewhere.  And if yes in the kernel tree
or on some website?


From fred at ocn.com.br  Sun Sep 25 09:30:28 2005
From: fred at ocn.com.br (Frederico Madeira)
Date: Tue Sep 27 07:59:59 2005
Subject: PCMCIA don't work on HP ZV6000 with FC4
In-Reply-To: <20050922202416.GA9367@isilmar.linta.de>
References: <1126585162.4342.34.camel@localhost.localdomain>
	<1126674760.3505.0.camel@localhost.localdomain>
	<1126665971.3227.3.camel@localhost.localdomain>
	<20050922202416.GA9367@isilmar.linta.de>
Message-ID: <1127655028.3241.15.camel@localhost.localdomain>

I get this messagens:

Startup pcmcia sevice: ##################################

[root@linux_area fred]# /etc/init.d/pcmcia restart
Shutting down PCMCIA services: done.
Starting PCMCIA services: cardmgr[5038]: watching 1 socket
cardmgr[5038]: could not adjust resource: IO ports 0xc00-0xcff: Function
not implemented
cardmgr[5038]: could not adjust resource: IO ports 0x800-0x8ff: Function
not implemented
cardmgr[5038]: could not adjust resource: IO ports 0x100-0x4ff: Function
not implemented
cardmgr[5038]: could not adjust resource: memory 0xc0000-0xfffff:
Function not implemented
cardmgr[5038]: could not adjust resource: memory 0x60000000-0x60ffffff:
Function not implemented
cardmgr[5038]: could not adjust resource: memory 0xa0000000-0xa0ffffff:
Function not implemented
cardmgr[5038]: could not adjust resource: IO ports 0xa00-0xaff: Function
not implemented
cardmgr[5038]: could not adjust resource: IO ports 0x220-0x22f: Function
not implemented
cardmgr[5038]: could not adjust resource: IO ports 0x3b0-0x3bb: Function
not implemented
cardmgr[5038]: could not adjust resource: IO ports 0x3d3-0x3d3: Function
not implemented
done.
[root@linux_area fred]#

LOG ON messages: ######################################

Sep 25 10:29:11 linux_area cardmgr[1620]: executing: 'modprobe -r
memory_cs 2>&1'
Sep 25 10:29:11 linux_area cardmgr[1620]: + FATAL: Module memory_cs not
found.
Sep 25 10:29:11 linux_area cardmgr[1620]: modprobe exited with status 1
Sep 25 10:29:11 linux_area cardmgr[1620]: exiting
Sep 25 10:29:13 linux_area cardmgr[5038]: watching 1 socket
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0xc00-0xcff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0x800-0x8ff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0x100-0x4ff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource:
memory 0xc0000-0xfffff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource:
memory 0x60000000-0x60ffffff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource:
memory 0xa0000000-0xa0ffffff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0xa00-0xaff: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0x220-0x22f: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0x3b0-0x3bb: Function not implemented
Sep 25 10:29:13 linux_area cardmgr[5038]: could not adjust resource: IO
ports 0x3d3-0x3d3: Function not implemented
Sep 25 10:29:13 linux_area kernel: cs: unable to map card memory!
Sep 25 10:29:13 linux_area kernel: cs: unable to map card memory!
Sep 25 10:29:13 linux_area cardmgr[5038]: socket 0: Anonymous Memory
Sep 25 10:29:13 linux_area cardmgr[5038]: executing: 'modprobe memory_cs
2>&1'
Sep 25 10:29:13 linux_area cardmgr[5038]: + FATAL: Module memory_cs not
found.
Sep 25 10:29:13 linux_area cardmgr[5038]: modprobe exited with status 1
Sep 25 10:29:13 linux_area cardmgr[5038]:
module /lib/modules/2.6.12-1.1456_FC4/pcmcia/memory_cs.o not available
Sep 25 10:29:13 linux_area cardmgr[5038]: bind 'memory_cs' to socket 0
failed: Invalid argument

-----------------------------------------ot 
Frederico Madeira
fred@ocn.com.br
MSN: fttmadeira@hotmail.com
ICQ: 37152149
SKYPE: fred_madeira
Registered GNU/Linux n? 206120
------------------------------
Powered by LINUX

Em Qui, 2005-09-22 ?s 22:24 +0200, Dominik Brodowski escreveu:
> Hi,
> 
> Can you try booting with pci=noacpi ? It looks to me that some IRQs aren't
> routed correctly. Also, you could try the kernel boot option "noapic".
> 
> 	Dominik
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia
> 
> 



From itzhak.benakiva at guardit-tech.com  Mon Sep 26 01:34:17 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Tue Sep 27 08:00:55 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
Message-ID: <1127712857.2694.32.camel@hexa0xfb>

Hi all,

May I request your help in solving a problem I have with pcmcia
bluetooth card?

I'm working on ARM Integrator/AP platform with Linux 2.6.13. And, I'm
using PCI Bus Card Drive: PCI-IF1/C (32Bit) and PCMCIA Bluetooth Card -
Anycom Blue CF - 300.

Initially, to get yenta to recognize my pccard bus I had to apply a
patch to the yenta_socket driver. Thanks to Russel King for the patch:

diff -u linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c
linux/drivers/pcmcia/yenta_socket.c
--- linux-2.5-pcmcia/drivers/pcmcia/yenta_socket.c      Sun Mar 23
11:57:21 2003
+++ linux/drivers/pcmcia/yenta_socket.c Fri Mar 28 23:17:12 2003
@@ -524,6 +524,7 @@
        return 0;
 }
 
+#if 0
 /*
  * Use an adaptive allocation for the memory resource,
  * sometimes the memory behind pci bridges is limited:
@@ -698,6 +699,7 @@
                res->start = res->end = 0;
        }
 }
+#endif
 
 
 /*
@@ -721,8 +723,9 @@
 
        if (sock->base)
                iounmap(sock->base);
+#if 0
        yenta_free_resources(sock);
-
+#endif
        pci_release_regions(dev);
        pci_disable_device(dev);
        pci_set_drvdata(dev, NULL);
@@ -940,6 +943,7 @@
        pci_set_power_state(socket->dev, 0);
 
        config_writel(socket, CB_LEGACY_MODE_BASE, 0);
+#if 0
        config_writel(socket, PCI_BASE_ADDRESS_0,
dev->resource[0].start);
        config_writew(socket, PCI_COMMAND,
                        PCI_COMMAND_IO |
@@ -955,6 +959,7 @@
                (dev->subordinate->subordinate << 16) | /* subordinate
bus */
                (dev->subordinate->secondary << 8) |  /* secondary bus
*/
                dev->subordinate->primary);                /* primary
bus */
+#endif
 
        /*
         * Set up the bridging state:
@@ -1037,9 +1042,14 @@
        /* Disable all events */
        cb_writel(socket, CB_SOCKET_MASK, 0x0);
 
+#if 0
        /* Set up the bridge regions.. */
        yenta_allocate_resources(socket);
+#endif
 
+       pci_set_master(dev);
+       /* FIXME: should we also pci_set_mwi(dev); ? */
+
        socket->cb_irq = dev->irq;
 
        /* Do we have special options for the device? */

After I have applied the patch, yenta recognizes my pccard and allocates
properly the necessary resources as reported in syslog:

PCI: enabling device 0000:00:0b.0 (0140 -> 0143)
Yenta: CardBus bridge found at 0000:00:0b.0 [0000:0000]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:0b.0, mfunc 0x00001c02, devctl 0x62
Yenta: ISA IRQ mask 0x0000, PCI irq 15
Socket status: 30000010
pcmcia: parent PCI bridge Memory window: 0x40000000 - 0x4fffffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x5fffffff
cs: memory probe 0x40000000-0x4fffffff: excluding 0x40000000-0x427fffff
cs: memory probe 0x50000000-0x5fffffff: excluding 0x50000000-0x5fffffff

When I insert the bluetooth pcmcia card into the slot syslog reports:

This is just a warning. Your computer is OK
function=0x00000000, data=0x0
[<c0025c84>] (dump_stack+0x0/0x14) from [<c003f598>] (check_timer_failed
+0x4c/0x6c)
[<c003f54c>] (check_timer_failed+0x0/0x6c) from [<c003f6fc>] (del_timer
+0x28/0x80)
r4 = C7A20A88
[<c003f6d4>] (del_timer+0x0/0x80) from [<bf038da4>] (bluecard_release
+0x2c/0x64 [bluecard_cs])
r5 = C7A209E0 r4 = C7A209E0
[<bf038d78>] (bluecard_release+0x0/0x64 [bluecard_cs]) from [<bf0393f4>]
(bluecard_event+0x490/0x534 [bluecard_cs])
r5 = C7A209E0 r4 = C7A209E0
[<bf038f64>] (bluecard_event+0x0/0x534 [bluecard_cs]) from [<bf00b31c>]
(pcmcia_register_client+0x1d8/0x200 [pcmcia])
[<bf00b144>] (pcmcia_register_client+0x0/0x200 [pcmcia]) from
[<bf038f24>] (bluecard_attach+0xac/0xec [bluecard_cs])
[<bf038e78>] (bluecard_attach+0x0/0xec [bluecard_cs]) from [<bf00a2fc>]
(pcmcia_device_probe+0x80/0x108 [pcmcia])
r6 = C7DEA63C r5 = C7DEA600 r4 = BF03A6DC
[<bf00a27c>] (pcmcia_device_probe+0x0/0x108 [pcmcia]) from [<c014729c>]
(driver_probe_device+0x5c/0xa8)
r7 = BF03A6F0 r6 = BF03A6F0 r5 = 00000000 r4 = C7DEA63C
[<c0147240>] (driver_probe_device+0x0/0xa8) from [<c01473e0>]
(__driver_attach+0x4c/0x78)
r6 = C0147394 r5 = C7C25DBC r4 = C7DEA6E4
[<c0147394>] (__driver_attach+0x0/0x78) from [<c01469bc>]
(bus_for_each_dev+0x50/0x84)
r4 = 00000000
[<c014696c>] (bus_for_each_dev+0x0/0x84) from [<c014742c>]
(driver_attach+0x20/0x28)
r7 = BF00FD14 r6 = BF03A684 r5 = BF03A6F0 r4 = BF03A704
[<c014740c>] (driver_attach+0x0/0x28) from [<c0146e30>] (bus_add_driver
+0x6c/0x138)
[<c0146dc4>] (bus_add_driver+0x0/0x138) from [<c01477e4>]
(driver_register+0x34/0x38)
[<c01477b0>] (driver_register+0x0/0x38) from [<bf00a1d8>]
(pcmcia_register_driver+0xf8/0x114 [pcmcia])
r4 = BF03A6DC
[<bf00a0e0>] (pcmcia_register_driver+0x0/0x114 [pcmcia]) from
[<bf03c014>] (init_bluecard_cs+0x14/0x1c [bluecard_cs])
r7 = C02218D0 r6 = BF03A7A0 r5 = BF03A7A0 r4 = C02218E0
[<bf03c000>] (init_bluecard_cs+0x0/0x1c [bluecard_cs]) from [<c0051a74>]
(sys_init_module+0x155c/0x16bc)
[<c0050518>] (sys_init_module+0x0/0x16bc) from [<c0020d00>]
(ret_fast_syscall+0x0/0x2c)

However, whenever I run cardmgr or cardctl I get always the same
message:

cardctl ident
no pcmcia driver in /proc/devices

I should see something like that instead: 

Socket 0:
  product info: "BTCFCARD", "LSE139"
  manfid: 0x0264, 0x000b
  function: 6 (network)
The above is the result I see on my laptop. On ARM board I should also
see the same result. However, I get "no pcmcia driver in /proc/devices".
What is wrong?

The file /proc/devices on my ARM board is:

Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
29 fb
108 ppp
128 ptm
136 pts
204 ttyAM
216 rfcomm
254 ttySLP

Block devices:
1 ramdisk
7 loop

I compared /proc/devices that I have on the ARM board to the one I have
in my laptop, and the entry 254 pcmcia is missing in the file on the
board as seen above. Why pcmcia driver is failing to register the 254
pcmcia entry into /proc/devices?

I've got all the configuration in place, i.e., /etc/pcmcia contains the
files:
bluetooth       ide            network       scsi.opts    wireless.opts
bluetooth.conf  ide.opts       network.opts  serial
cis             ieee1394       parport       serial.opts
config          ieee1394.opts  parport.opts  shared
config.opts     isdn           scsi          wireless

I have a start-up script for pcmcia, which loads the pcmcia drivers and
starts cardmgr. It is the default script provides by pcmcia-cs. By the
way, I'm using pcmcia-cs-3.2.8, cross-compiled to ARM processor.

Thanks in advance for any help.

cheers,
Itzhak


From linux at dominikbrodowski.net  Mon Sep 26 02:27:11 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 08:01:15 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127712857.2694.32.camel@hexa0xfb>
References: <1127712857.2694.32.camel@hexa0xfb>
Message-ID: <20050926062711.GA16271@isilmar.linta.de>

Hi,

It seems to me that you have
	CONFIG_PCMCIA_IOCTL
disabled -- you need it to use the deprecated pcmcia-cs tools. I'd advise
you to use the new pcmciautils tools available at
http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
instead, though. Then, "pccardctl ident" should result in the usual

Socket 0:
  product info: "BTCFCARD", "LSE139"
  manfid: 0x0264, 0x000b
  function: 6 (network)

On your ARM system, the device is correctly detected to be usable with the
bluecard_cs driver. It then calls bluecard_attach(), which calls
pcmcia_register_client(). It then calls bluecard_event() -- but as of 2.6.13
pcmcia_register_client can only call bluecard_event() with the event
CS_EVENT_CARD_INSERTION. Therefore, I do not understand why
bluecard_release() is called by bluecard_event()... I'd suggest that you add
quite many debug printk's to bluecard_cs to determine where exactly it fails
during initialization; and whether bluecard_config() is ever called.
Alternatively, you could test the most recent -mm kernel; it contains
changes streamlining the probing process, which might make it more easy to
debug it.
	Dominik


From linux at dominikbrodowski.net  Mon Sep 26 09:21:55 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 08:07:33 2005
Subject: [git pull] PCMCIA bug fixes for 2.6.14
Message-ID: <20050926132155.GA6880@isilmar.linta.de>

Linus,

Please pull from

http://www.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6-fixes.git

The diffstat and list of changes follows.

Thanks,
	Dominik

----
 drivers/ide/legacy/ide-cs.c     |    2 
 drivers/pcmcia/Kconfig          |    2 
 drivers/pcmcia/cardbus.c        |    5 +
 drivers/pcmcia/ti113x.h         |  115 ++++++++++++++++++++++++++++++++++++----
 drivers/pcmcia/yenta_socket.c   |   62 ++++++++++-----------
 drivers/serial/serial_cs.c      |    1 
 include/linux/mod_devicetable.h |    5 +
 include/linux/pci_ids.h         |   12 ++++
 include/pcmcia/ss.h             |    9 ++-
 scripts/mod/file2alias.c        |    2 
 10 files changed, 167 insertions(+), 48 deletions(-)
----
Daniel Ritz:
  yenta: auto-tune EnE bridges for CardBus cards
  yenta: don't mess with bridge control register
  yenta: add support for more TI bridges
  yenta: more ENE bridges

Dominik Brodowski:
  yenta: tiny cleanup
  pcmcia: new IDs for serial_cs
  pcmcia: update ID for NinjaATA

Kars de Jong:
  pcmcia: fix cross-platform issues with pcmcia module aliases

Komuro:
  pcmcia: fix Kconfig dependency


From linux at dominikbrodowski.net  Mon Sep 26 09:24:30 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 08:07:39 2005
Subject: [git pull] PCMCIA bug fixes for 2.6.14
In-Reply-To: <20050926132155.GA6880@isilmar.linta.de>
References: <20050926132155.GA6880@isilmar.linta.de>
Message-ID: <20050926132430.GA21731@isilmar.linta.de>

On Mon, Sep 26, 2005 at 03:21:55PM +0200, Dominik Brodowski wrote:
> http://www.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6-fixes.git

http://www.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6.git

Sorry about the confusion,
	Dominik

From itzhak.benakiva at guardit-tech.com  Tue Sep 27 00:17:23 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Tue Sep 27 08:08:37 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050926073834.GA23217@isilmar.linta.de>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
Message-ID: <1127794643.2674.0.camel@hexa0xfb>

Hi Dominik,

In my ARM documentation I found the following information for
Integrator/AP

-----------------------------------------------------------------------------
Window  PCI space  Size    PCI address           System bus addr
-----------------------------------------------------------------------------
 0      Memory     256MB   0x40000000-0x4FFFFFFF 0x40000000-0x4FFFFFFF
-----------------------------------------------------------------------------
 1      Memory     256MB   0x50000000-0x5FFFFFFF 0x50000000-0x5FFFFFFF
-----------------------------------------------------------------------------
 2      I/O        16MB    0x000000-0xFFFFFF     0x60000000-0x60FFFFFF
-----------------------------------------------------------------------------
Registers -         64KB        -                0x62000000-0x6200FFFF
-----------------------------------------------------------------------------

Based on this information, I tried to set up the i/o ports for pcmcia in
the file /etc/pcmcia/config.opts as follows:

include port 0x600-0x60f
include memory 0x40000000-0x4fffffff, memory 0x50000000-0x5fffffff

However, I still get the same results, i.e., REQUESTIO: resource in use.
But, as I enabled debug for pccard in the kernel, I get more info:

pcmcia_resource: pcmcia_socket0: odd IO request: base 0x300 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x340 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x380 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x3c0 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x200 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x240 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x280 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x2c0 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x100 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x140 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x180 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x1c0 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x40 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0x80 align 0x40
pcmcia_resource: pcmcia_socket0: odd IO request: base 0xc0 align 0x40
BT_DEBUG: pcmcia_request_io failed in bluecard_config
0.0: RequestIO: Resource in use
Uninitialised timer!
This is just a warning.  Your computer is OK
function=0x00000000, data=0x0
[<c0025c84>] (dump_stack+0x0/0x14) from [<c003f598>] (check_timer_failed
+0x4c/0x6c)
[<c003f54c>] (check_timer_failed+0x0/0x6c) from [<c003f6fc>] (del_timer
+0x28/0x80)
 r4 = C79CFC88
[<c003f6d4>] (del_timer+0x0/0x80) from [<bf047da4>] (bluecard_release
+0x2c/0x64 [bluecard_cs])
 r5 = C79CFBE0  r4 = C79CFBE0
[<bf047d78>] (bluecard_release+0x0/0x64 [bluecard_cs]) from [<bf048478>]
(bluecard_event+0x4ec/0x5b4 [bluecard_cs])
 r5 = C79CFBE0  r4 = C79CFBE0
[<bf047f8c>] (bluecard_event+0x0/0x5b4 [bluecard_cs]) from [<bf0153b0>]
(pcmcia_register_client+0x1f4/0x224 [pcmcia])
[<bf0151bc>] (pcmcia_register_client+0x0/0x224 [pcmcia]) from
[<bf047f30>] (bluecard_attach+0xb8/0x114 [bluecard_cs])
[<bf047e78>] (bluecard_attach+0x0/0x114 [bluecard_cs]) from [<bf01431c>]
(pcmcia_device_probe+0x80/0x108 [pcmcia])
 r7 = 00000000  r6 = C7DA423C  r5 = C7DA4200  r4 = BF04999C
[<bf01429c>] (pcmcia_device_probe+0x0/0x108 [pcmcia]) from [<c01473c4>]
(driver_probe_device+0x5c/0xa8)
 r7 = BF0499B0  r6 = BF0499B0  r5 = 00000000  r4 = C7DA423C
[<c0147368>] (driver_probe_device+0x0/0xa8) from [<c0147508>]
(__driver_attach+0x4c/0x78)
 r6 = C01474BC  r5 = C7C25DBC  r4 = C7DA42E4
[<c01474bc>] (__driver_attach+0x0/0x78) from [<c0146ae4>]
(bus_for_each_dev+0x50/0x84)
 r4 = 00000000
[<c0146a94>] (bus_for_each_dev+0x0/0x84) from [<c0147554>]
(driver_attach+0x20/0x28)
 r7 = BF01BB9C  r6 = BF049944  r5 = BF0499B0  r4 = BF0499C4
[<c0147534>] (driver_attach+0x0/0x28) from [<c0146f58>] (bus_add_driver
+0x6c/0x138)
[<c0146eec>] (bus_add_driver+0x0/0x138) from [<c014790c>]
(driver_register+0x34/0x38)
[<c01478d8>] (driver_register+0x0/0x38) from [<bf0141d8>]
(pcmcia_register_driver+0xf8/0x114 [pcmcia])
 r4 = BF04999C
[<bf0140e0>] (pcmcia_register_driver+0x0/0x114 [pcmcia]) from
[<bf04b014>] (init_bluecard_cs+0x14/0x1c [bluecard_cs])
 r7 = C02218D0  r6 = BF049A60  r5 = BF049A60  r4 = C02218E0
[<bf04b000>] (init_bluecard_cs+0x0/0x1c [bluecard_cs]) from [<c0051a74>]
(sys_init_module+0x155c/0x16bc)
[<c0050518>] (sys_init_module+0x0/0x16bc) from [<c0020d00>]
(ret_fast_syscall+0x0/0x2c)

Once again I thank you very much for your valuable help.

Itzhak

On Mon, 2005-09-26 at 09:38 +0200, Dominik Brodowski wrote:
> Hi Itzhak,
> 
> Please also send a lspci -vvv, thanks.
> 
> On Mon, Sep 26, 2005 at 10:35:28AM +0300, Itzhak Ben-Akiva wrote:
> > include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
> > include memory 0xc0000-0xfffff
> > include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
> > 
> > # High port numbers do not always work...
> > # include port 0x1000-0x17ff
> > 
> > # Extra port range for IBM Token Ring
> > include port 0xa00-0xaff
> 
> >From a first look at this file: x86-specific ports and port regions...
> probably not suitable for ARM.
> 
> 	Dominik


From linux at dominikbrodowski.net  Tue Sep 27 12:09:21 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 12:10:02 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127794643.2674.0.camel@hexa0xfb>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
Message-ID: <20050927160921.GA19290@isilmar.linta.de>

On Tue, Sep 27, 2005 at 07:17:23AM +0300, Itzhak Ben-Akiva wrote:
> Hi Dominik,
> 
> In my ARM documentation I found the following information for
> Integrator/AP
> 
> -----------------------------------------------------------------------------
> Window  PCI space  Size    PCI address           System bus addr
> -----------------------------------------------------------------------------
>  0      Memory     256MB   0x40000000-0x4FFFFFFF 0x40000000-0x4FFFFFFF
> -----------------------------------------------------------------------------
>  1      Memory     256MB   0x50000000-0x5FFFFFFF 0x50000000-0x5FFFFFFF
> -----------------------------------------------------------------------------
>  2      I/O        16MB    0x000000-0xFFFFFF     0x60000000-0x60FFFFFF
> -----------------------------------------------------------------------------
> Registers -         64KB        -                0x62000000-0x6200FFFF
> -----------------------------------------------------------------------------
> 
> Based on this information, I tried to set up the i/o ports for pcmcia in
> the file /etc/pcmcia/config.opts as follows:
> 
> include port 0x600-0x60f
> include memory 0x40000000-0x4fffffff, memory 0x50000000-0x5fffffff

No, you need the system-centric view in /etc/pcmica/config.opts:

include port 0x60000000-0x60ffffff


> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x300 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x340 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x380 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x3c0 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x200 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x240 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x280 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x2c0 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x100 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x140 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x180 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x1c0 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x40 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0x80 align 0x40
> pcmcia_resource: pcmcia_socket0: odd IO request: base 0xc0 align 0x40

This I do not understand, but it shouldn't do any harm.

	Dominik

From itzhak.benakiva at guardit-tech.com  Tue Sep 27 12:36:58 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Tue Sep 27 12:37:49 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050927160921.GA19290@isilmar.linta.de>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
Message-ID: <1127839018.6447.8.camel@hexa0xfb>

On Tue, 2005-09-27 at 18:09 +0200, Dominik Brodowski wrote:
> On Tue, Sep 27, 2005 at 07:17:23AM +0300, Itzhak Ben-Akiva wrote:
> > Hi Dominik,
> > 
> > In my ARM documentation I found the following information for
> > Integrator/AP
> > 
> > -----------------------------------------------------------------------------
> > Window  PCI space  Size    PCI address           System bus addr
> > -----------------------------------------------------------------------------
> >  0      Memory     256MB   0x40000000-0x4FFFFFFF 0x40000000-0x4FFFFFFF
> > -----------------------------------------------------------------------------
> >  1      Memory     256MB   0x50000000-0x5FFFFFFF 0x50000000-0x5FFFFFFF
> > -----------------------------------------------------------------------------
> >  2      I/O        16MB    0x000000-0xFFFFFF     0x60000000-0x60FFFFFF
> > -----------------------------------------------------------------------------
> > Registers -         64KB        -                0x62000000-0x6200FFFF
> > -----------------------------------------------------------------------------
> > 
> > Based on this information, I tried to set up the i/o ports for pcmcia in
> > the file /etc/pcmcia/config.opts as follows:
> > 
> > include port 0x600-0x60f
> > include memory 0x40000000-0x4fffffff, memory 0x50000000-0x5fffffff
> 
> No, you need the system-centric view in /etc/pcmica/config.opts:
> 
> include port 0x60000000-0x60ffffff

If I use include port as you mentioned above I get the following error
from cardmgr:

cardmgr[841]: error in file './config.opts' line 20: invalid port range
0x60000000-0x60ffffff
cardmgr[841]: no pcmcia driver in /proc/devices

include port 0x600-0x60f, though, went ok.

> 
> 
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x300 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x340 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x380 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x3c0 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x200 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x240 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x280 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x2c0 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x100 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x140 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x180 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x1c0 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x40 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0x80 align 0x40
> > pcmcia_resource: pcmcia_socket0: odd IO request: base 0xc0 align 0x40

bluecard_config calls pcmcia_request_io as follows:

link->conf.ConfigIndex = 0x20;
        link->io.NumPorts1 = 64;
        link->io.IOAddrLines = 6;

        for (n = 0; n < 0x400; n += 0x40) {
                link->io.BasePort1 = n ^ 0x300;
                i = pcmcia_request_io(link->handle, &link->io);
                if (i == CS_SUCCESS)
                        break;
        }

        if (i != CS_SUCCESS) {
                cs_error(link->handle, RequestIO, i);
                goto failed;
        }

pcmcia_request_io fails to allocate io region. I thought that using the
address I mentioned in the table above would solve the problem.

Any ideas?

Thanks,
Itzhak
> 
> This I do not understand, but it shouldn't do any harm.
> 
> 	Dominik
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia


From linux at dominikbrodowski.net  Tue Sep 27 12:55:12 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Tue Sep 27 12:55:40 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127839018.6447.8.camel@hexa0xfb>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
Message-ID: <20050927165512.GA10791@isilmar.linta.de>

On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> cardmgr[841]: error in file './config.opts' line 20: invalid port range
> 0x60000000-0x60ffffff
> cardmgr[841]: no pcmcia driver in /proc/devices
> 
> include port 0x600-0x60f, though, went ok.

That's a cardmgr bug. Then use this small sysfs shell script instead

#!/bin/sh
echo "0x60000000-0x60ffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io
echo "0x50000000-0x5fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
echo "0x40000000-0x4fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
echo "1" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done


	Dominik

From rmk+pcmcia at arm.linux.org.uk  Tue Sep 27 14:11:09 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Tue Sep 27 14:17:01 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050927160921.GA19290@isilmar.linta.de>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
Message-ID: <20050927181109.GA16955@flint.arm.linux.org.uk>

On Tue, Sep 27, 2005 at 06:09:21PM +0200, Dominik Brodowski wrote:
> > include port 0x600-0x60f
> > include memory 0x40000000-0x4fffffff, memory 0x50000000-0x5fffffff
> 
> No, you need the system-centric view in /etc/pcmica/config.opts:

No.  With IO ports, it's entirely up to the architecture.

In this case, the PC IO is "emulated" by accessing MMIO addresses on the
system bus in the range 0x60000000-0x60ffffff (in fact, it's only 64K so
it's up to 0x6000ffff).

Since we emulate this as the standard set of 64K IO addresses, this
corresponds with IO addresses 0x0000 to 0xffff.  Hence, the right
argument is: include port 0-0xffff

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

From proski at gnu.org  Tue Sep 27 15:55:33 2005
From: proski at gnu.org (Pavel Roskin)
Date: Tue Sep 27 15:56:27 2005
Subject: [PATCH]: Fix pcmcia_validate_cis() error reporting in pcmciamtd
Message-ID: <1127850933.2252.6.camel@dv>

Hello!

pcmciamtd driver reports errors from pcmcia_validate_cis() incorrectly.

Signed-off-by: Pavel Roskin <proski@gnu.org>

--- drivers/mtd/maps/pcmciamtd.c
+++ drivers/mtd/maps/pcmciamtd.c
@@ -513,7 +513,7 @@ static void pcmciamtd_config(dev_link_t 
 	DEBUG(2, "Validating CIS");
 	ret = pcmcia_validate_cis(link->handle, &cisinfo);
 	if(ret != CS_SUCCESS) {
-		cs_error(link->handle, GetTupleData, ret);
+		cs_error(link->handle, ValidateCIS, ret);
 	} else {
 		DEBUG(2, "ValidateCIS found %d chains", cisinfo.Chains);
 	}


-- 
Regards,
Pavel Roskin


From marten.thomasson at bredband.net  Tue Sep 27 20:01:13 2005
From: marten.thomasson at bredband.net (=?iso-8859-1?Q?M=E5rten_Thomasson?=)
Date: Tue Sep 27 20:03:17 2005
Subject: Help on a texas instruments pci7420 cardbus
Message-ID: <20050928000122.GDSW11792.mxfep02.bredband.com@Legolas>

Hello, I'd really appreciate some help...I've been working on this for days
and nights now, and its driving me crazy! I have recently bought a Proxim
Orinoco Gold 802.11 b/g pcmcia card, based on the atheros chipset, and I'm
trying to get it work on fedora core 4 2.6.12...

To get this working, I've tried the Madwifi drivers, but no matter how much
I try, I can't get the card to appear.

When I perform an lspci, its not listed. The same goes for iwconfig and
ifconfig.

I've cecked out many (too many!) sites, and tried to follow the advice, but
nothing works. Please, if someone here knows what to do...

I include the output from dmesg and lspci and /etc/pcmcia/config.opts, and
apologize for thereby creating a long mail.

Regards,

Marten

-----------------------------------------------------------------------
#
# Output from lspci
#
#----------------------------------------------------------------------
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express
Processor to DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express
Root Port (rev 03)
00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
PCI Express Port 1 (rev 04)
00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
PCI Express Port 3 (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6
Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge
(rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)
IDE Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus
Controller (rev 04)
01:00.0 VGA compatible controller: ATI Technologies Inc M24 1P [Radeon
Mobility X600]
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 Fast
Ethernet Controller (rev 10)
06:00.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller
06:00.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI
Two-Port PHY/Link-Layer Controller
06:00.3 Unknown mass storage controller: Texas Instruments PCI7420/PCI7620
Dual Socket CardBus and Smart Card Cont. w/ 1394a-2000 OHCI Two-Port
PHY/Link-Layer Cont. an
06:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
-----------------------------------------------------------------------
#
#/etc/pcmcia/config.opts
#
#----------------------------------------------------------------------
include port 0xfe00-0xfeff, memory 0xdb000-0xdbfff
exclude irq 10

device "ath_pci"
	class "network"
	module "ath_pci"

card "Orinoco Gold"
	function network_adapter
	bind "ath_pci"
-----------------------------------------------------------------------
#
# Output from dmesg
#
-----------------------------------------------------------------------
Linux version 2.6.12-1.1456_FC4 (bhcompile@tweety.build.redhat.com) (gcc
version 4.0.1 20050727 (Red Hat 4.0.1-5)) #1 Thu Sep 22 02:11:40 EDT 2005
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001fe90000 (usable)
 BIOS-e820: 000000001fe90000 - 000000001fe9a000 (ACPI data)
 BIOS-e820: 000000001fe9a000 - 000000001ff00000 (ACPI NVS)
 BIOS-e820: 000000001ff00000 - 0000000020000000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0006000 (reserved)
 BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
 BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
 BIOS-e820: 00000000fed20000 - 00000000fed90000 (reserved)
 BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
510MB LOWMEM available.
Using x86 segment limits to approximate NX protection
On node 0 totalpages: 130704
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 126608 pages, LIFO batch:31
  HighMem zone: 0 pages, LIFO batch:1
DMI present.
ACPI: RSDP (v000 PTLTD                                 ) @ 0x000f65b0
ACPI: RSDT (v001 PTLTD  HunterWD 0x06040000  LTP 0x00000000) @ 0x1fe90d57
ACPI: FADT (v001 LGE    HunterWD 0x06040000 LGE  0x0000005f) @ 0x1fe99e88
ACPI: MADT (v001 INTEL  ALVISO   0x06040000 LOHR 0x0000005f) @ 0x1fe99efc
ACPI: HPET (v001 INTEL  ALVISO   0x06040000 LOHR 0x0000005f) @ 0x1fe99f64
ACPI: MCFG (v001 INTEL  ALVISO   0x06040000 LOHR 0x0000005f) @ 0x1fe99f9c
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x1fe99fd8
ACPI: SSDT (v001 SataRe SataAhci 0x00001000 INTL 0x20030224) @ 0x1fe915bd
ACPI: SSDT (v001  PmRef  Cpu0Ist 0x00003000 INTL 0x20030224) @ 0x1fe91178
ACPI: SSDT (v001  PmRef  Cpu0Cst 0x00003001 INTL 0x20030224) @ 0x1fe90fb8
ACPI: SSDT (v001  PmRef    CpuPm 0x00003000 INTL 0x20030224) @ 0x1fe90d9f
ACPI: DSDT (v001 LGE    HUNTER   0x06040000 INTL 0x20030224) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
ACPI: HPET id: 0x8086a201 base: 0xfed00000
Allocating PCI resources starting at 20000000 (gap: 20000000:c0000000)
Built 1 zonelists
Kernel command line: ro root=LABEL=/ acpi=on rhgb quiet
Initializing CPU#0
CPU 0 irqstacks, hard=c0459000 soft=c0458000
PID hash table entries: 2048 (order: 11, 32768 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512804k/522816k available (2518k kernel code, 9388k reserved, 694k
data, 184k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
hpet0: 0ns tick, 3 64-bit timers
Using HPET for base-timer
Using HPET for gettimeofday
Detected 1995.012 MHz processor.
Using hpet for high-res timesource
Calibrating delay loop... 3948.54 BogoMIPS (lpj=1974272)
Security Framework v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissive mode
selinux_register_security:  Registering secondary module capability
Capability LSM initialized as secondary
Mount-cache hash table entries: 512
CPU: After generic identify, caps: afe9fbff 00100000 00000000 00000000
00000180 00000000 00000000
CPU: After vendor identify, caps: afe9fbff 00100000 00000000 00000000
00000180 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
CPU: After all inits, caps: afe9f3ff 00100000 00000000 00000040 00000180
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: Intel(R) Pentium(R) M processor 2.00GHz stepping 08
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
ACPI: setting ELCR to 0200 (from 0c80)
checking if image is initramfs... it is
Freeing initrd memory: 1083k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfd90e, last bus=6
PCI: Using MMCONFIG
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050902
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] segment is 0
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
Boot video device is 0000:01:00.0
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEGP._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP03._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 5 6 7 *10 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 5 6 7 *11 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 5 6 *7 10 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 5 6 7 *11 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 5 6 7 10 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 5 6 7 11 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 5 6 7 10 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 5 6 7 11 14 15) *10
ACPI: Embedded Controller [EC] (gpe 28)
ACPI: Power Resource [CTHT] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 16 devices
usbcore: registered new driver usbfs
usbcore: registered new driver hub
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a
report
Simple Boot Flag at 0x39 set to 0x1
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
audit(1127871688.539:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SELinux:  Registering netfilter hooks
Initializing Cryptographic API
ksign: Installing public key data
Loading keyring
- Added public key 1AA05E49AF1DE883
- User ID: Red Hat, Inc. (Kernel Module GPG key)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:01.0[A] -> Link [LNKA] -> GSI 10 (level, low) ->
IRQ 10
PCI: Setting latency timer of device 0000:00:01.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie03]
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:1c.0[A] -> Link [LNKB] -> GSI 11 (level, low) ->
IRQ 11
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie02]
Allocate Port Service[pcie03]
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 7
PCI: setting IRQ 7 as level-triggered
ACPI: PCI Interrupt 0000:00:1c.2[C] -> Link [LNKC] -> GSI 7 (level, low) ->
IRQ 7
PCI: Setting latency timer of device 0000:00:1c.2 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[pcie00]
Allocate Port Service[pcie02]
Allocate Port Service[pcie03]
ACPI: Fan [FAN0] (off)
ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])
ACPI: Processor [CPU0] (supports 8 throttling states)
ACPI: Thermal Zone [TZ1] (40 C)
ACPI: Thermal Zone [TZ2] (44 C)
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12
hpet_acpi_add: no address or irqs in _CRS
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected an Intel 915GM Chipset.
agpgart: AGP aperture is 256M @ 0x0
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
i8042.c: Detected active multiplexing controller, rev 1.1.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 76 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH6: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 7 (level, low) ->
IRQ 7
ICH6: chipset revision 4
ICH6: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1880-0x1887, BIOS settings: hda:DMA, hdb:DMA
Probing IDE interface ide0...
hda: FUJITSU MHT2080AH, ATA DISK drive
hdb: TSSTcorpCD/DVDW TS-L632B, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hda: max request size: 128KiB
hda: Host Protected Area detected.
	current capacity is 150095294 sectors (76848 MB)
	native  capacity is 156301488 sectors (80026 MB)
hda: Host Protected Area disabled.
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63,
UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3 < hda5 hda6 > hda4
hdb: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 32Kbytes
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 6, 458752 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
Initializing IPsec netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
ACPI wakeup devices: 
LID0 PWRB AZAL RP01 PXS1 RP02 RP03 RP04 USB1 USB2 USB3 USB4 USB7 PCIB MPCI
MODM PS2K 
ACPI: (supports S0 S3 S4 S5)
Freeing unused kernel memory: 184k freed
input: AT Translated Set 2 keyboard on isa0060/serio0
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
SELinux:  Disabled at runtime.
SELinux:  Unregistering netfilter hooks
Synaptics Touchpad, model: 1, fw: 5.9, id: 0x236eb3, caps: 0x904713/0x10008
input: SynPS/2 Synaptics TouchPad on isa0060/serio2
floppy0: no floppy controllers found
ieee80211_crypt: registered algorithm 'NULL'
ieee80211: 802.11 data/management/control stack, 1.0.3
ieee80211: Copyright (C) 2004-2005 Intel Corporation
<jketreno@linux.intel.com>
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.6
ipw2200: Copyright(c) 2003-2004 Intel Corporation
ACPI: PCI Interrupt 0000:06:02.0[A] -> Link [LNKC] -> GSI 7 (level, low) ->
IRQ 7
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
snd_hda_intel: Unknown parameter `'
ACPI: PCI Interrupt 0000:00:1b.0[A] -> Link [LNKA] -> GSI 10 (level, low) ->
IRQ 10
PCI: Setting latency timer of device 0000:00:1b.0 to 64
hda_codec: no AFG node found
hw_random: RNG not detected
shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.7[A] -> Link [LNKH] -> GSI 11 (level, low) ->
IRQ 11
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: debug port 1
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: irq 11, io mem 0xb8004000
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
USB Universal Host Controller Interface driver v2.2
ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKH] -> GSI 11 (level, low) ->
IRQ 11
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001800
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) ->
IRQ 11
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001820
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 7 (level, low) ->
IRQ 7
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 7, io base 0x00001840
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[D] -> Link [LNKA] -> GSI 10 (level, low) ->
IRQ 10
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 10, io base 0x00001860
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) ->
IRQ 10
Yenta: CardBus bridge found at 0000:06:00.0 [1854:000e]
yenta 0000:06:00.0: Preassigned resource 0 busy, reconfiguring...
yenta 0000:06:00.0: Preassigned resource 1 busy, reconfiguring...
Yenta: ISA IRQ mask 0x0078, PCI irq 10
Socket status: 30000006
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1250 $ Ben Collins <bcollins@debian.org>
ACPI: PCI Interrupt 0000:06:00.2[A] -> Link [LNKA] -> GSI 10 (level, low) ->
IRQ 10
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10]  MMIO=[c4004000-c40047ff]
Max Packet=[2048]
usb 5-2: new low speed USB device using uhci_hcd and address 2
usb 5-2: string descriptor 0 read error: -32
input,hiddev96: USB HID v1.01 Keyboard [043e:9802] on usb-0000:00:1d.3-2
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[56a0942500e09104]
NET: Registered protocol family 10
Disabled Privacy Extensions on device c03e6a40(lo)
IPv6 over IPv4 tunneling driver
ACPI: AC Adapter [AC] (on-line)
Using generic hotkey driver
ACPI: Battery Slot [CMB0] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID0]
ACPI: Power Button (CM) [PWRB]
ACPI: Sleep Button (CM) [SLPB]
ibm_acpi: Using generic hotkey driver
toshiba_acpi: Using generic hotkey driver
ACPI: Video Device [VGA] (multi-head: yes  rom: yes  post: no)
ACPI: Video Device [GFX0] (multi-head: yes  rom: yes  post: no)
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@redhat.com
EXT3 FS on hda5, internal journal
Adding 2048248k swap on /dev/hda6.  Priority:-1 extents:1
cs: IO port probe 0xfe00-0xfeff: clean.
Bluetooth: Core ver 2.7
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.7
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM ver 1.5
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 5 [PCSPP,TRISTATE]
lp0: using parport0 (interrupt-driven).
lp0: console ready
application mixer_applet2 uses obsolete OSS audio interface



From proski at gnu.org  Wed Sep 28 00:31:50 2005
From: proski at gnu.org (Pavel Roskin)
Date: Wed Sep 28 00:32:31 2005
Subject: Help on a texas instruments pci7420 cardbus
In-Reply-To: <20050928000122.GDSW11792.mxfep02.bredband.com@Legolas>
References: <20050928000122.GDSW11792.mxfep02.bredband.com@Legolas>
Message-ID: <20050928003150.50s48c08cs4k884k@webmail.spamcop.net>

Hello!

Quoting M?rten Thomasson <marten.thomasson@bredband.net>:

> Hello, I'd really appreciate some help...I've been working on this for days
> and nights now, and its driving me crazy! I have recently bought a Proxim
> Orinoco Gold 802.11 b/g pcmcia card, based on the atheros chipset, and I'm
> trying to get it work on fedora core 4 2.6.12...

Are you sure it's based on Atheros chipset?

> To get this working, I've tried the Madwifi drivers, but no matter how much
> I try, I can't get the card to appear.
>
> When I perform an lspci, its not listed.

And what is 06:02.0?  Does lspci output change if you remove the card?

> The same goes for iwconfig and
> ifconfig.

Of course, if the OS doesn't see the card, drivers cannot see it and register
the network device.

> I've cecked out many (too many!) sites, and tried to follow the advice, but
> nothing works. Please, if someone here knows what to do...

Apparently there is too much bogus information on the net.  It would be more
useful to follow only official documentation and complain if it's incomplete.

> I include the output from dmesg and lspci and /etc/pcmcia/config.opts, and
> apologize for thereby creating a long mail.

config.opts is totally irrelevant.  CardBus is seen by the OS as hot-plugged
PCI, so CardBus device drivers are PCI drivers, which are not managed by
cardmgr.

> 06:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

This looks like a CardBus card, and I see it detected by the driver in the
kernel log.

> device "ath_pci"
> 	class "network"
> 	module "ath_pci"

You probably have read too much garbage on the net.  This has never worked and
will never work.  Again, cardmgr doesn't manage PCI drivers (and in Linux
2.6.13, even PCMCIA drivers can work without cardmgr).

> ieee80211_crypt: registered algorithm 'NULL'
> ieee80211: 802.11 data/management/control stack, 1.0.3
> ieee80211: Copyright (C) 2004-2005 Intel Corporation
> <jketreno@linux.intel.com>
> ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.6
> ipw2200: Copyright(c) 2003-2004 Intel Corporation
> ACPI: PCI Interrupt 0000:06:02.0[A] -> Link [LNKC] -> GSI 7 (level, low) ->
> IRQ 7
> ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

This is the driver for the Intel card.

Try plugging the Intel card into the socket where you are inserting the Atheros
card and vice versa.

--
Regards,
Pavel Roskin

From itzhak.benakiva at guardit-tech.com  Wed Sep 28 01:48:36 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Wed Sep 28 01:49:37 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050927165512.GA10791@isilmar.linta.de>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
Message-ID: <1127886516.2662.4.camel@hexa0xfb>

Hi Dominik,

On Tue, 2005-09-27 at 18:55 +0200, Dominik Brodowski wrote:
> On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > 0x60000000-0x60ffffff
> > cardmgr[841]: no pcmcia driver in /proc/devices
> > 
> > include port 0x600-0x60f, though, went ok.
> 
> That's a cardmgr bug. Then use this small sysfs shell script instead
> 
> #!/bin/sh
> echo "0x60000000-0x60ffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io
> echo "0x50000000-0x5fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> echo "0x40000000-0x4fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> echo "1" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done
> 
There is nothing under /sys. Just in case, I'm sending my kernel .config
file. Please, let me know if anything is missing.

thanks,
Itzhak


From itzhak.benakiva at guardit-tech.com  Wed Sep 28 01:56:28 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Wed Sep 28 01:57:02 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050927181109.GA16955@flint.arm.linux.org.uk>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<20050927181109.GA16955@flint.arm.linux.org.uk>
Message-ID: <1127886989.2662.12.camel@hexa0xfb>

Hi Russell,

On Tue, 2005-09-27 at 19:11 +0100, Russell King wrote:
> On Tue, Sep 27, 2005 at 06:09:21PM +0200, Dominik Brodowski wrote:
> > > include port 0x600-0x60f
> > > include memory 0x40000000-0x4fffffff, memory 0x50000000-0x5fffffff
> > 
> > No, you need the system-centric view in /etc/pcmica/config.opts:
> 
> No.  With IO ports, it's entirely up to the architecture.
> 
> In this case, the PC IO is "emulated" by accessing MMIO addresses on the
> system bus in the range 0x60000000-0x60ffffff (in fact, it's only 64K so
> it's up to 0x6000ffff).
> 
> Since we emulate this as the standard set of 64K IO addresses, this
> corresponds with IO addresses 0x0000 to 0xffff.  Hence, the right
> argument is: include port 0-0xffff
> 
I tried it. I set the following in config.opts: 
include port 0x000-0xfff. But, the results are still the same: 

0.0: RequestIO: Resource in use
Uninitialised timer!
This is just a warning.  Your computer is OK
function=0x00000000, data=0x0
[<c0025c84>] (dump_stack+0x0/0x14) from [<c003f598>] (check_timer_failed
+0x4c/0x6c)
[<c003f54c>] (check_timer_failed+0x0/0x6c) from [<c003f6fc>] (del_timer
+0x28/0x80)
 r4 = C7A1ED88
[<c003f6d4>] (del_timer+0x0/0x80) from [<bf047da4>] (bluecard_release
+0x2c/0x64 [bluecard_cs])
 r5 = C7A1ECE0  r4 = C7A1ECE0
[<bf047d78>] (bluecard_release+0x0/0x64 [bluecard_cs]) from [<bf04846c>]
(bluecard_event+0x4e0/0x5a4 [bluecard_cs])
 r5 = C7A1ECE0  r4 = C7A1ECE0
[<bf047f8c>] (bluecard_event+0x0/0x5a4 [bluecard_cs]) from [<bf0153b0>]
(pcmcia_register_client+0x1f4/0x224 [pcmcia])
[<bf0151bc>] (pcmcia_register_client+0x0/0x224 [pcmcia]) from
[<bf047f30>] (bluecard_attach+0xb8/0x114 [bluecard_cs])
[<bf047e78>] (bluecard_attach+0x0/0x114 [bluecard_cs]) from [<bf01431c>]
(pcmcia_device_probe+0x80/0x108 [pcmcia])
 r7 = 00000000  r6 = C791DE3C  r5 = C791DE00  r4 = BF049968
[<bf01429c>] (pcmcia_device_probe+0x0/0x108 [pcmcia]) from [<c01473c4>]
(driver_probe_device+0x5c/0xa8)
 r7 = BF04997C  r6 = BF04997C  r5 = 00000000  r4 = C791DE3C
[<c0147368>] (driver_probe_device+0x0/0xa8) from [<c0147508>]
(__driver_attach+0x4c/0x78)
 r6 = C01474BC  r5 = C7A6BDBC  r4 = C791DEE4
[<c01474bc>] (__driver_attach+0x0/0x78) from [<c0146ae4>]
(bus_for_each_dev+0x50/0x84)
 r4 = 00000000
[<c0146a94>] (bus_for_each_dev+0x0/0x84) from [<c0147554>]
(driver_attach+0x20/0x28)
 r7 = BF01BB9C  r6 = BF049910  r5 = BF04997C  r4 = BF049990
[<c0147534>] (driver_attach+0x0/0x28) from [<c0146f58>] (bus_add_driver
+0x6c/0x138)
[<c0146eec>] (bus_add_driver+0x0/0x138) from [<c014790c>]
(driver_register+0x34/0x38)
[<c01478d8>] (driver_register+0x0/0x38) from [<bf0141d8>]
(pcmcia_register_driver+0xf8/0x114 [pcmcia])
 r4 = BF049968
[<bf0140e0>] (pcmcia_register_driver+0x0/0x114 [pcmcia]) from
[<bf04b014>] (init_bluecard_cs+0x14/0x1c [bluecard_cs])
 r7 = C02218D0  r6 = BF049A20  r5 = BF049A20  r4 = C02218E0
[<bf04b000>] (init_bluecard_cs+0x0/0x1c [bluecard_cs]) from [<c0051a74>]
(sys_init_module+0x155c/0x16bc)
[<c0050518>] (sys_init_module+0x0/0x16bc) from [<c0020d00>]
(ret_fast_syscall+0x0/0x2c)
ds: ds_open(socket 0)
ds: ds_open(socket 1)
ds: ds_release(socket 0)
ds: ds_open(socket 0)
ds: ds_open(socket 1)
ds: ds_release(socket 0)

Itzhak



From itzhak.benakiva at guardit-tech.com  Wed Sep 28 02:08:41 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Wed Sep 28 02:40:21 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127886516.2662.4.camel@hexa0xfb>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<1127886516.2662.4.camel@hexa0xfb>
Message-ID: <1127887721.2662.14.camel@hexa0xfb>

On Wed, 2005-09-28 at 08:48 +0300, Itzhak Ben-Akiva wrote:
> Hi Dominik,
> 
> On Tue, 2005-09-27 at 18:55 +0200, Dominik Brodowski wrote:
> > On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > > 0x60000000-0x60ffffff
> > > cardmgr[841]: no pcmcia driver in /proc/devices
> > > 
> > > include port 0x600-0x60f, though, went ok.
> > 
> > That's a cardmgr bug. Then use this small sysfs shell script instead
> > 
> > #!/bin/sh
> > echo "0x60000000-0x60ffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io
> > echo "0x50000000-0x5fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > echo "0x40000000-0x4fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > echo "1" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done
> > 
> There is nothing under /sys. Just in case, I'm sending my kernel .config
> file. Please, let me know if anything is missing.

I forgot to attach the .config file
> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia
-------------- next part --------------
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.13
# Mon Sep 26 12:23:35 2005
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION="-git2"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y

#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
CONFIG_ARCH_INTEGRATOR=y
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set

#
# Integrator Options
#
CONFIG_ARCH_INTEGRATOR_AP=y
# CONFIG_ARCH_INTEGRATOR_CP is not set
# CONFIG_INTEGRATOR_IMPD1 is not set

#
# Processor Type
#
CONFIG_CPU_32=y
# CONFIG_CPU_ARM720T is not set
CONFIG_CPU_ARM920T=y
# CONFIG_CPU_ARM922T is not set
# CONFIG_CPU_ARM926T is not set
# CONFIG_CPU_ARM1020 is not set
# CONFIG_CPU_ARM1022 is not set
# CONFIG_CPU_ARM1026 is not set
# CONFIG_CPU_V6 is not set
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y

#
# Processor Features
#
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
CONFIG_ICST525=y

#
# Bus support
#
CONFIG_ARM_AMBA=y
CONFIG_ISA_DMA_API=y
CONFIG_PCI=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_PCI_DEBUG=y

#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=m
CONFIG_PCMCIA_DEBUG=y
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_TCIC is not set
CONFIG_PCCARD_NONSTATIC=m

#
# Kernel Features
#
# CONFIG_PREEMPT is not set
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
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_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y

#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="console=ttyAM0,38400n8 mem=126M rw nohalt root=/dev/nfs ip=10.0.0.11:10.0.0.2::::eth0:off nfsroot=10.0.0.2:/target_2.6.11,nolock"
# CONFIG_XIP_KERNEL 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 is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_INTEGRATOR=y

#
# Floating point emulation
#

#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set

#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set

#
# Power management options
#
CONFIG_PM=y
# CONFIG_APM is not set

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP 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_TUNNEL is not set
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
# 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_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_BCSP_TXCRC=y
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play support
#

#
# Block devices
#
# 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=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CDROM_PKTCDVD is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_SCSI is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 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_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=y
# CONFIG_E100 is not set
# 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_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

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SKGE is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# PCMCIA network device support
#
CONFIG_NET_PCMCIA=y
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
# CONFIG_PCMCIA_PCNET is not set
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_PCMCIA_AXNET is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# 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 is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ATKBD is not set
# 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_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

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

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

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_AMBA_PL010=y
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
# CONFIG_SERIAL_AMBA_PL011 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_DRM is not set

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
# CONFIG_RAW_DRIVER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set

#
# I2C support
#
# CONFIG_I2C is not set
# CONFIG_I2C_SENSOR is not set

#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set

#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_ARMCLCD is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
# CONFIG_FB_MATROX_G is not set
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY 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_TRIDENT is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set

#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
# CONFIG_USB is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y

#
# XFS support
#
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_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_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS 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 is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
# CONFIG_NLS is not set

#
# Profiling support
#
# CONFIG_PROFILING is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_WAITQ is not set
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_LL is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Hardware crypto devices
#

#
# Library routines
#
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
From mistamaila at gmail.com  Wed Sep 28 08:30:09 2005
From: mistamaila at gmail.com (John H.)
Date: Wed Sep 28 08:31:04 2005
Subject: pcmciautils works with hotplug, but not udev
Message-ID: <5b941777050928053022ce96dd@mail.gmail.com>

Please help?  It works with hotplug, but not udev, but why?
with udev, nothing in
/sys/bus/pcmcia/devices

FC4 machine, as far as I know, udev is working.

From linux at dominikbrodowski.net  Wed Sep 28 08:39:48 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 08:40:16 2005
Subject: pcmciautils works with hotplug, but not udev
In-Reply-To: <5b941777050928053022ce96dd@mail.gmail.com>
References: <5b941777050928053022ce96dd@mail.gmail.com>
Message-ID: <20050928123948.GA15990@isilmar.linta.de>

Hi,

On Wed, Sep 28, 2005 at 07:30:09AM -0500, John H. wrote:
> Please help?  It works with hotplug, but not udev, but why?
> with udev, nothing in
> /sys/bus/pcmcia/devices

What's in /etc/udev/rules.d/ ? Also, does manually invoking
"pcmcia-socket-startup"
or
"modprobe pcmcia"
help?

	Dominik

From linux at dominikbrodowski.net  Wed Sep 28 09:24:19 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 09:25:29 2005
Subject: Help on a texas instruments pci7420 cardbus
In-Reply-To: <20050928000122.GDSW11792.mxfep02.bredband.com@Legolas>
References: <20050928000122.GDSW11792.mxfep02.bredband.com@Legolas>
Message-ID: <20050928132419.GA18112@isilmar.linta.de>

Hi,

On Wed, Sep 28, 2005 at 02:01:13AM +0200, M?rten Thomasson wrote:
> Linux Kernel Card Services
>   options:  [pci] [cardbus] [pm]
> ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) ->
> IRQ 10
> Yenta: CardBus bridge found at 0000:06:00.0 [1854:000e]
> yenta 0000:06:00.0: Preassigned resource 0 busy, reconfiguring...
> yenta 0000:06:00.0: Preassigned resource 1 busy, reconfiguring...
> Yenta: ISA IRQ mask 0x0078, PCI irq 10
> Socket status: 30000006

Could you test either 2.6.13 or 2.6.14-rc2, please? Alternatively, the
following kernel boot options might or might not help, I'm not familiar with
vendor kernels.

yenta_socket.bios_override=1
pci=assign-busses

On Wed, Sep 28, 2005 at 12:31:50AM -0400, Pavel Roskin wrote:
> > When I perform an lspci, its not listed.
>
> And what is 06:02.0?  Does lspci output change if you remove the card?

06:02.0 is on the same bus as the CardBus bridge, therefore I doubt that
this is the CardBus card.

Thanks,
        Dominik

From linux at dominikbrodowski.net  Wed Sep 28 09:29:08 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 09:30:24 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127886516.2662.4.camel@hexa0xfb>
References: <20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<1127886516.2662.4.camel@hexa0xfb>
Message-ID: <20050928132908.GC3410@isilmar.linta.de>

Hi,

On Wed, Sep 28, 2005 at 08:48:36AM +0300, Itzhak Ben-Akiva wrote:
> Hi Dominik,
> 
> On Tue, 2005-09-27 at 18:55 +0200, Dominik Brodowski wrote:
> > On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > > 0x60000000-0x60ffffff
> > > cardmgr[841]: no pcmcia driver in /proc/devices
> > > 
> > > include port 0x600-0x60f, though, went ok.
> > 
> > That's a cardmgr bug. Then use this small sysfs shell script instead
> > 
> > #!/bin/sh
> > echo "0x60000000-0x60ffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io
> > echo "0x50000000-0x5fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > echo "0x40000000-0x4fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > echo "1" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done
> > 
> There is nothing under /sys. Just in case, I'm sending my kernel .config
> file. Please, let me know if anything is missing.

Does this mean you do not have sysfs mounted at /sys/ ? If so, you really
should add

sysfs           /sys            sysfs   defaults                0       0

to /etc/fstab

	Dominik

From mistamaila at gmail.com  Wed Sep 28 09:52:31 2005
From: mistamaila at gmail.com (John H.)
Date: Wed Sep 28 09:53:03 2005
Subject: pcmciautils works with hotplug, but not udev
In-Reply-To: <20050928123948.GA15990@isilmar.linta.de>
References: <5b941777050928053022ce96dd@mail.gmail.com>
	<20050928123948.GA15990@isilmar.linta.de>
Message-ID: <5b94177705092806524cf1ce94@mail.gmail.com>

well, pcmcia_core and such was loaded, that wasn't the problem.  i am
back on pcmcia-cs kernel right now until i can get linux-wlan working
with pcmciautils, but here is the contents of rules.d


-rw-r--r--  1 root root 7.3K May 20 22:39 50-udev.rules
-rw-r--r--  1 root root 1.1K Sep 27 18:39 60-pcmcia.rules


On 9/28/05, Dominik Brodowski <linux@dominikbrodowski.net> wrote:
> Hi,
>
> On Wed, Sep 28, 2005 at 07:30:09AM -0500, John H. wrote:
> > Please help?  It works with hotplug, but not udev, but why?
> > with udev, nothing in
> > /sys/bus/pcmcia/devices
>
> What's in /etc/udev/rules.d/ ? Also, does manually invoking
> "pcmcia-socket-startup"
> or
> "modprobe pcmcia"
> help?
>
>         Dominik
>

From mistamaila at gmail.com  Wed Sep 28 09:59:40 2005
From: mistamaila at gmail.com (John H.)
Date: Wed Sep 28 10:00:01 2005
Subject: pcmciautils works with hotplug, but not udev
In-Reply-To: <20050928135631.GA7211@isilmar.linta.de>
References: <5b941777050928053022ce96dd@mail.gmail.com>
	<20050928123948.GA15990@isilmar.linta.de>
	<5b94177705092806524cf1ce94@mail.gmail.com>
	<20050928135631.GA7211@isilmar.linta.de>
Message-ID: <5b9417770509280659727ed4a6@mail.gmail.com>

i will have to check, but I am assuming all pcmcia modules were
loaded, as yenta-socket was loaded, as well as the wlan drivers for
pcmcia.

did not try pcmcia-socket-startup

On 9/28/05, Dominik Brodowski <linux@dominikbrodowski.net> wrote:
> Hi,
>
> Was also "pcmcia" loaded? And what about
>
> > > "pcmcia-socket-startup"
>
> ?
>
>         Dominik
>

From itzhak.benakiva at guardit-tech.com  Wed Sep 28 10:05:19 2005
From: itzhak.benakiva at guardit-tech.com (Itzhak Ben-Akiva)
Date: Wed Sep 28 10:08:56 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050928132908.GC3410@isilmar.linta.de>
References: <20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<1127886516.2662.4.camel@hexa0xfb>
	<20050928132908.GC3410@isilmar.linta.de>
Message-ID: <1127916319.2662.27.camel@hexa0xfb>

On Wed, 2005-09-28 at 15:29 +0200, Dominik Brodowski wrote:
> Hi,
> 
> On Wed, Sep 28, 2005 at 08:48:36AM +0300, Itzhak Ben-Akiva wrote:
> > Hi Dominik,
> > 
> > On Tue, 2005-09-27 at 18:55 +0200, Dominik Brodowski wrote:
> > > On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > > > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > > > 0x60000000-0x60ffffff
> > > > cardmgr[841]: no pcmcia driver in /proc/devices
> > > > 
> > > > include port 0x600-0x60f, though, went ok.
> > > 
> > > That's a cardmgr bug. Then use this small sysfs shell script instead
> > > 
> > > #!/bin/sh
> > > echo "0x60000000-0x60ffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_io
> > > echo "0x50000000-0x5fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > > echo "0x40000000-0x4fffffff" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_mem
> > > echo "1" > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done
> > > 
> > There is nothing under /sys. Just in case, I'm sending my kernel .config
> > file. Please, let me know if anything is missing.
> 
> Does this mean you do not have sysfs mounted at /sys/ ? If so, you really
> should add
> 
> sysfs           /sys            sysfs   defaults                0       0
> 
> to /etc/fstab
> 
> 	Dominik

I set up sysfs. Ran the script above. But, I'm still getting the same
error message:
0.0: RequestIO: Resource in use
Uninitialised timer!

> 
> _______________________________________________
> Linux PCMCIA reimplementation list
> http://lists.infradead.org/mailman/listinfo/linux-pcmcia


From rmk+pcmcia at arm.linux.org.uk  Wed Sep 28 12:05:35 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Wed Sep 28 12:11:32 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050927165512.GA10791@isilmar.linta.de>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
Message-ID: <20050928160533.GA4361@flint.arm.linux.org.uk>

On Tue, Sep 27, 2005 at 06:55:12PM +0200, Dominik Brodowski wrote:
> On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > 0x60000000-0x60ffffff
> > cardmgr[841]: no pcmcia driver in /proc/devices
> > 
> > include port 0x600-0x60f, though, went ok.
> 
> That's a cardmgr bug. Then use this small sysfs shell script instead

Actually, it's worse than that.

Sep 28 16:48:43 cps cardmgr[2350]: watching 2 sockets
Sep 28 16:48:43 cps cardmgr[2350]: could not get CS revision info!
Sep 28 16:48:43 cps cardmgr[2350]: exiting

With 2.6.14-rc2, cardmgr can't even start up, so it can't register
any memory or IO regions.  Effectively, this has broken the ioctl
interface _right_ _now_.

I also believe you are raising the bar to having working PCMCIA too
much by deprecating the ioctl method in such a short space of time.
Embedded folks take _years_ to adopt new ideas - some of them haven't
even adopted things like udev or hotplug yet.

You can't force them to do so either - they'll stick with some random
old kernel version in preference to upgrading to something new.

Can pcmciautils at least work without udev?

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

From proski at gnu.org  Wed Sep 28 12:46:08 2005
From: proski at gnu.org (Pavel Roskin)
Date: Wed Sep 28 12:47:40 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050928160533.GA4361@flint.arm.linux.org.uk>
References: <1127712857.2694.32.camel@hexa0xfb>
	<20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
Message-ID: <1127925968.2273.19.camel@dv>

Hi, Russell!

On Wed, 2005-09-28 at 17:05 +0100, Russell King wrote:
> On Tue, Sep 27, 2005 at 06:55:12PM +0200, Dominik Brodowski wrote:
> > On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > > 0x60000000-0x60ffffff
> > > cardmgr[841]: no pcmcia driver in /proc/devices
> > > 
> > > include port 0x600-0x60f, though, went ok.
> > 
> > That's a cardmgr bug. Then use this small sysfs shell script instead
> 
> Actually, it's worse than that.
> 
> Sep 28 16:48:43 cps cardmgr[2350]: watching 2 sockets
> Sep 28 16:48:43 cps cardmgr[2350]: could not get CS revision info!
> Sep 28 16:48:43 cps cardmgr[2350]: exiting

You are using old cardmgr.  The one from pcmcia-cs 3.2.8 is fine.  I
think version checking was removed in 3.1.34 series (grep -B8
"unhelpful" CHANGES).

> With 2.6.14-rc2, cardmgr can't even start up, so it can't register
> any memory or IO regions.  Effectively, this has broken the ioctl
> interface _right_ _now_.

Works for me (although I'm using the current netdev branch, it has
2.6.14-rc2 as parent).

> I also believe you are raising the bar to having working PCMCIA too
> much by deprecating the ioctl method in such a short space of time.
> Embedded folks take _years_ to adopt new ideas - some of them haven't
> even adopted things like udev or hotplug yet.

Actually, upgrading the kernel for an embedded system is the hardest
thing by far.  Recompiling userspace application is easy as long that
the cross compiling environment is not messed up.

> You can't force them to do so either - they'll stick with some random
> old kernel version in preference to upgrading to something new.

I do work with embedded systems, and having to upgrade the userspace is
one of the last things holding kernel upgrades, the first thing being
the need to upgrade custom drivers, especially if they are binary-only.

> Can pcmciautils at least work without udev?

I think so, but we should test it.  I'm a bit concerned that
allow_func_id_match is only referenced in hotplug and udev scripts,
which may disallow matching some (admittedly obsolete) devices.

-- 
Regards,
Pavel Roskin


From linux at dominikbrodowski.net  Wed Sep 28 12:54:13 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 12:54:44 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050928160533.GA4361@flint.arm.linux.org.uk>
References: <20050926062711.GA16271@isilmar.linta.de>
	<1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
Message-ID: <20050928165413.GA21792@isilmar.linta.de>

Hi Russell,

On Wed, Sep 28, 2005 at 05:05:35PM +0100, Russell King wrote:
> On Tue, Sep 27, 2005 at 06:55:12PM +0200, Dominik Brodowski wrote:
> > On Tue, Sep 27, 2005 at 07:36:58PM +0300, Itzhak Ben-Akiva wrote:
> > > cardmgr[841]: error in file './config.opts' line 20: invalid port range
> > > 0x60000000-0x60ffffff
> > > cardmgr[841]: no pcmcia driver in /proc/devices
> > > 
> > > include port 0x600-0x60f, though, went ok.
> > 
> > That's a cardmgr bug. Then use this small sysfs shell script instead
> 
> Actually, it's worse than that.
> 
> Sep 28 16:48:43 cps cardmgr[2350]: watching 2 sockets
> Sep 28 16:48:43 cps cardmgr[2350]: could not get CS revision info!
> Sep 28 16:48:43 cps cardmgr[2350]: exiting

Old cardmgr version (3.1.22). With fairly recent pcmcia-cs versions,
it still works.

> With 2.6.14-rc2, cardmgr can't even start up, so it can't register
> any memory or IO regions.  Effectively, this has broken the ioctl
> interface _right_ _now_.

No. Not if you use somewhat recent pcmcia-cs.

> I also believe you are raising the bar to having working PCMCIA too
> much by deprecating the ioctl method in such a short space of time.
> Embedded folks take _years_ to adopt new ideas - some of them haven't
> even adopted things like udev or hotplug yet.

Well, PCMCIA is definitely something many people blame for being broken,
often even if it is unjustified and e.g. the PCI layer broke. Therefore,
with PCMCIA integration into the kernel still being quite behind, I do not
see a chance for slowing down _just_ _now_.

> You can't force them to do so either - they'll stick with some random
> old kernel version in preference to upgrading to something new.

Then let's start 2.7. Supporting both cardmgr and in-kernel matching is
quite difficult. Only if cardmgr support is dropped, for example, we can
finally allow "rmmod"ing drivers which are currently bound to devices. If
2.7. doesn't start soon, though, I intend to disallow CONFIG_PCMCIA_IOCTL
in Kconfig for 2.6.15 (but do not remove actual support for it), and remove
it for 2.6.16.

> Can pcmciautils at least work without udev?

pcmciautils can work with _either_ udev or hotplug.

In addition, if you
a) build all stuff into the kernel
b) the socket driver doesn't need a resource database,
c) all devices used have PROD_ID/MANF_ID/CARD_ID matches, and
d) require no CIS update,
you do not need pcmciautils or pcmcia-cs at all. In fact, with some hacking
you can get rid of c) if you know what types of cards get inserted (e.g.
only CF IDE cards). Therefore, most embedded stuff should work out of the
box, AFAICS.

	Dominik

From rmk+pcmcia at arm.linux.org.uk  Wed Sep 28 12:51:21 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Wed Sep 28 12:57:00 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127925968.2273.19.camel@dv>
References: <1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
Message-ID: <20050928165121.GB4361@flint.arm.linux.org.uk>

On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> Hi, Russell!
> 
> On Wed, 2005-09-28 at 17:05 +0100, Russell King wrote:
> > I also believe you are raising the bar to having working PCMCIA too
> > much by deprecating the ioctl method in such a short space of time.
> > Embedded folks take _years_ to adopt new ideas - some of them haven't
> > even adopted things like udev or hotplug yet.
> 
> Actually, upgrading the kernel for an embedded system is the hardest
> thing by far.  Recompiling userspace application is easy as long that
> the cross compiling environment is not messed up.

I rather disagree from my personal experience so far looking after the
ARM architecture - initially entirely external to mainline, then partly
merged, and later completely merged into the mainline kernel.

I've always found userspace to be the _biggest_ problem overall - I can
spend many many hours trying to sort out userspace whereas it doesn't
take long for the kernel side.

Maybe I just entirely suck at userspace though. 8)

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

From dirk.behme at de.bosch.com  Wed Sep 28 14:06:42 2005
From: dirk.behme at de.bosch.com (Dirk Behme)
Date: Wed Sep 28 14:07:36 2005
Subject: Embedded CF driver broken with recent kernel
Message-ID: <433ADBB2.8040201@de.bosch.com>

Hi,

on an embedded TI OMAP ARM9 based board we use a direct mapped driver to
access compact flash cards (see attachment).

Some kernel versions ago (2.6.11, 2.6.12 ?) this worked fine. With
recent 2.6.14-rc1 this seems to be broken (see messages below).

Any ideas?

Many thanks

Dirk

=> .config:

CONFIG_IDE=m
CONFIG_BLK_DEV_IDE=m

# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=m
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECS=m
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set

CONFIG_PCCARD=m
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y

# CONFIG_TCIC is not set
CONFIG_OMAP_CF=m


=> Insert CF card into boards CF slot:

hda: TOSHIBA THNCF256MDG, CFA DISK drive
hda: IRQ probe failed (0x0)
hdb: IRQ probe failed (0x0)
hdb: IRQ probe failed (0x0)
ide0: DISABLED, NO IRQ
ide0: failed to initialize IDE interface
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide0: I/O resource 0xC285400E-0xC285400E not free.
ide0: ports already in use, skipping probe
ide-cs: ide_register() at 0xc2854000 & 0xc285400e, irq 0 failed

# cardctl status
Socket 0:
    3.3V 16-bit PC Card
    function 0: [ready]
# cardctl info
PRODID_1="TOSHIBA THNCF256MDG "
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0098,0000
FUNCID=4
# cardctl config
Socket 0:
    Vcc 3.3V  Vpp1 0.0V  Vpp2 0.0V
# cardmgr
cardmgr[817]: watching 1 socket
cardmgr[817]: could not adjust resource: IO ports 0xc00-0xcff: Function
not implemented
cardmgr[817]: could not adjust resource: IO ports 0x800-0x8ff: Function
not implemented
cardmgr[817]: could not adjust resource: IO ports 0x100-0x4ff: Function
not implemented
cardmgr[817]: could not adjust resource: memory 0xc0000-0xfffff:
Function not implemented
cardmgr[817]: could not adjust resource: memory 0x60000000-0x60ffffff:
Function not implemed
cardmgr[817]: could not adjust resource: memory 0xa0000000-0xa0ffffff:
Function not implemed
cardmgr[817]: could not adjust resource: IO ports 0xa00-0xaff: Function
not implemented
cardmgr[818]: socket 0: ATA/IDE Fixed Disk
cardmgr[818]: get dev info on socket 0 failed: No such device

# mount -t vfat /dev/hda1 /mount
mount: Mounting /dev/hda1 on /mount failed: No such device or address
# mount -t vfat /dev/hda /mount
mount: Mounting /dev/hda on /mount failed: No such device or address
#

-------------- next part --------------
/*
 * omap_cf.c -- OMAP 16xx CompactFlash controller driver
 *
 * Copyright (c) 2005 David Brownell
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>

#include <pcmcia/ss.h>

#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/mach-types.h>
#include <asm/sizes.h>

#include <asm/arch/mux.h>
#include <asm/arch/tc.h>


/* NOTE:  don't expect this to support many I/O cards.  The 16xx chips have
 * hard-wired timings to support Compact Flash memory cards; they won't work
 * with various other devices (like WLAN adapters) without some external
 * logic to help out.
 *
 * NOTE:  CF controller docs disagree with address space docs as to where
 * CF_BASE really lives; this is a doc erratum.
 */
#define	CF_BASE	0xfffe2800

/* status; read after IRQ */
#define CF_STATUS_REG		__REG16(CF_BASE + 0x00)
#	define	CF_STATUS_BAD_READ	(1 << 2)
#	define	CF_STATUS_BAD_WRITE	(1 << 1)
#	define	CF_STATUS_CARD_DETECT	(1 << 0)

/* which chipselect (CS0..CS3) is used for CF (active low) */
#define CF_CFG_REG		__REG16(CF_BASE + 0x02)

/* card reset */
#define CF_CONTROL_REG		__REG16(CF_BASE + 0x04)
#	define	CF_CONTROL_RESET	(1 << 0)

#define omap_cf_present() (!(CF_STATUS_REG & CF_STATUS_CARD_DETECT))

/*--------------------------------------------------------------------------*/

static const char driver_name[] = "omap_cf";

struct omap_cf_socket {
	struct pcmcia_socket	socket;

	struct timer_list	timer;
	unsigned		present:1;
	unsigned		active:1;

	struct platform_device	*pdev;
	unsigned long		phys_cf;
	u_int			irq;
};

#define	POLL_INTERVAL		(2 * HZ)

#define	SZ_2K			(2 * SZ_1K)

/*--------------------------------------------------------------------------*/

static int omap_cf_ss_init(struct pcmcia_socket *s)
{
	return 0;
}

/* the timer is primarily to kick this socket's pccardd */
static void omap_cf_timer(unsigned long _cf)
{
	struct omap_cf_socket	*cf = (void *) _cf;
	unsigned		present = omap_cf_present();

	if (present != cf->present) {
		cf->present = present;
		pr_debug("%s: card %s\n", driver_name,
			present ? "present" : "gone");
		pcmcia_parse_events(&cf->socket, SS_DETECT);
	}

	if (cf->active)
		mod_timer(&cf->timer, jiffies + POLL_INTERVAL);
}

/* This irq handler prevents "irqNNN: nobody cared" messages as drivers
 * claim the card's IRQ.  It may also detect some card insertions, but
 * not removals; it can't always eliminate timer irqs.
 */
static irqreturn_t omap_cf_irq(int irq, void *_cf, struct pt_regs *r)
{
	omap_cf_timer((unsigned long)_cf);
	return IRQ_HANDLED;
}

static int omap_cf_get_status(struct pcmcia_socket *s, u_int *sp)
{
	if (!sp)
		return -EINVAL;

	/* FIXME power management should probably be board-specific:
	 *  - 3VCARD vs XVCARD (OSK only handles 3VCARD)
	 *  - POWERON (switched on/off by set_socket)
	 */
	if (omap_cf_present()) {
		struct omap_cf_socket	*cf;

		*sp = SS_READY | SS_DETECT | SS_POWERON | SS_3VCARD;
		cf = container_of(s, struct omap_cf_socket, socket);
		s->irq.AssignedIRQ = cf->irq;
	} else
		*sp = 0;
	return 0;
}

static int
omap_cf_set_socket(struct pcmcia_socket *sock, struct socket_state_t *s)
{
	u16		control;

	/* FIXME some non-OSK boards will support power switching */
	switch (s->Vcc) {
	case 0:
	case 33:
		break;
	default:
		return -EINVAL;
	}

	control = CF_CONTROL_REG;
	if (s->flags & SS_RESET)
		CF_CONTROL_REG = CF_CONTROL_RESET;
	else
		CF_CONTROL_REG = 0;

	pr_debug("%s: Vcc %d, io_irq %d, flags %04x csc %04x\n",
		driver_name, s->Vcc, s->io_irq, s->flags, s->csc_mask);

	return 0;
}

static int omap_cf_ss_suspend(struct pcmcia_socket *s)
{
	pr_debug("%s: %s\n", driver_name, __FUNCTION__);
	return omap_cf_set_socket(s, &dead_socket);
}

/* regions are 2K each:  mem, attrib, io (and reserved-for-ide) */

static int
omap_cf_set_io_map(struct pcmcia_socket *s, struct pccard_io_map *io)
{
	struct omap_cf_socket	*cf;

	cf = container_of(s, struct omap_cf_socket, socket);
	io->flags &= MAP_ACTIVE|MAP_ATTRIB|MAP_16BIT;
	io->start = cf->phys_cf + SZ_4K;
	io->stop = io->start + SZ_2K - 1;
	return 0;
}

static int
omap_cf_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *map)
{
	struct omap_cf_socket	*cf;

	if (map->card_start)
		return -EINVAL;
	cf = container_of(s, struct omap_cf_socket, socket);
	map->static_start = cf->phys_cf;
	map->flags &= MAP_ACTIVE|MAP_ATTRIB|MAP_16BIT;
	if (map->flags & MAP_ATTRIB)
		map->static_start += SZ_2K;
	return 0;
}

static struct pccard_operations omap_cf_ops = {
	.init			= omap_cf_ss_init,
	.suspend		= omap_cf_ss_suspend,
	.get_status		= omap_cf_get_status,
	.set_socket		= omap_cf_set_socket,
	.set_io_map		= omap_cf_set_io_map,
	.set_mem_map		= omap_cf_set_mem_map,
};

/*--------------------------------------------------------------------------*/

/*
 * NOTE:  right now the only board-specific platform_data is
 * "what chipselect is used".  Boards could want more.
 */

static int __init omap_cf_probe(struct device *dev)
{
	unsigned		seg;
	struct omap_cf_socket	*cf;
	struct platform_device	*pdev = to_platform_device(dev);
	int			irq;
	int			status;

	seg = (int) dev->platform_data;
	if (seg == 0 || seg > 3)
		return -ENODEV;

	/* either CFLASH.IREQ (INT_1610_CF) or some GPIO */
	irq = platform_get_irq(pdev, 0);
	if (!irq)
		return -EINVAL;

	cf = kcalloc(1, sizeof *cf, GFP_KERNEL);
	if (!cf)
		return -ENOMEM;
	init_timer(&cf->timer);
	cf->timer.function = omap_cf_timer;
	cf->timer.data = (unsigned long) cf;

	cf->pdev = pdev;
	dev_set_drvdata(dev, cf);

	/* this primarily just shuts up irq handling noise */
	status = request_irq(irq, omap_cf_irq, SA_SHIRQ,
			driver_name, cf);
	if (status < 0)
		goto fail0;
	cf->irq = irq;
	cf->socket.pci_irq = irq;

	switch (seg) {
	/* NOTE: CS0 could be configured too ... */
	case 1:
		cf->phys_cf = OMAP_CS1_PHYS;
		break;
	case 2:
		cf->phys_cf = OMAP_CS2_PHYS;
		break;
	case 3:
		cf->phys_cf = omap_cs3_phys();
		break;
	default:
		goto  fail1;
	}

	/* pcmcia layer only remaps "real" memory */
	cf->socket.io_offset = (unsigned long)
			ioremap(cf->phys_cf + SZ_4K, SZ_2K);
	if (!cf->socket.io_offset)
		goto fail1;

	if (!request_mem_region(cf->phys_cf, SZ_8K, driver_name))
		goto fail1;

	/* NOTE:  CF conflicts with MMC1 */
	omap_cfg_reg(W11_1610_CF_CD1);
	omap_cfg_reg(P11_1610_CF_CD2);
	omap_cfg_reg(R11_1610_CF_IOIS16);
	omap_cfg_reg(V10_1610_CF_IREQ);
	omap_cfg_reg(W10_1610_CF_RESET);

	CF_CFG_REG = ~(1 << seg);

	pr_info("%s: cs%d on irq %d\n", driver_name, seg, irq);

	/* NOTE:  better EMIFS setup might support more cards; but the
	 * TRM only shows how to affect regular flash signals, not their
	 * CF/PCMCIA variants...
	 */
	pr_debug("%s: cs%d, previous ccs %08x acs %08x\n", driver_name,
			seg, EMIFS_CCS(seg), EMIFS_ACS(seg));
	EMIFS_CCS(seg) = 0x0004a1b3;	/* synch mode 4 etc */
	EMIFS_ACS(seg) = 0x00000000;	/* OE hold/setup */

	/* CF uses armxor_ck, which is "always" available */

	pr_debug("%s: sts %04x cfg %04x control %04x %s\n", driver_name,
		CF_STATUS_REG, CF_CFG_REG, CF_CONTROL_REG,
		omap_cf_present() ? "present" : "(not present)");

	cf->socket.owner = THIS_MODULE;
	cf->socket.dev.dev = dev;
	cf->socket.ops = &omap_cf_ops;
	cf->socket.resource_ops = &pccard_static_ops;
	cf->socket.features = SS_CAP_PCCARD | SS_CAP_STATIC_MAP
				| SS_CAP_MEM_ALIGN;
	cf->socket.map_size = SZ_2K;

	status = pcmcia_register_socket(&cf->socket);
	if (status < 0)
		goto fail2;

	cf->active = 1;
	mod_timer(&cf->timer, jiffies + POLL_INTERVAL);
	return 0;

fail2:
	iounmap((void __iomem *) cf->socket.io_offset);
	release_mem_region(cf->phys_cf, SZ_8K);
fail1:
	free_irq(irq, cf);
fail0:
	kfree(cf);
	return status;
}

static int __devexit omap_cf_remove(struct device *dev)
{
	struct omap_cf_socket *cf = dev_get_drvdata(dev);

	cf->active = 0;
	del_timer_sync(&cf->timer);
	iounmap((void __iomem *) cf->socket.io_offset);
	release_mem_region(cf->phys_cf, SZ_8K);
	free_irq(cf->irq, cf);
	kfree(cf);
	return 0;
}

static int omap_cf_suspend(struct device *dev, pm_message_t mesg, u32 level)
{
	if (level != SUSPEND_SAVE_STATE)
		return 0;
	return pcmcia_socket_dev_suspend(dev, mesg);
}

static int omap_cf_resume(struct device *dev, u32 level)
{
	if (level != RESUME_RESTORE_STATE)
		return 0;
	return pcmcia_socket_dev_resume(dev);
}

static struct device_driver omap_cf_driver = {
	.name		= (char *) driver_name,
	.bus		= &platform_bus_type,
	.probe		= omap_cf_probe,
	.remove		= __devexit_p(omap_cf_remove),
	.suspend 	= omap_cf_suspend,
	.resume 	= omap_cf_resume,
};

static int __init omap_cf_init(void)
{
	if (cpu_is_omap16xx())
		driver_register(&omap_cf_driver);
	return 0;
}

static void __exit omap_cf_exit(void)
{
	if (cpu_is_omap16xx())
		driver_unregister(&omap_cf_driver);
}

module_init(omap_cf_init);
module_exit(omap_cf_exit);

MODULE_DESCRIPTION("OMAP CF Driver");
MODULE_LICENSE("GPL");

From marten.thomasson at bredband.net  Wed Sep 28 14:06:36 2005
From: marten.thomasson at bredband.net (=?iso-8859-1?Q?M=E5rten_Thomasson?=)
Date: Wed Sep 28 14:08:27 2005
Subject: Help on a texas instruments pci7420 cardbus
In-Reply-To: <20050928003150.50s48c08cs4k884k@webmail.spamcop.net>
Message-ID: <000001c5c457$5e3f6920$4700a8c0@Legolas>

High, thanks for your help. I really appreciate it.

Quoting Pavel Roskin:

> Are you sure it's based on Atheros chipset?

Yes I'm sure, so far that I specifically ordered a card based on the atheros
chipset.

> And what is 06:02.0?  Does lspci output change if you remove the card?
No it doesn't

> Of course, if the OS doesn't see the card, drivers cannot see it and
register the network device.

Yes, I've come to understand that if the card doesn't appear in lspci, it's
no use checking iwconfig or ifconfig.

> Apparently there is too much bogus information on the net.  It would be
more useful to follow only official
> documentation and complain if it's incomplete.

True. It just takes a while to find the right channels :-)

> config.opts is totally irrelevant.  CardBus is seen by the OS as
hot-plugged PCI, so CardBus device drivers are > PCI drivers, which are not
managed by cardmgr.

Ok, this leeds me in the right direction, then I don't have to spend time
with that config at least :-)

>> 06:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 
>> 05)
> This looks like a CardBus card, and I see it detected by the driver in the
kernel log.
Yes that?s true, it's the built in intel ipw2200bg wireless card. But I want
to be able to connect an external antenna to the card and therefore bought
this Oricono atheros chipset card.
>> device "ath_pci"
>> 	class "network"
>> 	module "ath_pci"

>You probably have read too much garbage on the net.  This has never worked
and will never work.  Again, cardmgr >doesn't manage PCI drivers (and in
Linux 2.6.13, even PCMCIA drivers can work without cardmgr).

Ok.

Still stuck though. It appears that the problem is related to the actual
cardbus as such. When I insert another card, a netgear, I still don't get
any entry in lspci. Any ideas?

Regards,

Marten




From linux at dominikbrodowski.net  Wed Sep 28 14:29:06 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 14:31:21 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127925968.2273.19.camel@dv>
References: <1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
Message-ID: <20050928182906.GA14909@isilmar.linta.de>

Hi Pavel,

On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> > Can pcmciautils at least work without udev?
> 
> I think so, but we should test it.  I'm a bit concerned that
> allow_func_id_match is only referenced in hotplug and udev scripts,
> which may disallow matching some (admittedly obsolete) devices.

In fact, pcmiautils only supports udev in its latest release -- before
that, it was _only_ hotplug... And you need func_id matches also for several
serial and ide cards.

Thanks,
	Dominik

From marten.thomasson at bredband.net  Wed Sep 28 14:38:43 2005
From: marten.thomasson at bredband.net (=?iso-8859-1?Q?M=E5rten_Thomasson?=)
Date: Wed Sep 28 14:39:57 2005
Subject: Help on a texas instruments pci7420 cardbus
In-Reply-To: <20050928132419.GA18112@isilmar.linta.de>
Message-ID: <000001c5c45b$da4ec2f0$4700a8c0@Legolas>

O man, I'm the happiest fucker alive on this planet right now!!! :-)))))

Thanks a million!! The pci=assign-busses did it (fedora didn't get the
yenta_socket...part) As soon as I added this, everything came up. Since Id
already installed the madwifi, everything kicked in. The card shows in
lspci, in iwconfig and so on.

I think I've spent 25 hours on this thing, haha...

I will send happy thoughts your direction for a long time :-)

Out of curiosity, since I'm doing this to learn: what does the
"assign-busses" parameter do?

Regards,

A happy man.  

-----Original Message-----
From: linux-pcmcia-bounces@lists.infradead.org
[mailto:linux-pcmcia-bounces@lists.infradead.org] On Behalf Of Dominik
Brodowski
Sent: 28 September 2005 15:24
To: M?rten Thomasson
Cc: linux-pcmcia@lists.infradead.org
Subject: Re: Help on a texas instruments pci7420 cardbus

Hi,

On Wed, Sep 28, 2005 at 02:01:13AM +0200, M?rten Thomasson wrote:
> Linux Kernel Card Services
>   options:  [pci] [cardbus] [pm]
> ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKA] -> GSI 10 (level, 
> low) -> IRQ 10
> Yenta: CardBus bridge found at 0000:06:00.0 [1854:000e] yenta 
> 0000:06:00.0: Preassigned resource 0 busy, reconfiguring...
> yenta 0000:06:00.0: Preassigned resource 1 busy, reconfiguring...
> Yenta: ISA IRQ mask 0x0078, PCI irq 10 Socket status: 30000006

Could you test either 2.6.13 or 2.6.14-rc2, please? Alternatively, the
following kernel boot options might or might not help, I'm not familiar with
vendor kernels.

yenta_socket.bios_override=1
pci=assign-busses

On Wed, Sep 28, 2005 at 12:31:50AM -0400, Pavel Roskin wrote:
> > When I perform an lspci, its not listed.
>
> And what is 06:02.0?  Does lspci output change if you remove the card?

06:02.0 is on the same bus as the CardBus bridge, therefore I doubt that
this is the CardBus card.

Thanks,
        Dominik

_______________________________________________
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia



From linux at dominikbrodowski.net  Wed Sep 28 15:40:13 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 15:42:09 2005
Subject: [PATCH 1/2] pcmcia: allow one port excludes
In-Reply-To: <20050928193926.GA24173@dominikbrodowski.de>
References: <20050928193926.GA24173@dominikbrodowski.de>
Message-ID: <20050928194013.GA24203@dominikbrodowski.de>

Allow for excluding only one port in /etc/pcmcia/config.otps

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

---

 drivers/pcmcia/rsrc_nonstatic.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

1146bc743e074760ef0dd08b3457f35a68069a54
diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -691,7 +691,7 @@ static int adjust_memory(struct pcmcia_s
 	unsigned long size = end - start + 1;
 	int ret = 0;
 
-	if (end <= start)
+	if (end < start)
 		return -EINVAL;
 
 	down(&rsrc_sem);
@@ -724,7 +724,7 @@ static int adjust_io(struct pcmcia_socke
 	unsigned long size = end - start + 1;
 	int ret = 0;
 
-	if (end <= start)
+	if (end < start)
 		return -EINVAL;
 
 	if (end > IO_SPACE_LIMIT)
@@ -925,7 +925,7 @@ static ssize_t store_io_db(struct class_
 				return -EINVAL;
 		}
 	}
-	if (end_addr <= start_addr)
+	if (end_addr < start_addr)
 		return -EINVAL;
 
 	ret = adjust_io(s, add, start_addr, end_addr);
@@ -977,7 +977,7 @@ static ssize_t store_mem_db(struct class
 				return -EINVAL;
 		}
 	}
-	if (end_addr <= start_addr)
+	if (end_addr < start_addr)
 		return -EINVAL;
 
 	ret = adjust_memory(s, add, start_addr, end_addr);

From linux at dominikbrodowski.net  Wed Sep 28 15:40:50 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 15:43:08 2005
Subject: [PATCH 2/2] pcmcia: only start up nonstatic sockets if both mem and
	io are available
In-Reply-To: <20050928193926.GA24173@dominikbrodowski.de>
References: <20050928193926.GA24173@dominikbrodowski.de>
Message-ID: <20050928194050.GB24203@dominikbrodowski.de>

Only start up nonstatic sockets if both IO and MEM resources are available.
Thanks to Russell King and Matthew Wilcox for tracking this down.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>

---

 drivers/pcmcia/rsrc_nonstatic.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

54bb5675a6e966a58755ac44e3407f8ec2272b82
diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -817,7 +817,7 @@ static int nonstatic_autoadd_resources(s
 
 	/* if we got at least one of IO, and one of MEM, we can be glad and
 	 * activate the PCMCIA subsystem */
-	if (done & (IORESOURCE_MEM | IORESOURCE_IO))
+	if (done == (IORESOURCE_MEM | IORESOURCE_IO))
 		s->resource_setup_done = 1;
 
 	return 0;

From linux at dominikbrodowski.net  Wed Sep 28 15:39:26 2005
From: linux at dominikbrodowski.net (Dominik Brodowski)
Date: Wed Sep 28 15:43:14 2005
Subject: [git pull] PCMCIA bug fixes for 2.6.14
Message-ID: <20050928193926.GA24173@dominikbrodowski.de>

Linus,

Please pull from

http://www.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6.git/

The diffstat and list of changes follows; patches will be sent to the
linux-pcmcia list.

Thanks,
	Dominik

----
 drivers/pcmcia/rsrc_nonstatic.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----
Dominik Brodowski:
  pcmcia: allow one port excludes
  pcmcia: only start up nonstatic sockets if both mem and io are available


From proski at gnu.org  Wed Sep 28 17:19:08 2005
From: proski at gnu.org (Pavel Roskin)
Date: Wed Sep 28 17:20:20 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050928182906.GA14909@isilmar.linta.de>
References: <1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv> <20050928182906.GA14909@isilmar.linta.de>
Message-ID: <1127942348.17139.13.camel@dv>

On Wed, 2005-09-28 at 20:29 +0200, Dominik Brodowski wrote:
> Hi Pavel,
> 
> On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> > > Can pcmciautils at least work without udev?
> > 
> > I think so, but we should test it.  I'm a bit concerned that
> > allow_func_id_match is only referenced in hotplug and udev scripts,
> > which may disallow matching some (admittedly obsolete) devices.
> 
> In fact, pcmiautils only supports udev in its latest release -- before
> that, it was _only_ hotplug...

I think Russell meant if it's possible to support pcmcia without any
userspace scripts.

>  And you need func_id matches also for several
> serial and ide cards.

I mean, there is no way to set allow_func_id_match other than from the
userspace (that's what I see in the code).  It means that e.g. a IDE
PCMCIA card that is only matched by func_id could not be used as a root
device unless initrd is used.  On the other hand, a card that has known
vendor/device ID could be detected and activated by the kernel directly,
without any userspace helpers.

I can imagine neither hotplug nor udev are going to be popular in the
embedded world, where the system configuration is mostly constant, and
the price of utilities software is high (especially if there is no
shared libc), unless they are part of busybox or pure shell scripts.

-- 
Regards,
Pavel Roskin


From rmk+pcmcia at arm.linux.org.uk  Wed Sep 28 18:00:45 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Wed Sep 28 18:06:46 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127942348.17139.13.camel@dv>
References: <1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050928182906.GA14909@isilmar.linta.de>
	<1127942348.17139.13.camel@dv>
Message-ID: <20050928220044.GD4361@flint.arm.linux.org.uk>

On Wed, Sep 28, 2005 at 05:19:08PM -0400, Pavel Roskin wrote:
> On Wed, 2005-09-28 at 20:29 +0200, Dominik Brodowski wrote:
> > Hi Pavel,
> > 
> > On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> > > > Can pcmciautils at least work without udev?
> > > 
> > > I think so, but we should test it.  I'm a bit concerned that
> > > allow_func_id_match is only referenced in hotplug and udev scripts,
> > > which may disallow matching some (admittedly obsolete) devices.
> > 
> > In fact, pcmiautils only supports udev in its latest release -- before
> > that, it was _only_ hotplug...
> 
> I think Russell meant if it's possible to support pcmcia without any
> userspace scripts.

Actually, hotplug isn't that bad - it's either a bunch of trivial
shell scripts which can be written to suit the application in mind,
or its one of the full-blown hotplug packages.

It's the udev side I'm now worried about given what's been said
above - I'm completely udev free and I suspect I'm not the only one
who wants to stay that way.  I also suspect that folk want to be udev
free but want PCMCIA to work.

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

From mistamaila at gmail.com  Wed Sep 28 22:18:31 2005
From: mistamaila at gmail.com (John H.)
Date: Wed Sep 28 22:19:39 2005
Subject: pcmciautils works with hotplug, but not udev
In-Reply-To: <5b9417770509280659727ed4a6@mail.gmail.com>
References: <5b941777050928053022ce96dd@mail.gmail.com>
	<20050928123948.GA15990@isilmar.linta.de>
	<5b94177705092806524cf1ce94@mail.gmail.com>
	<20050928135631.GA7211@isilmar.linta.de>
	<5b9417770509280659727ed4a6@mail.gmail.com>
Message-ID: <5b94177705092819181199b6f7@mail.gmail.com>

hmm, it seems to work now.  however, if i remove pcmcia card, and put
it back in, it does not show up ... only after boot?

On 9/28/05, John H. <mistamaila@gmail.com> wrote:
> i will have to check, but I am assuming all pcmcia modules were
> loaded, as yenta-socket was loaded, as well as the wlan drivers for
> pcmcia.
>
> did not try pcmcia-socket-startup
>
> On 9/28/05, Dominik Brodowski <linux@dominikbrodowski.net> wrote:
> > Hi,
> >
> > Was also "pcmcia" loaded? And what about
> >
> > > > "pcmcia-socket-startup"
> >
> > ?
> >
> >         Dominik
> >
>

From rmk+pcmcia at arm.linux.org.uk  Thu Sep 29 10:34:14 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep 29 10:40:30 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1127925968.2273.19.camel@dv>
References: <1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
Message-ID: <20050929143414.GA7684@flint.arm.linux.org.uk>

On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> You are using old cardmgr.  The one from pcmcia-cs 3.2.8 is fine.  I
> think version checking was removed in 3.1.34 series (grep -B8
> "unhelpful" CHANGES).

Ok, the "upgrade pcmcia-cs" story thus far:

In order to upgrade pcmcia-cs, I need new hwdata.

To install new hwdata, I need new hotplug and kudzu.

To install new hotplug, I need new initscripts.

To build new initscripts, I need new kudzu.

To build new kudzu, I need new pciutils.

To install new kudzu, I need new hwdata and something called "hal".
  Spot the circular dependency.

It's far more complex for some people than a simple "upgrade pcmcia-cs" -
it's easy to type but in reality it is _far_ more difficult.  And this
is why whenever we change kernel interfaces embedded folk suffer - they
have to re-evaluate their whole userspace.

This is exactly why I disagree with removing the pcmcia ioctl interface
soo quickly, and why removing the version ioctl was probably a bad move.
It's been less than a year since it was introduced which gives folk a
very small overlap.

I wonder how many have silently already had to stick with older kernels
because of these kinds of issues.  (On the ARM lists, I'm _constantly_
telling folk to upgrade their kernels...)

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

From dirk.behme at de.bosch.com  Thu Sep 29 11:36:48 2005
From: dirk.behme at de.bosch.com (Dirk Behme)
Date: Thu Sep 29 11:37:10 2005
Subject: Embedded CF driver broken with recent kernel
In-Reply-To: <433ADBB2.8040201@de.bosch.com>
References: <433ADBB2.8040201@de.bosch.com>
Message-ID: <433C0A10.8080401@de.bosch.com>

Dirk Behme wrote:
> Some kernel versions ago (2.6.11, 2.6.12 ?) this worked fine. With
> recent 2.6.14-rc1 this seems to be broken (see messages below).

> => Insert CF card into boards CF slot:
> 
> hda: TOSHIBA THNCF256MDG, CFA DISK drive
> hda: IRQ probe failed (0x0)
> hdb: IRQ probe failed (0x0)

> 	if (omap_cf_present()) {
> 		struct omap_cf_socket	*cf;
> 
> 		*sp = SS_READY | SS_DETECT | SS_POWERON | SS_3VCARD;
> 		cf = container_of(s, struct omap_cf_socket, socket);
> 		s->irq.AssignedIRQ = cf->irq;
> 	} else

Looking into this shows that in drivers/pcmcia/pcmcia_resource.c there
was a change from

if (ret) {
	if (!s->pci_irq)
		return ret;
	irq = s->pci_irq; }

to

/* only assign PCI irq if no IRQ already assigned */
if (ret && !s->irq.AssignedIRQ) {
	if (!s->pci_irq)
		return ret;
	irq = s->pci_irq; }

With following patch in CF driver it seems to work again:

  		*sp = SS_READY | SS_DETECT | SS_POWERON | SS_3VCARD;
  		cf = container_of(s, struct omap_cf_socket, socket);
-		s->irq.AssignedIRQ = cf->irq;
+		s->irq.AssignedIRQ = 0;
+		s->pci_irq = cf->irq;
  	} else
  		*sp = 0;

Has this to be fixed in pcmcia code or in embedded CF driver with patch
above?

Dirk


From proski at gnu.org  Thu Sep 29 11:36:30 2005
From: proski at gnu.org (Pavel Roskin)
Date: Thu Sep 29 11:37:43 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050929143414.GA7684@flint.arm.linux.org.uk>
References: <1127719283.2694.38.camel@hexa0xfb>
	<20050926073009.GA23132@isilmar.linta.de>
	<1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050929143414.GA7684@flint.arm.linux.org.uk>
Message-ID: <1128008190.17139.50.camel@dv>

On Thu, 2005-09-29 at 15:34 +0100, Russell King wrote:
> On Wed, Sep 28, 2005 at 12:46:08PM -0400, Pavel Roskin wrote:
> > You are using old cardmgr.  The one from pcmcia-cs 3.2.8 is fine.  I
> > think version checking was removed in 3.1.34 series (grep -B8
> > "unhelpful" CHANGES).
> 
> Ok, the "upgrade pcmcia-cs" story thus far:
> 
> In order to upgrade pcmcia-cs, I need new hwdata.
> To install new hwdata, I need new hotplug and kudzu.

That's a bug.  Data should not depend on utilities.  At worst, it can
conflict with them, which is remedied by removing the utilities.

> To install new hotplug, I need new initscripts.
> 
> To build new initscripts, I need new kudzu.
> 
> To build new kudzu, I need new pciutils.
> 
> To install new kudzu, I need new hwdata and something called "hal".
>   Spot the circular dependency.

Build pciutils, then kudzu.  Then install hwdata, hotplug, initscripts
and kudzu in the same time.

Still, you may need to ignore some dependencies to bootstrap the build
system.  That's the only practical solution to the chicken-and-egg
problem.

Red Hat (or whatever it is) is not designed for embedded systems.  I've
seen much worse dependencies, where Red Hat would force you to have X11,
sendmail, perl and C++ libraries.  Some of the dependencies can be
easily fixed, some not so easily (e.g by splitting packages), some are
pretty hard to fix without sacrificing functionality for desktop
installations.

To sum up, that's the case of "messed userspace" I mentioned before.
Either build everything from scratch, or use a distribution designed for
embedded systems.

> It's far more complex for some people than a simple "upgrade pcmcia-cs" -
> it's easy to type but in reality it is _far_ more difficult.  And this
> is why whenever we change kernel interfaces embedded folk suffer - they
> have to re-evaluate their whole userspace.
> 
> This is exactly why I disagree with removing the pcmcia ioctl interface
> soo quickly, and why removing the version ioctl was probably a bad move.

It should be easy to restore it as part of the compatibility code.

> It's been less than a year since it was introduced which gives folk a
> very small overlap.

I don't understand that.  pcmcia-cs 3.1.34 was released in June 2002,
and it doesn't need CS version.

> I wonder how many have silently already had to stick with older kernels
> because of these kinds of issues.  (On the ARM lists, I'm _constantly_
> telling folk to upgrade their kernels...)

I have no sympathy to those who use Red Hat for embedded systems without
paying for support.  It's using a wrong tool for a job.  Either hire
someone smart enough to use an embedded distribution (or make a new one,
or massage Red Hat into being one), or pay Red Hat, and have them
deliver binary packages for you.

Red Hat can refer to Fedora, Whitebox or any desktop distro.

-- 
Regards,
Pavel Roskin


From rmk+pcmcia at arm.linux.org.uk  Thu Sep 29 12:16:33 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep 29 12:22:33 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <1128008190.17139.50.camel@dv>
References: <1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050929143414.GA7684@flint.arm.linux.org.uk>
	<1128008190.17139.50.camel@dv>
Message-ID: <20050929161633.GC7684@flint.arm.linux.org.uk>

On Thu, Sep 29, 2005 at 11:36:30AM -0400, Pavel Roskin wrote:
> I have no sympathy to those who use Red Hat for embedded systems without
> paying for support.  It's using a wrong tool for a job.  Either hire
> someone smart enough to use an embedded distribution (or make a new one,
> or massage Red Hat into being one), or pay Red Hat, and have them
> deliver binary packages for you.

That kind of attitude is one akin to telling me I shouldn't have been
working on the ARM Linux kernel for the past 10 years because I haven't
been paying Linus money for support.

Wake up.  Not everyone can build their own embedded distribution from
scratch from the year dot.  Unfortunately I have _far_ too much invested
over ten years to change from an RPM-based distro, thanks to the quirks
of the mega-fragmented ARM community.

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

From rmk+pcmcia at arm.linux.org.uk  Thu Sep 29 12:57:53 2005
From: rmk+pcmcia at arm.linux.org.uk (Russell King)
Date: Thu Sep 29 13:03:41 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050929161633.GC7684@flint.arm.linux.org.uk>
References: <20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050929143414.GA7684@flint.arm.linux.org.uk>
	<1128008190.17139.50.camel@dv>
	<20050929161633.GC7684@flint.arm.linux.org.uk>
Message-ID: <20050929165753.GD7684@flint.arm.linux.org.uk>

On Thu, Sep 29, 2005 at 05:16:33PM +0100, Russell King wrote:
> On Thu, Sep 29, 2005 at 11:36:30AM -0400, Pavel Roskin wrote:
> > I have no sympathy to those who use Red Hat for embedded systems without
> > paying for support.  It's using a wrong tool for a job.  Either hire
> > someone smart enough to use an embedded distribution (or make a new one,
> > or massage Red Hat into being one), or pay Red Hat, and have them
> > deliver binary packages for you.
> 
> That kind of attitude is one akin to telling me I shouldn't have been
> working on the ARM Linux kernel for the past 10 years because I haven't
> been paying Linus money for support.
> 
> Wake up.  Not everyone can build their own embedded distribution from
> scratch from the year dot.  Unfortunately I have _far_ too much invested
> over ten years to change from an RPM-based distro, thanks to the quirks
> of the mega-fragmented ARM community.

To provide even more counter points to your argument, I don't see
why I should be the one investing my time to provide folk with an
embedded distribution on a plate - they already get the results of
my kernel work on what is a golden platter.

As an individual, I don't have the time nor the financial backing to
do _anything_ close to what you suggest.  If I tried, you'd be looking
at my participation in Linux coming to an end.

I do far enough for the ARM community already.  I am _not_ going to
take on even more work for precisely zero reward.

(Yes, you've hit a very sensitive subject here.)

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

From proski at gnu.org  Thu Sep 29 13:20:06 2005
From: proski at gnu.org (Pavel Roskin)
Date: Thu Sep 29 13:20:54 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050929161633.GC7684@flint.arm.linux.org.uk>
References: <1127720128.2694.42.camel@hexa0xfb>
	<20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050929143414.GA7684@flint.arm.linux.org.uk>
	<1128008190.17139.50.camel@dv>
	<20050929161633.GC7684@flint.arm.linux.org.uk>
Message-ID: <1128014406.24397.25.camel@dv>

On Thu, 2005-09-29 at 17:16 +0100, Russell King wrote:
> On Thu, Sep 29, 2005 at 11:36:30AM -0400, Pavel Roskin wrote:
> > I have no sympathy to those who use Red Hat for embedded systems without
> > paying for support.  It's using a wrong tool for a job.  Either hire
> > someone smart enough to use an embedded distribution (or make a new one,
> > or massage Red Hat into being one), or pay Red Hat, and have them
> > deliver binary packages for you.
> 
> That kind of attitude is one akin to telling me I shouldn't have been
> working on the ARM Linux kernel for the past 10 years because I haven't
> been paying Linus money for support.

Regarding the kernel, it's a totally different situation.  You took a
good tool for a job, you improved it and you are sharing your results.

> Wake up.  Not everyone can build their own embedded distribution from
> scratch from the year dot.  Unfortunately I have _far_ too much invested
> over ten years to change from an RPM-based distro, thanks to the quirks
> of the mega-fragmented ARM community.

I checked the distribution list on LWN.net and found ARM Linux for you
(http://www.arm.linux.org.uk/).  Further research showed that you are
already maintaining it :-)

Considering that, I think I should refrain from giving you advise on
making embedded distros.  You probably already know where to report
circular dependencies in upsteam packages.

-- 
Regards,
Pavel Roskin


From proski at gnu.org  Thu Sep 29 13:27:49 2005
From: proski at gnu.org (Pavel Roskin)
Date: Thu Sep 29 13:28:29 2005
Subject: PCMCIA Bluetooth Card (AnyCom CF - 300) on ARM
In-Reply-To: <20050929165753.GD7684@flint.arm.linux.org.uk>
References: <20050926073834.GA23217@isilmar.linta.de>
	<1127794643.2674.0.camel@hexa0xfb>
	<20050927160921.GA19290@isilmar.linta.de>
	<1127839018.6447.8.camel@hexa0xfb>
	<20050927165512.GA10791@isilmar.linta.de>
	<20050928160533.GA4361@flint.arm.linux.org.uk>
	<1127925968.2273.19.camel@dv>
	<20050929143414.GA7684@flint.arm.linux.org.uk>
	<1128008190.17139.50.camel@dv>
	<20050929161633.GC7684@flint.arm.linux.org.uk>
	<20050929165753.GD7684@flint.arm.linux.org.uk>
Message-ID: <1128014869.24397.33.camel@dv>

Hi, Russell!

On Thu, 2005-09-29 at 17:57 +0100, Russell King wrote:
> To provide even more counter points to your argument, I don't see
> why I should be the one investing my time to provide folk with an
> embedded distribution on a plate - they already get the results of
> my kernel work on what is a golden platter.
> 
> As an individual, I don't have the time nor the financial backing to
> do _anything_ close to what you suggest.  If I tried, you'd be looking
> at my participation in Linux coming to an end.
> 
> I do far enough for the ARM community already.  I am _not_ going to
> take on even more work for precisely zero reward.
> 
> (Yes, you've hit a very sensitive subject here.)

Of course I didn't mean you.  I meant an average company trying to use
Linux on its embedded product and expecting it to work right away with
minimal investment.

-- 
Regards,
Pavel Roskin


