1
Commit Graph

215 Commits

Author SHA1 Message Date
Dominik Brodowski
552dc85dfe [PATCH] pcmcia: socket.functions starts with 1
socket.functions is the number of functions, and so must be one larger
than the maximum function number.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:05:25 +02:00
Dominik Brodowski
c7d006935d [PATCH] pcmcia: remove duplicate fields in io_window_t
BasePort, NumPorts and Attributes are or can be embedded in
struct resource, so remove them.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:46 +02:00
Dominik Brodowski
0e0fad8f71 [PATCH] pcmcia: size reduction if ioctl isn't compiled
If the kernel is configured to not include the deprecated PCMCIA ioctl,
some code doesn't need to be built.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:39 +02:00
Dominik Brodowski
1540eec5e5 [PATCH] pcmcia: remove pcmcia_compat.c
Remove the compatibility wrappers, as they can (now) also be implemented
using macros. Please continue using these wrappers instead of new functions
until a new API has stabilized.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:33 +02:00
Dominik Brodowski
e904663b4d [PATCH] pcmcia: remove include of config.h
Remove the inclusion of include/config.h as it isn't needed any longer.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:26 +02:00
Dominik Brodowski
7fe908dd11 [PATCH] pcmcia: use mutexes instead of semaphores
Use mutexes in the PCMICA core, as they suffice for what needs to be done.
Includes a bugfix from and Signed-off-by Andrew Morton.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:19 +02:00
Dominik Brodowski
360b65b95b [PATCH] pcmcia: make config_t independent, add reference counting
Handle config_t structs independent of struct pcmcia_socket, and add
reference counting for them.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:02:06 +02:00
Dominik Brodowski
855cdf134d [PATCH] pcmcia: always use device pointer to config_t
Update the remaining users using the static lookup table of the PCMCIA
function configuration to use the struct pcmcia_device-contained pointer.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:01:58 +02:00
Dominik Brodowski
dbb22f0d65 [PATCH] pcmcia: access config_t using pointer instead of array
Access the PCMCIA config_t struct (one per device function) using
a pointer in struct pcmcia_device, instead of looking them up in
an array.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:01:43 +02:00
Dominik Brodowski
1ae9c7d819 [PATCH] pcmcia: remove unused field Present from config_t
config_t.Present is set to the same value as CardValues, which isn't modified
anywhere. Therefore, we can use only one of these two objects.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 17:01:34 +02:00
Janos Farkas
6e3d4f25a5 [PATCH] pcmcia: permit single-character identifiers
For some time, the core pcmcia drivers seem not to think single
character prod_ids are valid, thus preventing the "cleverly" named

  "D" "Link DWL-650 11Mbps WLAN Card"

Before (as in 2.6.16):
PRODID_1=""
PRODID_2="Link DWL-650 11Mbps WLAN Card"
PRODID_3="Version 01.02"
PRODID_4=""
MANFID=0156,0002
FUNCID=6

After (with the patch)
PRODID_1="D"
PRODID_2="Link DWL-650 11Mbps WLAN Card"
PRODID_3="Version 01.02"
PRODID_4=""
MANFID=0156,0002
FUNCID=6

Signed-off-by: Janos Farkas <chexum@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-03-31 16:59:29 +02:00
David Vrabel
489447380a [PATCH] handle errors returned by platform_get_irq*()
platform_get_irq*() now returns on -ENXIO when the resource cannot be
found.  Ensure all users of platform_get_irq*() handle this error
appropriately.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20 13:42:57 -08:00
Hugh Dickins
4ceadbf519 [PATCH] fix pcmcia_device_probe oops
Fix pcmcia_device_probe NULL pointer dereference at startup.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-10 13:40:26 -08:00
Dominik Brodowski
82d56e6d2e [PATCH] pcmcia: properly handle pseudo multi-function devices
The second pseudo multi-function device of a PCMCIA card may only be
configured once the first one is initialized. Therefore, delay the
registration of the second device until the first one is initialized.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net
2006-03-01 10:52:11 +01:00
Russell King
1d0baa3a1c [PATCH] Add pcmcia_bus_type probe and remove methods
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-13 11:26:08 -08:00
Linus Torvalds
58cba4650a Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6 2006-01-12 14:00:47 -08:00
Linus Torvalds
bf785ee0ae Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-01-12 12:23:49 -08:00
Dominik Brodowski
db1019ca05 [PATCH] pcmcia: runtime powermanagement interface
With the "power/state" sysfs interface being deprecated, make another
one available which is compatible to what was discussed on the linux
PM mailinglist.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-12 18:48:16 +01:00
Richard Purdie
b016450f9f [ARM] 3250/1: Change pxa2xx PCMCIA drivers to use platform_device_alloc
Patch from Richard Purdie

Change mainstone and sharpsl pxa2xx pcmcia drivers to use
platform_device_alloc which fixes a memory leak.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-10 17:16:12 +00:00
Ralf Baechle
29ce2c765c Update Yoichi Yuasa's email address.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-01-10 13:39:07 +00:00
Richard Knutsson
93b47684f6 [PATCH] drivers/*rest*: Replace pci_module_init() with pci_register_driver()
Replace obsolete pci_module_init() with pci_register_driver().

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-09 12:13:23 -08:00
Russell King
123656d4cc Merge with Linus' kernel. 2006-01-07 14:40:05 +00:00
Daniel Ritz
6e49388272 [PATCH] pcmcia: cleanup cs.c, reduce size
kill the socket_shutdown()/shutdown_socket() confusion by making it
one single function. move cs_socket_put() in there. nicer to read and
smaller:

original:
   text	   data	    bss	    dec	    hex	filename
  25181	   1076	     32	  26289	   66b1	drivers/pcmcia/pcmcia_core.ko

patched:
   text	   data	    bss	    dec	    hex	filename
  24973	   1076	     32	  26081	   65e1	drivers/pcmcia/pcmcia_core.ko

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:28:15 +01:00
Alexey Dobriyan
3cf89b1859 [PATCH] drivers/pcmcia/cistpl.c: fix endian warnings
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:28:10 +01:00
Dominik Brodowski
8084b372ad [PATCH] pcmcia: kzalloc conversion
Convert users of kmalloc and memset to kzalloc

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:28:06 +01:00
Dominik Brodowski
6423efaacb [PATCH] pcmcia: no probing of ioports on PARISC
Do not wildly probe the IO ports we're trying to use on PARISC.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:28:01 +01:00
Dominik Brodowski
002dbb2d0d [PATCH] pcmcia: export stored values in sysfs
Export the stored values instead of re-reading everything in the socket
information sysfs files, and make them accessible to all users, not only
to root.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:27:57 +01:00
Vitaly Bordug
1371d3be04 [PATCH] 8xx PCMCIA: support for MPC885ADS and MPC866ADS
This adds PCMCIA support for both MPC885ADS and MPC866ADS.

This is established not together with FADS, because 885 does not have
io_block_mapping() for BCSR area.
Also, some cleanups done both for 885ADS and MBX.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:27:53 +01:00
Vitaly Bordug
a94515fa1f [PATCH] m8xx_pcmcia: support MAP_AUTOSZ required for CF cards
This fixes misconfiguration that could result in odd work of some old CF
cards.

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:27:48 +01:00
Dominik Brodowski
3b27e9421a [PATCH] pcmcia: properly handle static mem, but dynamic io sockets
Some PCMCIA sockets have statically mapped memory windows, but dynamically
mapped IO windows. Using the "nonstatic" socket library is inpractical for
them, as they do neither need a resource database (as we can trust the
kernel resource database on m68k and ppc) nor lots of other features of that
library. Let them get a small "iodyn" socket library (105 lines of code)
instead.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:27:43 +01:00
Dominik Brodowski
f8cfa618dc [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback
Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
probe() callback. As all in-kernel drivers are changed to this new
callback, 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);

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:24 +01:00
Dominik Brodowski
f399071558 [PATCH] pcmcia: remove old detach mechanism
Remove the old "detach" mechanism as it is unused now.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:15 +01:00
Dominik Brodowski
cc3b4866be [PATCH] pcmcia: unify detach, REMOVAL_EVENT handlers into one remove callback
Unify the "detach" and REMOVAL_EVENT handlers to one "remove" function.
Old functionality is preserved, for the moment.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:03:10 +01:00
Dominik Brodowski
8e9e793d68 [PATCH] pcmcia: merge suspend into device model
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.

Bugfix in ds.c by Richard Purdie
Signed-Off-By: Richard Purdie <rpurdie@rpsys.net>

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-06 00:02:03 +01:00
Dominik Brodowski
98e4c28b7e [PATCH] pcmcia: new suspend core
Move the suspend and resume methods out of the event handler, and into
special functions. Also use these functions for pre- and post-reset, as
almost all drivers already do, and the remaining ones can easily be
converted.

Bugfix to include/pcmcia/ds.c
Signed-off-by: Andrew Morton <akpm@osdl.org>

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:59:02 +01:00
Daniel Ritz
63e7ebd064 [PATCH] yenta: make bridge specific init code configurable
Make the bridge specific initialization code config options depending on
CONFIG_EMBEDDED. Config options for TI/EnE, Toshiba, Ricoh and O2Micro are
available. Disabling all of the specific tweaks cuts off more than half
of yenta_socket.ko.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:41:23 +01:00
Andrew Morton
2cff944720 [PATCH] pcmcia: validate_mem fix
Also return a value if CONFIG_PCMCIA_PROBE is not set.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:41:19 +01:00
Dominik Brodowski
de75914ee1 [PATCH] pcmcia: validate_mem shouldn't be void
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>
2006-01-05 23:41:14 +01:00
Dominik Brodowski
9da4bc6d6a [PATCH] pcmcia: remove get_socket callback
The .get_socket callback is never used by the PCMCIA core, therefore remove
it.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:41:09 +01:00
Daniel Ritz
e4115805cf [PATCH] yenta: optimize interrupt handler
Don't waste cpu time in yenta interrupt handler when the interrupt was for
another device.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:41:00 +01:00
Pavel Machek
37f7795544 [PATCH] pcmcia: avoid macro usage in cistpl
Fix macro abuse in pcmcia.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2006-01-05 23:40:25 +01:00
Richard Purdie
945b957972 [ARM] 3230/1: Sharp Scoop: Fix Shared Power Control Issues
Patch from Richard Purdie

The SL-Cxx00 devices have a power control register in SCOOP that is
shared by both CF and MMC/SD card slots. The CF reset code was resetting
this register leading to various lockups as the MMC power was suddenly
lost. This patch handles the CPR register in a more sensitive manner.

It also removes some unneeded collie specific calls as the reset code
handles this.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-01-05 20:44:57 +00:00
Kay Sievers
312c004d36 [PATCH] driver core: replace "hotplug" by "uevent"
Leave the overloaded "hotplug" word to susbsystems which are handling
real devices. The driver core does not "plug" anything, it just exports
the state to userspace and generates events.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-04 16:18:08 -08:00
Hirokazu Takata
ad09d58310 [PATCH] m32r: M3A-2170(Mappi-III) IDE support
This patch is for supporting IDE interface for M3A-2170(Mappi-III) board.

Signed-off-by: Mamoru Sakugawa <sakugawa@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-28 14:42:24 -08:00
Dominik Brodowski
807277cbf9 [PCMCIA] inform user of insertion and ejection events
Print out minimal information in dmesg whnever a CardBus or PCMCIA card
is inserted into or ejected from a slot. This will make debugging certain
types of bugs much easier, and is similar to output produced by other
hotpluggable buses.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-12 23:35:34 +01:00
Dominik Brodowski
dfb279c975 [PCMCIA] i82365: use new platform_device helpers
Use the new platform_device helpers in the i82365 driver to get rid of the
"device 'i823650' does not have a release() function" warning, and to solve
bug #3676.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-12 22:46:38 +01:00
Igor Popik
a2932b35a0 [PCMCIA] i82365: release all resources if no devices are found
The i82365 driver does not release all the resources when the device is not
found. This can cause an oops when reading /proc/ioports after module
unload.

Signed-off-by: Igor Popik <igor.popik@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-10 11:42:16 +01:00
Marcelo Tosatti
e346315088 [PCMCIA] MPC8xx PCMCIA update
Kconfig entry: dependency on 8xx
Makefile: fix whitespace breakage
m8xx_pcmcia.c:
	- asm/segment.h is gone
	- use generic PCMCIA suspend/resume methods

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-10 11:19:58 +01:00
Ralf Baechle
5ab0b37494 [PATCH] Alchemy PCMCIA: Fix config.h inclusion
Add rsp. remove the inclusion of <linux/config.h> as needed.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-11-10 11:18:26 +01:00
Olaf Hering
733482e445 [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason
This patch removes almost all inclusions of linux/version.h.  The 3
#defines are unused in most of the touched files.

A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
unfortunatly in linux/version.h.

There are also lots of #ifdef for long obsolete kernels, this was not
touched.  In a few places, the linux/version.h include was move to where
the LINUX_VERSION_CODE was used.

quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

search pattern:
/UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:57 -08:00
Richard Purdie
a63ae4427c [ARM] 3093/1: SharpSL PCMCIA Updates for Cxx00 models
Patch from Richard Purdie

The Sharp SL-Cxx00 models have a combined power control for the SD
and CF slot 0. This patch adds hooks to the scoop driver to allow
machines to provide a custom control function for this and such a
function is added for spitz/akita/borzoi.

It also moves the gpio init code into the machine files as this
is machine dependent and differs between some models. A couple of
warnings when compiling for collie are also fixed.

Signed-off-by: Richard Purdie
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-11-08 19:15:43 +00:00
Jesper Juhl
6044ec8882 [PATCH] kfree cleanup: misc remaining drivers
This is the remaining misc drivers/ part of the big kfree cleanup patch.

Remove pointless checks for NULL prior to calling kfree() in misc files in
drivers/.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Acked-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Acked-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Len Brown <len.brown@intel.com>
Acked-by: "Antonino A. Daplas" <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-07 07:54:05 -08:00
Linus Torvalds
4fd5f8267d Merge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Manual #include fixups for clashes - there may be some unnecessary
2005-10-31 07:32:56 -08:00
Paul Mackerras
23fd07750a Merge ../linux-2.6 by hand 2005-10-31 13:37:12 +11:00
Linus Torvalds
1480d0a31d Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-10-30 17:48:00 -08:00
Brian Gerst
0d078f6f96 [PATCH] CONFIG_IA32
Add CONFIG_X86_32 for i386.  This allows selecting options that only apply
to 32-bit systems.

(X86 && !X86_64) becomes X86_32
(X86 ||  X86_64) becomes X86

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:10 -08:00
Pavel Machek
77bb86a1b9 [ARM] Support pcmcia slot on sharp sl-5500
This adds support for pcmcia slot on sharp zaurus sl-5500.
pxa2xx_sharpsl.c thus becomes quite miss-named, but I guess that
is not worth fixing?

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-30 23:39:02 +00:00
Pete Popov
d6460827af Updated pcmcia driver with pb1200 and db1200 support.
Updated db1200_defconfig so pcmcia is enabled by default.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:24 +01:00
Pete Popov
efe29c0f34 - moved platform structure to platform.c
- fixed an iounmap warning
- export fixup_xx, needed by the module

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2005-10-29 19:32:24 +01:00
Russell King
d052d1beff Create platform_device.h to contain all the platform device details.
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-29 19:07:23 +01:00
Marcelo Tosatti
de957c89b7 [PATCH] MPC8xx PCMCIA driver
Here is an uptodated version of the MPC8xx PCMCIA driver for v2.6,
addressing comments by Jeff and Dominik:

- use IO accessors instead of direct device memory referencing
- avoid usage of non-standard "uint/uchar" data types
- kill struct typedef's

Will submit it for inclusion once v2.6.14 is out.

Testing on 8xx platforms is more than welcome! Works like a charm
on our custom hardware (CONFIG_PRxK).

Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-10-29 13:55:35 +10:00
Linus Torvalds
030ee39c0f pcmcia: add socket register data to sysfs for yenta devices
It's simple, and it's a good debugging aid.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-28 13:55:08 -07:00
Greg KH
6fbfddcb52 Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
Russell King
9480e307cd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks
In PM v1, all devices were called at SUSPEND_DISABLE level.  Then
all devices were called at SUSPEND_SAVE_STATE level, and finally
SUSPEND_POWER_DOWN level.  However, with PM v2, to maintain
compatibility for platform devices, I arranged for the PM v2
suspend/resume callbacks to call the old PM v1 suspend/resume
callbacks three times with each level in order so that existing
drivers continued to work.

Since this is obsolete infrastructure which is no longer necessary,
we can remove it.  Here's an (untested) patch to do exactly that.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:56 -07:00
Dmitry Torokhov
d8539d81ae [PATCH] Driver core: pass interface to class interface methods
Driver core: pass interface to class intreface methods

Pass interface as argument to add() and remove() class interface
methods. This way a subsystem can implement generic add/remove
handlers and then call interface-specific ones.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 09:52:51 -07:00
Russell King
f339ab3d6c [ARM] Fix sparse warnings
Fix sparse warnings in arch/arm/kernel/module.c,
arch/arm/mm/consistent.c, drivers/pcmcia/sa1111_generic.c,
and platform support files.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-10-28 14:29:43 +01:00
Pavel Machek
4846d0172d [PATCH] zaurus: fix soc_common.c
This fixes wrong comments, non-working debug subsystem, and some
potentially dangerous macros.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-14 17:10:12 -07:00
Steven Rostedt
220ec02911 [PATCH] pcmcia: fix task state at pccard thread exit
The pccardd thread has a race in it that it can shutdown in the
TASK_INTERRUPTIBLE state.

Make sure we mark ourselves runnable again as we remove ourselves from
the wait queue.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-10 08:33:27 -07:00
David Vrabel
c2059b2e0b [PATCH] yenta: fix build if YENTA && !CARDBUS
(struct pcmcia_socket).tune_bridge only exists if CONFIG_CARDBUS is set
but building yenta_socket without CardBus is valid.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-08 14:53:31 -07:00
Linus Torvalds
1dd465cac8 Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-09-30 08:39:56 -07:00
Russell King
fc611a1a50 [ARM] Don't include mach-types.h unnecessarily
It's pointless to include mach-types.h if you're not going to use
anything from it.  These references were removed as a result of:

grep -lr 'asm/mach-types\.h' . | xargs grep -L 'machine_is_\|MACH_TYPE_\|MACHINE_START\|machine_type'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-29 11:15:51 +01:00
Dominik Brodowski
54bb5675a6 [PATCH] pcmcia: only start up nonstatic sockets if both mem and io are available
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>
2005-09-28 20:11:30 +02:00
Dominik Brodowski
1146bc743e [PATCH] pcmcia: allow one port excludes
Allow for excluding only one port in /etc/pcmcia/config.otps

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-09-28 20:11:26 +02:00
Daniel Ritz
f9cb8b71e7 [PATCH] yenta: more ENE bridges
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>
2005-09-26 13:11:29 +02:00
Daniel Ritz
6c1a10dba9 [PATCH] 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>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-09-26 13:11:27 +02:00
Komuro
81000808b6 [PATCH] pcmcia: fix Kconfig dependency
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>
2005-09-26 13:11:26 +02:00
Dominik Brodowski
8e5d17ebe4 [PATCH] yenta: tiny cleanup
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>
2005-09-26 13:11:25 +02:00
Daniel Ritz
a413c09094 [PATCH] yenta: don't mess with bridge control register
In interrupt probing (both ISA and PCI) the bridge control register is used
to change interrupt routing to ISA or PCI by changing bit 7.  But this bit
only controls the routing of card functional interrupts, not the CSC
interrupts which are used for interrupt probing.

A bad side effect of messing with this register in yenta_probe_irq() is
that it can lead to irq storms if a card is inserted and already powered by
the BIOS.

Usage in yenta_sock_init() and yenta_config_init() seem to be fishy as well.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-09-26 13:11:24 +02:00
Daniel Ritz
8c3520d4eb [PATCH] yenta: auto-tune EnE bridges for CardBus cards
Echo Audio cardbus products are known to be incompatible with EnE bridges.
in order to maybe solve the problem a EnE specific test bit has to be set,
another cleared...but other setups have a good chance to break when just
forcing the bits.  so do the whole thingy automatically.

The patch adds a hook in cb_alloc() that allows special tuning for the
different chipsets.  for ene just match the Echo products and set/clear the
test bits, defaults to do the same thing as w/o the patch to not break
working setups.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
2005-09-26 13:09:20 +02:00
Linus Torvalds
5a23f34798 Fix yenta error message when unable to find a bus assignment
And mention 'pci=assign-busses' as a possible fix.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-14 13:05:17 -07:00
Ivan Kokshaysky
c7fb0b35ad [PATCH] yenta oops fix
In some cases, especially on modern laptops with a lot of PCI and
cardbus bridges, we're unable to assign correct secondary/subordinate
bus numbers to all cardbus bridges due to BIOS limitations unless
we are using "pci=assign-busses" boot option.
So some cardbus controllers may not have attached subordinate pci_bus
structure, and yenta driver must cope with it - just ignore such cardbus
bridges.

For example, see https://bugzilla.novell.com/show_bug.cgi?id=113778

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-14 12:28:15 -07:00
Dominik Brodowski
c352ec8ab8 [PATCH] pcmcia: warn on IOCTL usage
More visible user information of scheduled feature removal.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-13 08:22:27 -07:00
Brice Goglin
bd65a68574 [PATCH] pcmcia: add pcmcia to IRQ information
Add a devname parameter to the pcmcia_device structure, fills it with
"pcmcia<bus_id>" in pcmcia_device_add, and passes it to request_irq in
pcmcia_request_irq.

Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:48 -07:00
David Brownell
f74e48a51c [PATCH] pcmcia: OMAP CF controller
This adds a socket driver for the OMAP CF controller; it's currently in use on
OSK boards.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:48 -07:00
Dominik Brodowski
71ed90d89e [PATCH] pcmcia: remove unused Vpp1, Vpp2 and Vcc
config_t->Vpp1, Vpp2 and Vcc are never read, so remove them.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:48 -07:00
Dominik Brodowski
76d82ec526 [PATCH] pcmcia: remove unused client_t
client_t and CLIENT_MAGIC are unused, so remove them

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:47 -07:00
Daniel Ritz
c8751e4c0b [PATCH] pcmcia/yenta: avoid PCI write posting problem
extend cb_writel(), exca_writeb(), exca_writel() to do a read[lb]() after
the write[lb]() to avoid possible problem with PCI write posting.

Seems to fix Bug #5061.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:47 -07:00
Daniel Ritz
c181e0e00f [PATCH] fix pcmcia_request_irq() for multifunction card
multifunction cards need to have the same irq assigned to both functions.
the code tries that but fails because ret is still set to CS_IN_USE which
results in the function having the CB irq assigned.  yenta_set_socket then
just changes the irq routing to use the PCI interrupt but the first
functions irq handler is registered on an ISA interrupt.  boom.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:47 -07:00
Daniel Ritz
bf4de6f2db [PATCH] pcmcia/cs: fix possible missed wakeup
- thread_done should only be completed when the wait_queue is installed.

- all wake up conditions should be checked before schedule()

this fixes a hang of rmmod in the sequence modprobe yenta_socket; rmmod
yenta_socket as reported by Andreas Steinmetz.  w/o this rmmod yenta_socket
can hang on wait_for_completion() in pcmcia_unregister_socket()

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:47 -07:00
Dominik Brodowski
b3743fa444 [PATCH] yenta: share code with PCI core
Share code between setup-bus.c and yenta_socket.c: use the write-out code of
resources to the bridge also in yenta_socket.c, as it provides useful debug
output.  In addition, it fixes the bug that the CPU-centric resource view
might need to be transferred to the PCI-centric view: setup-bus.c does that,
while yenta-socket.c did not.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:47 -07:00
Ingo Molnar
76fa82fb71 [PATCH] pcmcia: reduce ds.c stack footprint
This patch reduces the stack footprint of pcmcia_device_query() from 416 bytes
to 36 bytes.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-09 13:57:46 -07:00
Daniel Ritz
ea2f1590aa [PATCH] yenta: make ToPIC95 bridges work with 16bit cards
ToPIC95 brides (and maybe some other too) require to use the ExCA registers
to power up the socket if a 16bit card is pluged.  allow socket drivers to
set a flag so that yenta does just that.  also clean up yenta_get_status()
a bit to use the new yenta_get_power() function.

Side note: ToPIC97 bridges (at least in Rev.5 i have) don't require this.

Ryan Underwood <nemesis-lists@icequake.net> said:

 According to the mail that David Hinds received from a Toshiba engineer,
 ToPIC95 and 97 do require this, and ToPIC100 does not.  Maybe you have a
 later revision.

 For all chips, 16-bit cards can be enabled through ExCA.  So doesn't it
 make sense just to make this the default behavior for all Toshiba chips,
 to avoid corner cases showing up later?

Daniel responded:

 I disagree with ryan to change anything for topic97 bridges.  they work.
 and I couldn't find (read google) any report of a topic97 breaking on
 applying power with the CB registers.

 I'm having several toshba notebooks at work (and home) with topic95,97,100
 bridges.  Only the ones with a topic95 didn't work.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-07 16:57:21 -07:00
Richard Purdie
0ce7625f3c [ARM] 2882/1: pxa2xx_sharpsl: Update PCMCIA driver to support variety of new hardware
Patch from Richard Purdie

This patch updates the PCMCIA pxa2xx_sharpsl driver to support multiple scoop
devices by adding a scoop to pcmcia slot mapping structure. It adds platform
support for poodle, is known to work on spitz (which is dual slot) and
should also support collie with a minor amount of further work.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-05 20:49:54 +01:00
Richard Purdie
f36598aeca [ARM] 2873/1: PCMCIA soc: Allow access to filesystems on CF at boot time
Patch from Richard Purdie

This change makes the soc pcmcia interfaces available earlier in the
boot process meaning devices like CF microdrives can be used for the
root filesystem.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-09-03 19:39:25 +01:00
Al Viro
531e5ca62b [PATCH] missing include in pcmcia_resource.c
missing include of asm/irq.h

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:43 -07:00
Dominik Brodowski
43c3473552 [PATCH] pci and yenta: pcibios_bus_to_resource
In yenta_socket, we default to using the resource setting of the CardBus
bridge.  However, this is a PCI-bus-centric view of resources and thus needs
to be converted to generic resources first.  Therefore, add a call to
pcibios_bus_to_resource() call in between.  This function is a mere wrapper on
x86 and friends, however on some others it already exists, is added in this
patch (alpha, arm, ppc, ppc64) or still needs to be provided (parisc -- where
is its pcibios_resource_to_bus() ?).

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-04 21:32:46 -07:00
Paul Mackerras
f7d1d23c30 [PATCH] Obvious bugfix for yenta resource allocation
Recent changes (well, dating from 12 July) have broken cardbus on my
powerbook: I get 3 messages saying "no resource of type xxx available,
trying to continue", and if I plug in my wireless card, it complains
that there are no resources allocated to the card.  This all worked in
2.6.12.

Looking at the code in yenta_socket.c, function yenta_allocate_res,
it's obvious what is wrong: if we get to line 639 (i.e. there wasn't a
usable preassigned resource), we will always flow through to line 668,
which is the printk that I was seeing, even if a resource was
successfully allocated.  It looks to me as though there should be a
return statement after the two config_writel's in each of the 3
branches of the if statements, so that the function returns after
successfully setting up the resource.

The patch below adds these return statements, and with this patch,
cardbus works on my powerbook once again.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-02 08:28:48 -07:00
Dominik Brodowski
5d546f5432 [PATCH] pcmcia: fix multiple insertion of multifunction cards
The ordering of setting and clearing device_add_pending went wrong on some
occasions, causing multifunction cards only to be handled correctly on the
first insertion, not on subsequent ones.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-01 10:03:56 -07:00
Linus Torvalds
889371f61f Revert "yenta free_irq on suspend"
ACPI is wrong.  Devices should not release their IRQ's on suspend and
re-aquire them on resume.  ACPI should just re-init the IRQ controller
instead of breaking most drivers very subtly.

Breakage reported by Hugh Dickins <hugh@veritas.com>

Undo: d8c4b4195c

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-30 13:41:56 -07:00
Daniel Ritz
eaaf9c68e7 [PATCH] pcmcia: disable read prefetch/write burst on old O2Micro bridges
Older O2Micro bridges have problems with both read prefetch and write burst
depending on the combination of the chipset, bridge, cardbus card.  safest is
to disable read prefetch and write burst on those old bridges.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-28 08:39:01 -07:00