29 Sep, 2010
1 commit
-
pcmcia_enable_device() now replaces pcmcia_request_configuration().
Instead of config_req_t, all necessary flags are either passed as
a parameter to pcmcia_enable_device(), or (in rare circumstances)
set in struct pcmcia_device -> flags.With the last remaining user of include/pcmcia/cs.h gone, remove
all references.CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-ide@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: laforge@gnumonks.org
CC: linux-mtd@lists.infradead.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Jiri Kosina
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski
31 Jul, 2010
3 commits
-
Remove cs_types.h which is no longer needed: Most definitions aren't
used at all, a few can be made away with, and two remaining definitions
(typedefs, unfortunatley) may be moved to more specific places.CC: linux-ide@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: laforge@gnumonks.org
CC: linux-mtd@lists.infradead.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
Acked-by: Marcel Holtmann (for drivers/bluetooth/)
Acked-by: David S. Miller
Signed-off-by: Dominik Brodowski -
As we only provide one way to set up resources now, we can remove
the resource-setup-related bitfield (except resource_setup_done).
In addition, pcmcia_state only consisted of one entry, so remove
this bitfield as well.Suggested-by: Komuro
Signed-off-by: Dominik Brodowski -
Signed-off-by: Dominik Brodowski
10 May, 2010
1 commit
-
As we don't need the "Config" counter any more, we can simplify
struct pcmcia_socket.Signed-off-by: Dominik Brodowski
21 Apr, 2010
1 commit
-
pcmcia_dev_present is in and by itself buggy. Add a note specifying
why it is broken, and replace the broken locking -- taking a mutex
is a bad idea in IRQ context, from which this function is rarely
called -- by an atomic_t.Signed-off-by: Dominik Brodowski
24 Mar, 2010
1 commit
-
Instead of requiring PCMCIA socket drivers to call various functions
during their (bus) resume and suspend functions, register an own
dev_pm_ops for this class. This fixes several suspend/resume bugs
seen on db1xxx-ss, and probably on some other socket drivers, too.With regard to the asymmetry with only _noirq suspend, but split up
resume, please see bug 14334 and commit 9905d1b411946fb3 .Signed-off-by: Dominik Brodowski
18 Feb, 2010
6 commits
-
The requery callback now also handles the addition of a second pseudo
multifunction device. Avoids messing with dev_{g,s}et_drvdata(), and
fixes any workqueue skt_mutex deadlock.Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
This avoids any sysfs-related deadlock (or lockdep warning), such
as reported at http://lkml.org/lkml/2010/1/17/88 .Reported-by: Ming Lei
Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
replace pcmcia_socket->lock and pcmcia_dev_list_lock by using the
per-socket "ops_mutex", as we do neither need different locks
nor a spinlock here.Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
Protect the pccard_operations callback "set_mem_map" by a new
mutex ops_mutex. This mutex also protects the following values
in struct pcmcia_socket:pccard_mem_map win[]
pccard_mem_map cis_mem
void __iomem *cis_virtTested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
If only CardBus cards are used, but not PCMCIA cards, we do not need
the extensive resource management functions provided for by
rsrc_nonstatic.c (~240K).Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
The socket driver m8xx_pcmcia.c uses a static memory assignment,
but io_offset is set to 0. Therefore, it seems proper to use the
iodyn resource manager for this driver, as was previously the
case (before commit 80128ff79d282cf71b1819dbca9b8dd47d8ed3e8).CC: Vitaly Bordug
CC: Arnd Bergmann
CC: Olof Johansson
Signed-off-by: Dominik Brodowski
18 Jan, 2010
2 commits
-
At least no in-kernel CardBus-capable PCI driver makes use of the CIS
access functions. Therefore, it seems sensible to remove this unused
code, and cleanup cardbus.c a lot.CC: Jesse Barnes
CC: Linus Torvalds
Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski -
During a suspend/resume cycle, an user may change the card in the
PCMCIA/CardBus slot. The pcmcia_core can at least look at the
socket state to check whether it is the same.For PCMCIA devices, move the detection and handling of such a
change to ds.c.For CardBus devices, the PCI hotplug interface doesn't offer a "rescan"
facility which also _removes_ devices no longer to be found behind a
bridge. Therefore, remove and re-add all devices unconditionally.CC: Jesse Barnes
CC: Linus Torvalds
Tested-by: Wolfram Sang
Signed-off-by: Dominik Brodowski
08 Dec, 2009
1 commit
-
Fix several CodingStyle issues in drivers/pcmcia/ . checkpatch.pl no longer
reports errors in the PCMCIA core. The remaining warnings mostly relate to
wrong indent -- PCMCIA historically used 4 spaces --, to lines over 80
characters and to hundreds of typedefs. The cleanup of those will follow
in the future.Signed-off-by: Dominik Brodowski
06 Dec, 2009
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (50 commits)
pcmcia: rework the irq_req_t typedef
pcmcia: remove deprecated handle_to_dev() macro
pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer
pcmcia: remove unused "window_t" typedef
pcmcia: move some window-related code to pcmcia_ioctl.c
pcmcia: Change window_handle_t logic to unsigned long
pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page()
pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()
pcmcia: Pass struct pcmcia_device to pcmcia_release_window()
drivers/pcmcia: remove unnecessary kzalloc
pcmcia: correct handling for Zoomed Video registers in topic.h
pcmcia: fix printk formats
pcmcia: autoload module pcmcia
pcmcia/staging: update comedi drivers
PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket
PCMCIA: ss: allow PCI IRQs > 255
PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket
PCMCIA: soc_common: constify soc_pcmcia_socket ops member
PCMCIA: sa1111: remove duplicated initializers
PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data
...
29 Nov, 2009
2 commits
-
Signed-off-by: Dominik Brodowski
-
Logic changes based on top of the other patches:
This set of patches changed window_handle_t from being a pointer to an
unsigned long. The unsigned long is now a simple index into socket->win[].
Going from a pointer to unsigned long should leave the user space interface
unchanged unless I'm mistaken.This change results in code that is less error prone and a user space
interface which is much cleaner and safer. A nice side effect is that we
are also are able to remove all members except one from window_t.[ linux@dominikbrodowski.net:
Update to 2.6.31. Also, a plain "index" to socket->win[] does not
work, as several codepaths rely on "window_handle_t" being
non-zero if used. Therefore, set the window_handle_t to the
socket->win[] index + 1. ]CC: netdev@vger.kernel.org
Signed-off-by: Magnus Damm
Signed-off-by: Dominik Brodowski
09 Nov, 2009
1 commit
-
Signed-off-by: Russell King
Signed-off-by: Dominik Brodowski
03 Nov, 2009
1 commit
-
Commit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c
(PM / yenta: Fix cardbus suspend/resume regression) caused resume to
fail on systems with two CardBus bridges. While the exact nature
of the failure is not known at the moment, it can be worked around by
splitting the yenta resume into an early part, executed during the
early phase of resume, that will only resume the socket and power it
up if there was a card in it during suspend, and a late part,
executed during "regular" resume, that will carry out all of the
remaining yenta resume operations.Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14334, which is a
listed regression from 2.6.31.Signed-off-by: Rafael J. Wysocki
Acked-by: Dominik Brodowski
Reported-by: Stephen J. Gowdy
Tested-by: Jose Marino
29 Sep, 2009
1 commit
-
pcmcia_socket_dev_suspend() doesn't use its second argument, so it
may be dropped safely.This change is necessary for the subsequent yenta suspend/resume fix.
Signed-off-by: Rafael J. Wysocki
Cc: stable@kernel.org
16 Sep, 2009
1 commit
-
Physical addresses are currently represented as int or long types.
However, this does not work for processors like the PPC440EPx, which
is a 32-bit processor with a 36-bit address space. This patch uses
the phys_addr_t type, which correctly holds a 36-bit address on
this processor.Signed-off-by: Steven A. Falco
Signed-off-by: Wolfram Sang
Signed-off-by: Greg Kroah-Hartman
26 Aug, 2008
1 commit
-
The header file for use by (in-kernel) PCMCIA sockets deserved a major
cleanup. Some stuff only used by the pcmcia core modules was moved to
cs_internal.hSigned-off-by: Dominik Brodowski
03 Aug, 2008
1 commit
-
Instead of copying CIS override data in socket_sysfs.c or ds.c, and then again
in cistpl.c, only do so once. Also, cisdump_t is now only used by the
deprecated ioctl.Signed-off-by: Dominik Brodowski
24 Jun, 2008
3 commits
-
The code in include/pcmcia/bulkmem.h was only kept for compatibility reasons.
Therefore, move the remaining region_info_t definition to ds.h[linux@dominikbrodowski.net: do not modify the IOCTL, move definition to
ds.h, and update changelog]
Signed-off-by: Magnus Damm
Signed-off-by: Dominik Brodowski -
Let pcmcia_ioctl interact with rsrc_nonstatic using functions which
rsrc_nonstatic.c has to use anyway.Signed-off-by: Dominik Brodowski
-
There is not reason to have a waitqueue if it's always the same
thread that is waiting for it. Just use wake_up_process instead.Signed-off-by: Christoph Hellwig
Small modification: Also remove unused variable.
Signed-off-by: Dominik Brodowski
06 Feb, 2008
1 commit
-
Remove kio_addr_t, and replace it with unsigned int. No known architecture
needs more than 32 bits for IO addresses and ports and having a separate type
for it is just messy.Signed-off-by: Olof Johansson
Cc: Christoph Hellwig
Cc: Matthew Wilcox
Cc: Alan Cox
Cc: Dominik Brodowski
Cc: Benjamin Herrenschmidt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
08 Feb, 2007
1 commit
-
Converts from using struct "class_device" to "struct device" making
everything show up properly in /sys/devices/ with symlinks from the
/sys/class directory.Cc:
Signed-off-by: Greg Kroah-Hartman
05 Dec, 2006
1 commit
-
s->functions needs to be initialized earlier, for the "let's see
how high it increases" approach means that pcmcia_request_irq()
(which makes use of this value) is confused, and might request
an exclusive IRQ first even though it is not supposed to.Also, a CIS override autoloaded using the firmware loader may
allow for the use of more or less functions in a multifunction
card. Therefore, we may need to schedule a call to add this
second function later on, or simply remove the other function
(it's always the first -valid- function which reaches this
codepath).Many thanks to Fabrice Bellet for debugging and testing patches.
Signed-off-by: Dominik Brodowski
26 Apr, 2006
1 commit
-
Signed-off-by: David Woodhouse
01 Apr, 2006
1 commit
-
Apparently the pccard_iodyn_ops declaration has been forgotten, which
results in a compilation error for m8xx_pcmcia.cSigned-off-by: Marcelo Tosatti
Signed-off-by: Dominik Brodowski
31 Mar, 2006
4 commits
-
dev_link_t * and client_handle_t both mean struct pcmcai_device * by now.
Therefore, remove all such indirections.Signed-off-by: Dominik Brodowski
-
BasePort, NumPorts and Attributes are or can be embedded in
struct resource, so remove them.Signed-off-by: Dominik Brodowski
-
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
-
Handle config_t structs independent of struct pcmcia_socket, and add
reference counting for them.Signed-off-by: Dominik Brodowski
06 Jan, 2006
3 commits
-
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
-
The .get_socket callback is never used by the PCMCIA core, therefore remove
it.Signed-off-by: Dominik Brodowski
-
Remove the register_callback declaration in struct pccard_operations as it is
unused.Signed-off-by: Dominik Brodowski