Commit Graph

921 Commits

Author SHA1 Message Date
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
Daniel Ritz d8c4b4195c [PATCH] yenta: free_irq() on suspend.
Resume doesn't seem to work without.

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
Dominik Brodowski a1b274fbe3 [PATCH] pcmcia: fix sharing IRQs and request_irq without IRQ_HANDLE_PRESENT
Debugging and description from: Noah Misch <noah@cs.caltech.edu>

When a driver calls pcmcia_request_irq with IRQ_HANDLE_PRESENT unset, it looks
for an open IRQ by request_irq()ing with a dummy handler and NULL dev_info.
free_irq uses dev_info as a key for identifying the handler to free among
those sharing an IRQ, so request_irq returns -EINVAL if dev_info is NULL and
the IRQ may be shared.  That unknown error code is the -EINVAL.

It looks like only pcnet_cs and axnet_cs are affected.  Most other drivers let
pcmcia_request_irq install their interrupt handlers.  sym53c500_cs requests
its IRQ manually, but it cannot share an IRQ.

The appended patch changes pcmcia_request_irq to pass an arbitrary, unique,
non-NULL dev_info with the dummy handler.

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
Dominik Brodowski 2e5a3e7909 [PATCH] pcmcia: avoid duble iounmap of one address
Avoid double iounmap of one address, and disable cis_virt if set_mem_map
failed.

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:00 -07:00
Dominik Brodowski dc33a4a36c [PATCH] pcmcia: update au1000 to work with recent changes
Get the au1000 PCMCIA socket drivers to work.

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:00 -07:00
Pavel Roskin ba5bb6b584 [PATCH] pcmcia: fix comment
There are two problems with the message about missing callback functions: it's
not written in correct English and it lacks newline at the end.

Signed-off-by: Pavel Roskin <proski@gnu.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-07-28 08:38:59 -07:00
Michael Gernoth 821ca47886 [PATCH] ARM: 2830/1: Fix Jornada 720 PCMCIA-support
Patch from Michael Gernoth

This patch lets the Jornada 720 PCMCIA-driver compile again. The
resulting driver has been tested on a Jornada with a CF-card, which
was mounted and accessed successfully.

Signed-off-by: Michael Gernoth <michael@gernoth.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-07-26 19:21:47 +01:00
Linus Torvalds 3f603ed319 Merge master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-2.6 2005-07-12 16:04:50 -07:00
Dominik Brodowski eb0a90b497 [PATCH] yenta: allocate resource fixes
The current CardBus window allocation code in yenta_socket is unable to handle
the transparent PCI-bridge handling update in 2.6.13.  We need to check _all_
resources of a given type to find the best one suitable for CardBus windows,
not just the first one.

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-12 16:01:00 -07:00
Dominik Brodowski 278798357d [PATCH] yenta: same resources in same structs
drivers/pci/setup-bus.c enumerates the CardBus windows (bus->resources[])

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-12 16:01:00 -07:00
Dominik Brodowski 862104e563 [PATCH] yenta: fix parent resource determination
If the CardBus windows were pre-configured and the CardBus bridge is behind a
transparent PCI-PCI bridge, pci_find_parent_resource() might return a
different resource than the real parent if it is called before the window is
determined.  Therefore, move that call around.

Also fix return of value in void function.

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-12 16:00:59 -07:00
Len Brown 5028770a42 [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...
Signed-off-by: Len Brown <len.brown@intel.com>
2005-07-12 17:21:56 -04:00
David Shaohua Li d58da59045 [ACPI] S3 Suspend to RAM: fix driver suspend/resume methods
Drivers should do this:

.suspend()
	pci_disable_device()

.resume()
	pci_enable_device()

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

Signed-off-by: David Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2005-07-11 23:23:46 -04:00
Dominik Brodowski 89b39f5d8d [PATCH] yenta: don't depend on CardBus
As a follow-up, we can allow the yenta-driver to be limited to PCMCIA
operation.

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-07 18:24:07 -07:00
Russell King 5bc6b68a10 [PATCH] yenta: no CardBus if IRQ fails
If probing for the correct interrupt fails on yenta bridges, the driver falls
back to polling for interrupt actions.  However, CardBus cards cannot be used
then.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
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-07 18:24:07 -07:00
Dominik Brodowski 44670d2b50 [PATCH] pcmcia: remove references to pcmcia/version.h
As a follow-up, remove the inclusion of pcmcia/version.h in many files.

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-07 18:24:07 -07:00
Pavel Roskin a00db1ba7c [PATCH] pcmcia: remove client services version
The Linux PCMCIA code has some data that was apparently used (or meant to be
used) to ensure that only proper client drivers are loaded.  This is now
ensured (to a certain degree) by the fact that the most client drivers are
part of the kernel.  Also, the version information has not been updated
despite major changes in PCMCIA API.  This has made it meaningless.

This patch removes servinfo_t and pcmcia_get_card_services_info.  They are not
used in any userspace utilities such as pcmcia-cs and pcmciautils.
drivers/pcmcia/pcmcia_ioctl.c is adjusted accordingly.

CS_RELEASE and CS_RELEASE_CODE are removed.  include/pcmcia/version.h is empty
now.  It will be removed later, but for now it's left in the tree to avoid
touching all PCMCIA clients.

The only driver that needs to be changed is drivers/scsi/pcmcia/nsp_cs.c,
which uses CS_RELEASE_CODE.

Signed-off-by: Pavel Roskin <proski@gnu.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-07-07 18:24:06 -07:00
Dominik Brodowski 2bc5a9bdc5 [PATCH] pcmcia: reduce client_handle_t usage
Reduce the occurences of "client_handle_t" which is nothing else than a
pointer to struct pcmcia_device by now.

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-07 18:24:06 -07:00
Dominik Brodowski e12a9a93a8 [PATCH] pcmcia: remove client_t usage
Reduce the occurences of "client_handle_t" which is nothing else than a
pointer to struct pcmcia_device by now.

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-07 18:24:06 -07:00
Dominik Brodowski 1e212f3645 [PATCH] pcmcia: move event handler
Move the "event handler" to struct pcmcia_driver -- the unified event handler
will disappear really soon, but switching it to struct pcmcia_driver in the
meantime allows for better "step-by-step" patches.

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-07 18:24:05 -07:00
Dominik Brodowski bf45d9b0ac [PATCH] pcmcia: deprecate ioctl
Schedule removal of the PCMCIA ioctl (and thus kernel support for the
pcmcia-cs userspace package) for November 2005.

A big "thank you" to Dave Hinds for his great work on supporting PCMCIA in
Linux.  Things are just done differently by now, so the ongoing work to make
PCMCIA behave like any other hotpluggable bus should continue.

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-07 18:24:04 -07:00
Ian Campbell 69a4d56bae [PATCH] pcmcia: fix i82365 request_region double usage
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f354942cb301fed273f423fb5c4f57bde3efc5b2
converted the check_region() calls in drivers/pcmcia/i82365.c into
request_regions.  Unfortunately this seems to have broken things.

isa_probe() used to call check_region() and then call add_pcic() which would
request_region().

Now isa_probe() calls request_region() and then calls add_pcic() which calls
request_region() again, this fails and add_pcic() returns immediately without
doing all the setup etc.

On the face of it the patch below fixes the problem, by not doing the second
request region in add_pcic().  I think this is preferable to remove the call
in isa_probe() since identify() touches the I/O regions and is called before
add_pcic().

However I haven't fully grokked the meaning of the code which follows the
request_region() in isa_probe(), so I'm not sure that the handling WRT
multiple sockets and multiple bridge chips is correct.  In particular I'm not
convinced that the regions for subsequent sockets and/or bridges will be
requested at all.  I suspect a more thorough reworking by someone who
understands what is going on there might be in order.

I should mention that I'm actually messing about with this on an ARM platform
with wacky memory and i/o mapping offsets etc, it doesn't quite work yet for
other reasons which preclude full testing etc, but I think the problem above
is still present for more normal x86 stuff.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
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-07 18:24:04 -07:00
Dominik Brodowski 3704511b2e [PATCH] pcmcia: fix modalias attribute in sysfs
Fix up PCMCIA modalias file in sysfs

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-06-30 08:45:08 -07:00
Dominik Brodowski b6d00f0de9 [PATCH] ACPI-based PCI resources: PCMCIA bugfix, but resources missing in trees
Don't auto-configure yenta sockets for PCMCIA devices if it is connected to
the root PCI bus on the x86 or x86_64 architectures.  Previously, this was
handled by the "ioport_resource"/"iomem_resource" check a few lines below,
but with the new ACPI-based resource handling this doesn't catch all cases
any longer.

pci-yenta-cardbus-fix.patch and this patch should solve the initialization
time trouble.  However, the ACPI-based PCI resource handling is badly
broken, IMHO:

- many resources of devices don't show up in the resource trees (
  /proc/iomem and /proc/ioports) any longer. This means that PCMCIA, but
  also possibly other subsystems (ISA, PnP, ...) do not know which resources
  it cannot use.

- verify_root_windows() should fail if there are no iomem _or_ ioport
  resources, not only if there are no iomem _and_ ioport resources.

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-06-27 18:03:22 -07:00
Dominik Brodowski 3248ff43f8 [PATCH] pcmcia: export modalias in sysfs
Provide a "modalias" entry in sysfs for PCMCIA devices.

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-06-27 18:03:22 -07:00
Dominik Brodowski 57b6281cea [PATCH] pcmcia: 8 and 16 bit access for static_map
The PCMCIA card services layer is never setting the i/o map attributes when
SS_CAP_STATIC_MAP is specified.  Net result, sockets' set_io_map() calls
always see requests with most flags clear, meaning 8 bit access.

For hardware that always autosizes, that won't matter; and all current
STATIC_MAP drivers ignore those attributes.  A new driver (for at91rm9200)
suffers badly from this, since this forces everything into 8 bit mode and
that breaks both (a) cards requiring 16 bit access, and (b) ide-cs; but of
course 8-bit cards work OK (as does accessing card attributes).

So this patch arranges to pass the attributes down, matching the behavior
for non-static mappings (using the first/only I/O window).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:22 -07:00
Dominik Brodowski 1a8ceafce5 [PATCH] pcmcia: properly handle all errors of register_chrdev
register_chrdev() can return errors (negative) other then -EBUSY, so check
for any negative error code.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.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-06-27 18:03:22 -07:00
Dominik Brodowski 2ad0a0a793 [PATCH] pcmcia: resource handling fixes
- properly bail out in set_cis_map if call to socket driver's set_mem_map
  failed
- don't abort do_mem_probe cycle if one entry failed (!CONFIG_PCMCIA_PROBE)
- don't do iomem probing in chunks larger than 0x800000 (1 << 23) as
  yenta_socket and vrc4173_cardu.c fail to set_mem_map for windows equal to
  or larger than (1 << 24).

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-06-27 18:03:21 -07:00
Dominik Brodowski f861bd2307 [PATCH] pcmcia: select crc32 in Kconfig for PCMCIA
PCMCIA needs CRC32.

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-06-27 18:03:21 -07:00
Dominik Brodowski f354942cb3 [PATCH] pcmcia: use request_region in i82365
randy_dunlap <rdunlap@xenotime.net>

Convert deprecated check_region() calls to request/release region.
Add return value check on one request_region().

I suspect that it may do an extra release_region(), which should
generate a warning message from the kernel.

Signed-off-by: randy_dunlap <rdunlap@xenotime.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-06-27 18:03:21 -07:00
Dominik Brodowski 378a33a686 [PATCH] pcmcia: release_class
Properly wait for the class refcount to reach zero.

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-06-27 18:03:20 -07:00
Dominik Brodowski 3448139b41 [PATCH] pcmcia: ds.c cleanup
Clean up ds.c

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-06-27 18:03:20 -07:00
Dominik Brodowski 33519ddd43 [PATCH] pcmcia: cs.c cleanup
Clean up cs.c

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-06-27 18:03:20 -07:00
Dominik Brodowski 1a8d46631e [PATCH] pcmcia: move pcmcia resource handling out of cs.c
Move the 16-bit PCMICA resource handling from pcmcia_core.o to pcmcia.o.

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-06-27 18:03:20 -07:00
Dominik Brodowski e6ea0b9ec5 [PATCH] pcmcia: rename some functions
Rename some functions in drivers/pcmcia/ to show they belong to the PCMCIA
subsystem.

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-06-27 18:03:19 -07:00
Dominik Brodowski 3b659fb862 [PATCH] pcmcia: remove unneeded includes in ds.c
Remove unnecessary includes in ds.c and pcmcia_ioctl.c

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-06-27 18:03:19 -07:00
Dominik Brodowski dc109497bd [PATCH] pcmcia: merge struct pcmcia_bus_socket into struct pcmcia_socket
Merge struct pcmcia_bus_socket into struct pcmcia_socket.

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-06-27 18:03:19 -07:00
Dominik Brodowski b5e43913cf [PATCH] pcmcia: make PCMCIA status a bitfield
make pcmcia_bus_socket->state a bitfield, and rename it pcmcia_state to
prepare for struct pcmcia_bus_socket integration into struct pcmcia_socket.

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-06-27 18:03:19 -07:00
Dominik Brodowski 90c6cdd1fa [PATCH] pcmcia: clean up cs ds callback
struct pcmcia_callback isn't needed for each socket, one is enough for all
sockets.

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-06-27 18:03:19 -07:00
Dominik Brodowski e7a480d229 [PATCH] pcmcia: move PCMCIA ioctl to a separate file
Move all PCMCIA_IOCTL-related code to a different file.

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

From: Richard Purdie <rpurdie@rpsys.net>

The pcmcia-move-pcmcia-ioctl-to-a-separate-file patch was corrupted in -mm2
causing this problem.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:18 -07:00
Dominik Brodowski 9a5555b81f [PATCH] pcmcia: add a config option for the PCMICA ioctl
Add a new config option to control the building of the PCMCIA IOCTL. Currently,
it is not yet made public, though the help text is there already.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowksi.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:18 -07:00
Dominik Brodowski 3c29976a64 [PATCH] pcmcia: mark parent bridge windows as resources available for PCMCIA devices
Automatically mark the parent PCI-PCI bridge windows as resources available
for PCMCIA usage.

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-06-27 18:03:18 -07:00
Dominik Brodowski 22916638b1 [PATCH] pcmcia: update resource database adjust routines to use unsigned long values
Make adjust_io and adjust_memory independent of adjust_t to allow for IO
resources > x86's IO_SPACE_LIMIT.

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-06-27 18:03:18 -07:00
Dominik Brodowski 5085cb2650 [PATCH] pcmcia: add some Documentation
Add some information useful for PCMCIA device driver authors to
Documentation/pcmcia/, and reference it in dmesg in case of hash mismatches.

Also add a reference to pcmciautils to Documentation/Changes.  With recent
changes, you don't need to concern yourself with pcmcia-cs even if you have
PCMCIA hardware, so the example above the list needed to be adapted as well.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowksi.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:18 -07:00
Dominik Brodowski e2f0b53441 [PATCH] pcmcia: rescan bus always upon echoing into setup_done
Always rescan the devices upon echo'ing something to
available_resources_setup_done.  This is needed for proper "coldplug" support.

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-06-27 18:03:08 -07:00
Dominik Brodowski e94e15f705 [PATCH] pcmcia: cleanups
From: Adrian Bunk <bunk@stusta.de>

This patch contains the following cleanups:
- make needlessly global code static
- remove the following unneeded EXPORT_SYMBOL's:
  - ds.c: pcmcia_report_error
  - ds.c: pcmcia_bus_type

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:08 -07:00
Dominik Brodowski daa9517d9e [PATCH] pcmcia: request CIS via firmware interface
Use the firmware method to load replacement CIS tables.  It is recommended
that the /lib/firmware/cis/ points to /etc/pcmcia/cis or the other way round
so that both old-style cardmgr and new-style hotplug/firmware can access these
"overwrite" files

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-06-27 18:03:08 -07:00
Dominik Brodowski a5b5577898 [PATCH] pcmcia: allow function-ID based match
The "func_id"-based matching is very fuzzy and can lead to false positives.
Therefore, it should be tried to avoid relying on these matches.  Until
most/all existing func_id-based matches are replaced by
manf_id/card_id/prod_id matches (a patch which will ask to send the
appropriate card information to the PCMCIA mailing list will be added once
other, more pressing issues are adressed), we need to emulate cardmgr
behaviour by allowing func_id matches if no manf_id/card_id/prod_id match
occurs.  This can only be done in userspace because of modules possibly loaded
with long delays.  So, add a per-device sysfs file for this purpose.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:07 -07:00
Dominik Brodowski f602ff7eb4 [PATCH] pcmcia: match "anonymous" cards
If a card doesn't provide _any_ information about itself, assume it is a
so-called "anonymous" card.  pcmciamtd will bind to it if it is configured to
do so.

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-06-27 18:03:07 -07:00
Dominik Brodowski ff1fa9ef3c [PATCH] pcmcia: CIS overrid via sysfs
The one thing which surprises me in this patch that cis->Length needs to be
set to count+1.  Without it, it doesn't work, but with it, it doesn't make
sense to me.

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-06-27 18:03:07 -07:00
Dominik Brodowski 7f299bccb4 [PATCH] pcmcia: export CIS in sysfs
Export the CIS to userspace using a sysfs binary file in
/sys/class/pcmcia_socket/pcmcia_scoket%n/

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-06-27 18:03:07 -07:00
Dominik Brodowski ea7b38825b [PATCH] pcmcia: match for fake CIS
Add another match flag for devices needing a CIS override.  The driver will
only probe/attach if the CIS has been replaced before.

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-06-27 18:03:06 -07:00
Dominik Brodowski 23a83bfe6a [PATCH] pcmcia: check for invalid crc32 hashes in id_tables
Check for invalid crc32 hashes in drivers' id_tables if CONFIG_PCMCIA_DEBUG is
set.

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-06-27 18:03:06 -07:00
Dominik Brodowski 1ad275e3e7 [PATCH] pcmcia: device and driver matching
The actual matching of pcmcia drivers and pcmcia devices.  The original
version of this was written by David Woodhouse.

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-06-27 18:03:06 -07:00
Dominik Brodowski 3ee1393752 [PATCH] pcmcia: hotplug event for PCMCIA socket devices
Generate hotplug event for PCMCIA sockets being registered.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:06 -07:00
Dominik Brodowski 840c2ac5d3 [PATCH] pcmcia: hotplug event for PCMCIA devices
Export information to /sbin/hotplug for PCMCIA devices: card_id, manf_id,
func_id, bus_id (like pcmcia1.0) and crc32-hashes of the prod_id strings.

Why not the prod_id strings themselves?

a) They may contain all sorts of strange and difficult to handle characters,
   like " ".

b) It's impossible to pass multiple strings to userspace.

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-06-27 18:03:05 -07:00
Ivan Kokshaysky 7925407aa0 [PATCH] pci: yenta cardbus fix
On Mon, Jun 20, 2005 at 07:15:34PM +1000, Grant Coady wrote:
> Yenta: CardBus bridge found at 0000:00:0b.0 [1179:0001]
> yenta 0000:00:0b.0: Preassigned resource 0 busy, reconfiguring...

In -mm1 the cardbus resources might be assigned in
pci_assign_unassigned_resources() pass. From your dmesg:
PCI: Bus 2, cardbus bridge: 0000:00:0b.0
  IO window: 00002000-00002fff
  IO window: 00003000-00003fff
  PREFETCH window: 12000000-13ffffff
  MEM window: 14000000-15ffffff

Then yenta_allocate_res() tries to assign these resources again and,
naturally, fails.

This adds check for already assigned cardbus resources.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-27 18:03:05 -07:00
Christoph Lameter 3e1d1d28d9 [PATCH] Cleanup patch for process freezing
1. Establish a simple API for process freezing defined in linux/include/sched.h:

   frozen(process)		Check for frozen process
   freezing(process)		Check if a process is being frozen
   freeze(process)		Tell a process to freeze (go to refrigerator)
   thaw_process(process)	Restart process
   frozen_process(process)	Process is frozen now

2. Remove all references to PF_FREEZE and PF_FROZEN from all
   kernel sources except sched.h

3. Fix numerous locations where try_to_freeze is manually done by a driver

4. Remove the argument that is no longer necessary from two function calls.

5. Some whitespace cleanup

6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
   cleared before setting PF_FROZEN, recalc_sigpending does not check
   PF_FROZEN).

This patch does not address the problem of freeze_processes() violating the rule
that a task may only modify its own flags by setting PF_FREEZE. This is not clean
in an SMP environment. freeze(process) is therefore not SMP safe!

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 17:10:13 -07:00
Daniel Ritz fa912bcb06 [PATCH] yenta TI: turn off interrupts during card power-on #2
- make boot-up card recognition more reliable (ie.  redo interrogation
  always if there is no valid 'card inserted' state) (and yes, i saw it
  happening on an o2micro controller that both CB_CBARD and CB_16BITCARD
  bits were set at the same time)

- also redo interrogation before probing the ISA interrupts.  it's safer
  to do the probing with the socket in a clean state.

- make card insert detect more reliable.  yenta_get_status() now returns
  SS_PENDING as long as the card is not completley inserted and one of the
  voltage bits is set.  also !CB_CBARD doesn't mean CB_16BITCARD.  there is
  CB_NOTACARD as well, so make an explicit check for CB_16BITCARD.

- for TI bridges: disable IRQs during power-on.  in all-serial and tied
  interrupt mode the interrupts are always disabled for single-slot
  controllers.  for two-slot contollers the disabling is only done when the
  other slot is empty.  to force disabling there is a new module parameter
  now: pwr_irqs_off=Y (which is a regression for working setups.  that's
  why it's an option, only use when required)

- modparm to disable ISA interrupt probing (isa_probe, defaults to on)

- remove unneeded code/cleanups (ie.  merge yenta_events() into
  yenta_interrupts())

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-06-23 09:45:31 -07:00
Hirokazu Takata 934bb7f88e [PATCH] m32r: Update m32r_cfc.[ch] to support Mappi-III platform
This patch is for the M32R CF/PCMCIA drivers to support a new platform,
Mappi-III evaluation board.

Signed-off-by: Mamoru Sakugawa <sakugawa@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 19:07:30 -07:00
Yani Ioannou e404e274f6 [PATCH] Driver Core: drivers/i2c/chips/w83781d.c - drivers/s390/block/dcssblk.c: update device attribute callbacks
Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-20 15:15:34 -07:00
Randy Dunlap afbf510d47 [PATCH] pcmcia/ds: handle any error code
register_chrdev() can return errors (negative) other then -EBUSY, so check
for any negative error code.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-17 07:59:21 -07:00
Daniel Ritz c835a38896 [PATCH] pcmcia: yenta TI: align irq of func1 to func0 if INTRTIE is set
Make sure that if the INTRTIE bit is set both functions of the cardbus
bridge use the same IRQ before doing any probing...

[ yes i hate the TI bridges for the fact that they are very flexible
  so that so many BIOS vendors get it wrong. ]

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-05-05 16:36:43 -07:00
Dominik Brodowski c35e66a421 [PATCH] pcmcia: enable 32-bit memory windows on pd6729
Enable 32-bit memory windows on pd6729 PCI-PCMCIA bridges.

Signed-off-by: Jarkko Raja <jar@pcuf.fi>
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-05-05 16:36:43 -07:00
Pavel Machek 8bf28030f3 [PATCH] fix u32 vs. pm_message_t in pcmcia
This fixes u32 vs. pm_message_t in pcmcia.

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-04-16 15:25:26 -07:00
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00