aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/ds.c
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] pcmcia: fix pcmcia_device_remove oopsHugh Dickins2006-03-311-1/+1
| | | | | | | Fix pcmcia_device_remove NULL pointer dereference at shutdown. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: pseudo device handling updateDominik Brodowski2006-03-311-33/+48
| | | | | | | | If the driver for the primary pseudo device is removed from the device, the secondary driver must be removed as well -- it cannot exist on its own. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: convert DEV_OK to pcmcia_dev_presentDominik Brodowski2006-03-311-0/+27
| | | | | | | Instead of the DEV_OK macro, drivers should use pcmcia_dev_present(). Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: use bitfield instead of p_state and stateDominik Brodowski2006-03-311-22/+19
| | | | | | | | | | Instead of the two status values struct pcmcia_device->p_state and state, use descriptive bitfields. Most value-checking in drivers was invalid, as the core now only calls the ->remove() (a.k.a. detach) function in case the attachement _and_ configuration was successful. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: remove unused p_dev->state flagsDominik Brodowski2006-03-311-23/+25
| | | | | | | | Remove the unused DEV_RELEASE_PENDING flag, and move the DEV_SUSPEND flag into the p_dev structure, and make use of it at the core level. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: remove dev_link_t and client_handle_t indirectionDominik Brodowski2006-03-311-1/+0
| | | | | | | dev_link_t * and client_handle_t both mean struct pcmcai_device * by now. Therefore, remove all such indirections. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: embed dev_link_t into struct pcmcia_deviceDominik Brodowski2006-03-311-11/+8
| | | | | | | | | Embed dev_link_t into struct pcmcia_device(), as they basically address the same entity. The actual contents of dev_link_t will be cleaned up step by step. This patch includes a bugfix from and signed-off-by Andrew Morton. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: rename pcmcia_device.stateDominik Brodowski2006-03-311-6/+6
| | | | | | | | | Rename pcmcia_device.state (which is used in very few places) to p_state in order to avoid a namespace collision when moving the deprecated dev_link_t into struct pcmcia_device Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: default suspend and resume handlingDominik Brodowski2006-03-311-4/+26
| | | | | | | | | | In all but one case, the suspend and resume functions of PCMCIA drivers contain mostly of calls to pcmcia_release_configuration() and pcmcia_request_configuration(). Therefore, move this code out of the drivers and into the core. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: socket.functions starts with 1Dominik Brodowski2006-03-311-2/+2
| | | | | | | | 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>
* [PATCH] pcmcia: size reduction if ioctl isn't compiledDominik Brodowski2006-03-311-0/+2
| | | | | | | | 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>
* [PATCH] pcmcia: remove include of config.hDominik Brodowski2006-03-311-1/+0
| | | | | | | Remove the inclusion of include/config.h as it isn't needed any longer. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: use mutexes instead of semaphoresDominik Brodowski2006-03-311-7/+7
| | | | | | | | 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>
* [PATCH] pcmcia: make config_t independent, add reference countingDominik Brodowski2006-03-311-27/+43
| | | | | | | | Handle config_t structs independent of struct pcmcia_socket, and add reference counting for them. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: access config_t using pointer instead of arrayDominik Brodowski2006-03-311-0/+1
| | | | | | | | | 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>
* [PATCH] pcmcia: permit single-character identifiersJanos Farkas2006-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [PATCH] fix pcmcia_device_probe oopsHugh Dickins2006-03-101-1/+1
| | | | | | | 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>
* [PATCH] pcmcia: properly handle pseudo multi-function devicesDominik Brodowski2006-03-011-18/+22
| | | | | | | | 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
* [PATCH] Add pcmcia_bus_type probe and remove methodsRussell King2006-01-131-2/+2
| | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] pcmcia: runtime powermanagement interfaceDominik Brodowski2006-01-121-2/+35
| | | | | | | | 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>
* [PATCH] pcmcia: kzalloc conversionDominik Brodowski2006-01-061-7/+3
| | | | | | | Convert users of kmalloc and memset to kzalloc Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe ↵Dominik Brodowski2006-01-061-150/+27
| | | | | | | | | | | | | | | | | | | | | | 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>
* [PATCH] pcmcia: remove old detach mechanismDominik Brodowski2006-01-061-60/+17
| | | | | | | Remove the old "detach" mechanism as it is unused now. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: unify detach, REMOVAL_EVENT handlers into one remove callbackDominik Brodowski2006-01-061-35/+62
| | | | | | | | 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>
* [PATCH] pcmcia: merge suspend into device modelDominik Brodowski2006-01-061-10/+84
| | | | | | | | | | 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>
* [PATCH] pcmcia: new suspend coreDominik Brodowski2006-01-051-0/+10
| | | | | | | | | | | | | 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>
* [PATCH] pcmcia: validate_mem shouldn't be voidDominik Brodowski2006-01-051-1/+3
| | | | | | | | | 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>
* [PATCH] driver core: replace "hotplug" by "uevent"Kay Sievers2006-01-041-25/+25
| | | | | | | | | 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>
* [PCMCIA] inform user of insertion and ejection eventsDominik Brodowski2005-11-121-0/+3
| | | | | | | | | 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>
* [PATCH] Driver core: pass interface to class interface methodsDmitry Torokhov2005-10-281-2/+4
| | | | | | | | | | | 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>
* [PATCH] pcmcia: add pcmcia to IRQ informationBrice Goglin2005-09-091-1/+9
| | | | | | | | | | | 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>
* [PATCH] pcmcia: reduce ds.c stack footprintIngo Molnar2005-09-091-6/+18
| | | | | | | | | | 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>
* [PATCH] pcmcia: fix multiple insertion of multifunction cardsDominik Brodowski2005-08-011-1/+1
| | | | | | | | | 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>
* [PATCH] pcmcia: fix commentPavel Roskin2005-07-281-2/+2
| | | | | | | | | | 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>
* [PATCH] pcmcia: reduce client_handle_t usageDominik Brodowski2005-07-071-28/+18
| | | | | | | | | 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>
* [PATCH] pcmcia: remove client_t usageDominik Brodowski2005-07-071-22/+13
| | | | | | | | | 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>
* [PATCH] pcmcia: move event handlerDominik Brodowski2005-07-071-12/+20
| | | | | | | | | | 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>
* [PATCH] pcmcia: fix modalias attribute in sysfsDominik Brodowski2005-06-301-1/+1
| | | | | | | | 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>
* [PATCH] pcmcia: export modalias in sysfsDominik Brodowski2005-06-271-2/+23
| | | | | | | | 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>
* [PATCH] pcmcia: remove unneeded includes in ds.cDominik Brodowski2005-06-271-20/+2
| | | | | | | | 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>
* [PATCH] pcmcia: merge struct pcmcia_bus_socket into struct pcmcia_socketDominik Brodowski2005-06-271-82/+41
| | | | | | | | 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>
* [PATCH] pcmcia: make PCMCIA status a bitfieldDominik Brodowski2005-06-271-6/+6
| | | | | | | | | 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>
* [PATCH] pcmcia: clean up cs ds callbackDominik Brodowski2005-06-271-5/+7
| | | | | | | | | 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>
* [PATCH] pcmcia: move PCMCIA ioctl to a separate fileDominik Brodowski2005-06-271-780/+15
| | | | | | | | | | | | | 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>
* [PATCH] pcmcia: add a config option for the PCMICA ioctlDominik Brodowski2005-06-271-3/+33
| | | | | | | | | 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>
* [PATCH] pcmcia: add some DocumentationDominik Brodowski2005-06-271-8/+3
| | | | | | | | | | | | | 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>
* [PATCH] pcmcia: rescan bus always upon echoing into setup_doneDominik Brodowski2005-06-271-3/+35
| | | | | | | | | 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>
* [PATCH] pcmcia: cleanupsDominik Brodowski2005-06-271-5/+5
| | | | | | | | | | | | | | 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>
* [PATCH] pcmcia: request CIS via firmware interfaceDominik Brodowski2005-06-271-4/+67
| | | | | | | | | | | 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>
* [PATCH] pcmcia: allow function-ID based matchDominik Brodowski2005-06-271-1/+19
| | | | | | | | | | | | | | | | | 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>