summaryrefslogtreecommitdiff
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* ohci: Rework bus glue integration to allow several at onceSylvain Munaut2007-02-0713-198/+80
| | | | | | | | | | | | | | | | | The previous model had the module_init & module_exit function in the bus glue .c files themselves. That's a problem if several glues need to be selected at once and the driver is built has module. This case is quite common in embedded system where you want to handle both the integrated ohci controller and some extra controller on PCI. The ohci-hcd.c file now provide the module_init & module_exit and appropriate driver registering/unregistering is done conditionally, using #ifdefs. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* rndis_host learns ActiveSync basicsOle Andre Vadla Ravnas2007-02-074-31/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows Mobile 5 based devices described as supporting "ActiveSync": - Speak RNDIS but lack the CDC and union descriptors. This patch updates the cdc ethernet code to fake ACM descriptors we need. - Require RNDIS_MSG_QUERY messages to include a buffer of the size the response should generate. This patch updates the rndis host code to pass this will-be-ignored data. The resulting RNDIS host code has been reported to work with several WM5 based devices. (Note that a fancier patch is available at synce.sf.net.) Some bugfixes, affecting not just ActiveSync: (a) when cleaning up after RNDS init fails, scrub the second interface just like cdc_ether does, so disconnect won't oops. (b) handle peripherals that use the pad-to-end-of-packet option; some devices can't talk to us if that option doesn't work. (c) when choosing configurations, don't forget about an RNDIS config just because the RNDIS driver is dynamically linked. Cleanup, streamlining, bugfixes, Kconfig, and matching hub driver update. Also for paranoia's sake, refuse to talk to something that looks like a real modem instead of RNDIS. Signed-off-by: Ole Andre Vadla Ravnaas <oleavr@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ethernet gadget interop with MCCI Windows driverDavid Brownell2007-02-071-39/+103
| | | | | | | | | | | | | | | | | | It turns out that minor tweaks to the "CDC Subset" support in the Ethernet gadget driver, just updating a config descriptor, let it be automagically recognized by a Windows driver supported by MCCI. This patch adds those descriptors, so systems using PXA 255 processors (like Gumstix etc) can interop with those commercial MS-Windows drivers. This is a Good Thing since Microsoft's RNDIS code has bugginess issues, which are unfortunately compounded by "won't fix" issues as well as "the published specs are incomplete and wrong" issues. Being able to talk to the MCCI driver gives Windows users another connectivity option. (MCCI also has CDC Ethernet drivers, which can help most non-PXA processors.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* usbcore: remove unneeded error checkAlan Stern2007-02-071-5/+1
| | | | | | | | | This patch (as830) removes some unnecessary error checking. According to the kerneldoc, schedule_work() can't fail. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: indicate active altsetting in proc/bus/usb/devices fileDavid Brownell2007-02-071-2/+6
| | | | | | | | Update /proc/bus/usb/devices output to report active altsettings. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: devio.c add missing INIT_LIST_HEAD()Dan Carpenter2007-02-071-0/+1
| | | | | | | | | | | It should hopefully fix the list corruption bug on: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=214402 Add a missing INIT_LIST_HEAD() Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: mutexification of rio500Oliver Neukum2007-02-071-24/+30
| | | | | | | | | this makes the rio500 misc usb driver use mutexes and turns uninterruptible sleep into interruptible sleep where the semantics are not affected. Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Remove unneeded void * casts in idmouse.cTobias Klauser2007-02-071-6/+4
| | | | | | | | | | | | The patch removes unneeded void * casts for the following (void *) pointers: - struct file: private_data The patch also contains some whitespace and coding style cleanups in the relevant areas. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: <linux/usb_ch9.h> becomes <linux/usb/ch9.h>David Brownell2007-02-0717-17/+16
| | | | | | | | | This moves <linux/usb_ch9.h> to <linux/usb/ch9.h> to reduce some of the clutter of usb header files. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Fix EHCI warningBenjamin Herrenschmidt2007-02-071-0/+8
| | | | | | | | | | This patch fixes a warning introduced by the big endian MMIO EHCI support patch on platforms that don't have readl_be/writel_be variants (though mostly harmless as those are called in an if (0) statement, but gcc still warns). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* USB: Fix OHCI warningBenjamin Herrenschmidt2007-02-071-0/+8
| | | | | | | | | | | This patch fixes a warning introduces by the split endian OHCI support patch on platforms that don't have readl_be/writel_be variants (though mostly harmless as those are called in an if (0) statement, but gcc still warns). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Implement support for EHCI with big endian MMIOBenjamin Herrenschmidt2007-02-079-142/+213
| | | | | | | | | | | | | | | | | | This patch implements supports for EHCI controllers whose MMIO registers are big endian and enables that functionality for the Toshiba SCC chip. It does _not_ add support for big endian in-memory data structures as this is not needed for that chip and I hope it will never be. The guts of the patch are to convert readl(...) to ehci_readl(ehci, ...) and similarly for register writes. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Implement support for "split" endian OHCIBenjamin Herrenschmidt2007-02-074-55/+130
| | | | | | | | | | | | | | | This patch separates support for big endian MMIO register access and big endian descriptors in order to support the Toshiba SCC implementation which has big endian registers but little endian in-memory descriptors. It simplifies the access functions a bit in ohci.h while at it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Rework the OHCI quirk mecanism as suggested by DavidBenjamin Herrenschmidt2007-02-071-63/+110
| | | | | | | | | | | | | | | | This patch applies David Brownell's suggestion for reworking the OHCI quirk mechanism via a table of PCI IDs. It adapts the existing quirks to use that mechanism. This also moves the quirks to reset() as suggested by the comment in there. This is necessary as we need to have the endian properly set before we try to init the controller. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: convert usb class devices to real devicesGreg Kroah-Hartman2007-02-071-7/+6
| | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: move usb_device_class class devices to be real devicesGreg Kroah-Hartman2007-02-071-12/+12
| | | | | | | | | This moves the usb class devices that control the usbfs nodes to show up in the proper place in the larger device tree. Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: add EPIC support to the io_edgeport driverGreg Kroah-Hartman2007-02-074-84/+386
| | | | | | | | | | | | | | | | | This patch adds EPiC support to the io_edgeport driver which adds support for a number of NCR printers: - NCR (Axiohm) 7401-K580 printer - NCR (TEC) 7401-K590 printer, 7402-K592 - NCR (TEC) 7167, 7168 printers - NCR (TEC) 7197, 7198, F306, F307, F309 printers - NCR (Axiohm) 7194 printer - NCR (Axiohm) 7158 printer and a few more. It is based on the 2.6.19 kernel. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
* USB: unusual_devs.h for Sony floppyLuiz Fernando N. Capitulino2007-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | This patch increases the range for 0x054c:0x002c devices to make the following Sony USB floppy to work: T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 6 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=054c ProdID=002c Rev=20.00 S: Manufacturer=SONY S: Product=USB Floppy C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=04 Prot=00 Driver=usb-storage E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=127ms Signed-off-by: Marcelo Ricardo Leitner <mrl@mandriva.com> Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-02-0610-74/+982
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: USB HID: handle multi-interface devices for Apple macbook pro properly HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUG USB HID: fix bogus comment in hid_get_class_descriptor() USB HID: remove hid_find_field_by_usage() HID: API - fix leftovers of hidinput API in USB HID HID: hid debug from hid-debug.h to hid layer hid: force feedback driver for PantherLord USB/PS2 2in1 Adapter hid: quirk for multi-input devices with unneeded output reports hid: allow force feedback for multi-input devices
| * USB HID: handle multi-interface devices for Apple macbook pro properlySoeren Sonnenburg2007-02-051-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Some HID devices by Apple have both keyboard and mouse interfaces; the keyboard interface is handled by usbhid, but the mouse (really touchpad) interface must be handled by the separate 'appletouch' driver. Using HID_QUIRK_IGNORE will make hiddev ignore both interfaces, therefore a new quirk flag to ignore only the mouse interface is required. Signed-off-by: Soeren Sonnenburg <kernel@nn7.de> Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: move away from DEBUG defines in favor of CONFIG_HID_DEBUGJiri Kosina2007-02-054-22/+6
| | | | | | | | | | | | | | | | | | | | | | | | CONFIG_INPUT_DEBUG is non-existent option, so remove anything depending on it. Also, as we have new CONFIG_HID_DEBUG, this should be used on places where ifdef DEBUG was used before. Suggested by Adrian Bunk. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * USB HID: fix bogus comment in hid_get_class_descriptor()Jiri Kosina2007-02-051-1/+1
| | | | | | | | | | | | | | The comment in hid_get_class_descriptor() says a very obvious thing and is also violating codingstyle. Just remove it. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * USB HID: remove hid_find_field_by_usage()Jiri Kosina2007-02-051-17/+0
| | | | | | | | | | | | | | The unused hid_find_field_by_usage() function has been commented out for a pretty long time. Remove it completely. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: API - fix leftovers of hidinput API in USB HIDJiri Kosina2007-02-052-16/+16
| | | | | | | | | | | | | | | | | | hidinput_{open,close}() functions do not belong to usbhid, but to the generic HID layer. Move them, and fix hooks in struct hid_device, so that now the callbacks are done to transport-specific _open() functions, but not input_open() functions. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid debug from hid-debug.h to hid layerJiri Kosina2007-02-056-6/+791
| | | | | | | | | | | | | | | | | | | | | | hid-debug.h contains a lot of code, and should not therefore be a header. This patch moves the code to generic hid layer as .c source, and introduces CONFIG_HID_DEBUG to conditionally compile it, instead of playing with #define DEBUG and including hid-debug.h. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * hid: force feedback driver for PantherLord USB/PS2 2in1 AdapterAnssi Hannula2007-02-054-0/+143
| | | | | | | | | | | | | | | | Add a force feedback driver for PantherLord USB/PS2 2in1 Adapter, 0810:0001. The device identifies itself as "Twin USB Joystick". Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * hid: quirk for multi-input devices with unneeded output reportsAnssi Hannula2007-02-052-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new quirk HID_QUIRK_SKIP_OUTPUT_REPORTS to skip output reports when enumerating reports on a hid-input device. Add this quirk and HID_QUIRK_MULTI_INPUT to 0810:0001. PantherLord Twin USB Joystick, 0810:0001 has separate input reports for 2 distinct game controllers in the same interface, so it needs HID_QUIRK_MULTI_INPUT. However, the device also contains one output report per controller which is used to control the force feedback function, and we do not want those to appear as separate input devices as well. The simplest approach seems to be to add a quirk to skip output reports on 0810:0001, and allow the force feedback driver to handle those. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * hid: allow force feedback for multi-input devicesAnssi Hannula2007-02-051-5/+1
| | | | | | | | | | | | | | | | | | | | Allow hid devices with HID_QUIRK_MULTI_INPUT to have force feedback. This was previously disabled because there were not any force feedback drivers for such devices. This will change with my upcoming patch. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | Merge branch 'for-linus' of ↵Linus Torvalds2007-02-0620-403/+240
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Remove obsolete prototypes IB/ehca: Remove use of do_mmap() RDMA/addr: Handle ethernet neighbour updates during route resolution IB: Make sure struct ib_user_mad.data is aligned IB/srp: Don't wait for response when QP is in error state. IB: Return qp pointer as part of ib_wc IB: Include <linux/kref.h> explicitly in <rdma/ib_verbs.h>
| * | IB/ehca: Remove obsolete prototypesHoang-Nam Nguyen2007-02-041-14/+0
| | | | | | | | | | | | | | | | | | | | | Remove prototypes for functions that don't exist. Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | IB/ehca: Remove use of do_mmap()Hoang-Nam Nguyen2007-02-046-363/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes do_mmap() from ehca: - Call remap_pfn_range() for hardware register block - Use vm_insert_page() to register memory allocated for completion queues and queue pairs - The actual mmap() call/trigger is now controlled by user space, ie. libehca Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | RDMA/addr: Handle ethernet neighbour updates during route resolutionSteve Wise2007-02-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The iWARP connection manager uses the ib_addr services to do route resolution (neighbour discovery in the IP world). The ib_addr netevent callback routine, however, currently only acts on InfiniBand neighbour updates. It needs to act on ethernet neighbour updates as well. This patch just removes filtering on device type altogether and will trigger on any neighour updates where the nud_type is valid. This simplifies the code some. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | IB/srp: Don't wait for response when QP is in error state.Ishai Rabinovitz2007-02-042-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there is a call to send_tsk_mgmt SRP posts a send and waits for 5 seconds to get a response. When the QP is in the error state it is obvious that there will be no response so it is quite useless to wait. In fact, the timeout causes SRP to wait a long time to reconnect when a QP error occurs. (Each abort and each reset_device calls send_tsk_mgmt, which waits for the timeout). The following patch solves this problem by identifying the failure and returning an immediate error code. Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | IB: Return qp pointer as part of ib_wcMichael S. Tsirkin2007-02-0411-24/+27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | struct ib_wc currently only includes the local QP number: this matches the IB spec, but seems mostly useless. The following patch replaces this with the pointer to qp itself, and updates all low level drivers and all users. This has the following advantages: - Ability to get a per-qp context through wc->qp->qp_context - Existing drivers already have the qp pointer ready in poll cq, so this change actually saves a tiny bit (extra memory read) on data path (for ehca it would actually be expensive to find the QP pointer when polling a CQ, but ehca does not support SRQ so we can leave wc->qp as NULL for ehca) - Users that need the QP number can still get it through wc->qp->qp_num Use case: In IPoIB connected mode code, I have a common CQ shared by multiple QPs. To track connection usage, I need a way to get at some per-QP context upon the completion, and I would like to avoid allocating context object per work request just to stick a QP pointer into it. With this code, I can just use wc->qp->qp_context. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | Merge branch 'for-linus' of ↵Linus Torvalds2007-02-0617-555/+847
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (32 commits) mmc: tifm: replace kmap with page_address mmc: sdhci: fix voltage ocr mmc: sdhci: replace kmap with page_address mmc: wbsd: replace kmap with page_address mmc: handle pci_enable_device() return value in sdhci mmc: Proper unclaim in mmc_block mmc: change wbsd mailing list mmc: Graceful fallback for fancy features mmc: Handle wbsd's stupid command list mmc: Allow host drivers to specify max block count mmc: Allow host drivers to specify a max block size tifm_sd: add suspend and resume functionality tifm_core: add suspend/resume infrastructure for tifm devices tifm_7xx1: prettify tifm_7xx1: recognize device 0xac8f as supported tifm_7xx1: switch from workqueue to kthread tifm_7xx1: Merge media insert and media remove functions tifm_7xx1: simplify eject function Add dummy_signal_irq function to save check in ISR Remove unused return value from signal_irq callback ...
| * | mmc: tifm: replace kmap with page_addressPierre Ossman2007-02-041-11/+4
| | | | | | | | | | | | | | | | | | | | | Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: sdhci: fix voltage ocrPierre Ossman2007-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | Some bad if-clauses caused the driver to just report the highest supported voltage, not all. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: sdhci: replace kmap with page_addressPierre Ossman2007-02-042-19/+6
| | | | | | | | | | | | | | | | | | | | | Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: wbsd: replace kmap with page_addressPierre Ossman2007-02-042-31/+10
| | | | | | | | | | | | | | | | | | | | | Since we actively avoid highmem, calling kmap_atomic() instead of page_address() is effectively only obfuscation. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: handle pci_enable_device() return value in sdhciPierre Ossman2007-02-041-1/+3
| | | | | | | | | | | | | | | | | | Make sure we report back any errors from pci_enable_device(). Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: Proper unclaim in mmc_blockPierre Ossman2007-02-041-1/+2
| | | | | | | | | | | | | | | | | | Make sure we release the claim on the host even on failure. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: Graceful fallback for fancy featuresPierre Ossman2007-02-041-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MMC high-speed, wide bus support and SD high-speed are functions that aren't critical for correct operation of the card. As such, they shouldn't mark the card as bad or dead when there is a failure activating these features. This is needed in particular on some really stupid hardware (e.g. Winbond's) where not all data transfer commands are supported. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: Handle wbsd's stupid command listPierre Ossman2007-02-041-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wbsd hardware is so incredibly brain damaged that it has an internal list of commands that result in data transfers. The result being that commands that aren't on this list aren't supported. Instead of locking up, waiting for a data interrupt that will never come, we try to fail a bit more gracefully. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: Allow host drivers to specify max block countPierre Ossman2007-02-0412-21/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many controllers have an upper limit on the number of blocks that can be transferred in one request. Allow the host drivers to specify this and make sure we avoid hitting this limit. Also change the max_sectors field to avoid confusion. This makes it map less directly to the block layer limits, but as they didn't apply directly on MMC cards anyway, this isn't a great loss. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | mmc: Allow host drivers to specify a max block sizePierre Ossman2007-02-0411-12/+43
| | | | | | | | | | | | | | | | | | | | | Most controllers have an upper limit on the block size. Allow the host drivers to specify this and make sure we avoid hitting this limit. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | tifm_sd: add suspend and resume functionalityAlex Dubov2007-02-041-1/+38
| | | | | | | | | | | | | | | Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | tifm_core: add suspend/resume infrastructure for tifm devicesAlex Dubov2007-02-041-1/+34
| | | | | | | | | | | | | | | Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | tifm_7xx1: prettifyAlex Dubov2007-02-041-16/+18
| | | | | | | | | | | | | | | | | | | | | Fix some spaces and tabs. No semantic changes are introduced. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | tifm_7xx1: recognize device 0xac8f as supportedAlex Dubov2007-02-041-5/+8
| | | | | | | | | | | | | | | | | | | | | This patch also adds symbolic defines for supported pci ids. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
| * | tifm_7xx1: switch from workqueue to kthreadAlex Dubov2007-02-042-68/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As there's only one work item (media_switcher) to handle and it's effectively serialized with itself, I found it more convenient to use kthread instead of workqueue. This also allows for a working implementation of suspend/resume, which were totally broken in the past version. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>