summaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_cs.c
Commit message (Collapse)AuthorAgeFilesLines
* serial_cs: MD55x support (PCMCIA GPRS/EDGE modem) (kernel 2.6.33)Timur Maximov2010-04-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Many PCMCIA GPRS modems like: Onda Edge N100E, Novaway PC98 (OEM SPC98Z), Rovermate Edgus Adaptmate-039 and others have same construction and identification: lspcmcia -vvv Product Name: Generic Modem: MD55x 1.00 Serial number: xxxxx-xxx Identification: manf_id: 0x015d card_id: 0x4c45 function: 2 (serial) prod_id(1): "Generic" (0xc49e4731) prod_id(2): "Modem: MD55x" (0x8913b110) prod_id(3): "1.00" (0x83dbf271) prod_id(4): "Serial number: xxxxx-xxx" (0x73ee9514) Serial connection to GSM module based on Elan VPU16551 PCMCIA UART with datasheet recommeded 14.7456MHz crystal oscillator. By default serial_cs set UART clock == 1843200 Hz For correct work need set clock 14745600 Hz. This quirk already present in driver, only need add device in quirk list. Signed-off-by: Timur Maximov <xcom.org@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcnet_cs: add new idKen Kawasaki2010-03-271-0/+1
| | | | | | | | | pcnet_cs: *add new id (Allied Telesis LM33-PCM-T Lan&Modem multifunction card) *use PROD_ID for LA-PCM.(because LA-PCM and LM33-PCM-T use the same MANF_ID). Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6Linus Torvalds2010-02-271-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (49 commits) pcmcia: validate late-added resources pcmcia: allow for extension of resource interval pcmcia: remove useless msleep in ds.c pcmcia: use read_cis_mem return value pcmcia: handle error in serial_cs config calls pcmcia: add locking to pcmcia_{read,write}_cis_mem pcmcia: avoid prod_id memleak pcmcia: avoid sysfs-related lockup for cardbus pcmcia: use state machine for extended requery pcmcia: delay re-scanning and re-querying of PCMCIA bus pcmcia: use pccardd to handle eject, insert, suspend and resume requests pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking pcmcia: use mutex for dynid lock pcmcia: assert locking to struct pcmcia_device pcmcia: add locking documentation pcmcia: simplify locking pcmcia: add locking to struct pcmcia_socket->pcmcia_state() pcmcia: protect s->device_count pcmcia: properly lock skt->irq, skt->irq_mask pcmcia: lock ops->set_socket ...
| * pcmcia: handle error in serial_cs config callsDominik Brodowski2010-02-171-3/+4
| | | | | | | | | | | | | | Do not ignore the error returned by simple_config() / multi_config(). CC: linux-serial@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* | fmvj18x_cs: add new id (Panasonic lan & modem card)Ken Kawasaki2010-01-231-0/+1
| | | | | | | | | | | | | | | | | | fmvj18x_cs, serial_cs: add new id Panasonic lan & modem card (model name:AL-VML101) Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* | serial: serial_cs: oxsemi quirk breaks resumePavel Machek2010-01-201-1/+2
|/ | | | | | | | | | | | | | Quirk is applied on all cards with given manfid (is it that correct?). Unfortunately, that quirk breaks resume on zaurus with billionton bluetooth card inserted: c950ctrl is 0 and outb() faults. I believe it is simply not a multiport card. (info->multi == 1). ... ... confirmed by printks. Signed-off-by: Pavel Machek <pavel@ucw.cz> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* pcnet_cs: add cis of KTI PE520 pcmcia network cardKen Kawasaki2010-01-061-1/+14
| | | | | | | | | | pcnet_cs,serial_cs: add cis of KTI PE520 pcmcia network card, and serial card(Sierra Wireless AC860). Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6Linus Torvalds2009-12-051-102/+41
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 ...
| * pcmcia: rework the irq_req_t typedefDominik Brodowski2009-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the irq_req_t typedef'd struct can be re-worked quite easily: (1) IRQInfo2 was unused in any case, so drop it. (2) IRQInfo1 was used write-only, so drop it. (3) Instance (private data to be passed to the IRQ handler): Most PCMCIA drivers using pcmcia_request_irq() to actually register an IRQ handler set the "dev_id" to the same pointer as the "priv" pointer in struct pcmcia_device. Modify the two exceptions (ipwireless, ibmtr_cs) to also work this waym and set the IRQ handler's "dev_id" to p_dev->priv unconditionally. (4) Handler is to be of type irq_handler_t. (5) Handler != NULL already tells whether an IRQ handler is present. Therefore, we do not need the IRQ_HANDLER_PRESENT flag in irq_req_t.Attributes. CC: netdev@vger.kernel.org CC: linux-bluetooth@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-scsi@vger.kernel.org CC: alsa-devel@alsa-project.org CC: Jaroslav Kysela <perex@perex.cz> CC: Jiri Kosina <jkosina@suse.cz> CC: Karsten Keil <isdn@linux-pingi.de> for the Bluetooth parts: Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * pcmcia: remove deprecated handle_to_dev() macroDominik Brodowski2009-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | Update remaining users and remove deprecated handle_to_dev() macro CC: Harald Welte <laforge@gnumonks.org> CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-serial@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (serial_cs)Dominik Brodowski2009-11-091-36/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of requiring manual settings of PCMCIA_DEBUG. Also, remove all usages of the CS_CHECK macro and replace them with proper Linux style calling and return value checking. The extra error reporting may be dropped, as the PCMCIA core already complains about any (non-driver-author) errors. CC: linux-serial@vger.kernel.org CC: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| * serial_cs: use pcmcia_loop_config() and pre-determined valuesDominik Brodowski2009-10-241-64/+23
| | | | | | | | | | | | | | | | | | | | | | | | As the PCMCIA core already determines the multifunction count, the ConfigBase address and the Present value, we can use them directly instead of parsing the CIS again. By making use of pcmcia_loop_config(), we can further remove the remaining call to pcmcia_get_first_tuple() and friends. CC: linux-serial@vger.kernel.org CC: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* | pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia cardKen Kawasaki2009-10-291-4/+4
|/ | | | | | | | | | | | pcnet_cs,serial_cs: add cis of PreMax ethernet pcmcia card, and some Sierra Wireless serial card(AC555, AC7xx, AC8xx). use PROD_ID for AC7xx, because MANF_ID of AC7xx and AC8xx are the same. Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* pcnet_cs: add cis of National Semicondoctor's multifunction pcmcia cardKen Kawasaki2009-10-051-6/+6
| | | | | | | | | | | pcnet_cs,serial_cs: add cis of National Semicondoctor's lan&modem mulitifunction pcmcia card, NE2K, tamarack ethernet card, and some serial card(COMpad2, COMpad4). Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* tty: serial/pcmcia: add ID for Advantech cardWolfram Sang2009-09-191-0/+1
| | | | | | | | | | | | Add ID as reported in: http://lists.infradead.org/pipermail/linux-pcmcia/2009-May/006127.html Reported-by: Kenneth Moorman <KMoorman@transy.edu> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* pcnet_cs: add cis of Linksys multifunction pcmcia cardKen Kawasaki2009-09-151-7/+7
| | | | | | | | | | pcnet_cs,serial_cs: add cis of Linksys lan&modem mulitifunction pcmcia card and some modem card(MT5634ZLX, RS-COM-2P). Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia cardKen Kawasaki2009-05-011-5/+17
| | | | | | | | | | 3c589_cs,3c574_cs,serial_cs: (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card. (2)load correct configuration register for 3Com card Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
* pcmcia: remove unused argument to pcmcia_parse_tuple()Dominik Brodowski2008-08-311-1/+1
| | | | | | | | | | Since we're just parsing the tuple being passed to this function, we don't need any device-specific information. Also, remove the call to pcmcia_validate_cis() from pcmciamtd.c, since it is already called by the PCMCIA core. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: deprecate CS_NO_MORE_ITEMSDominik Brodowski2008-08-231-1/+1
| | | | | | | | | | | | CS_NO_MORE_ITEMS is returned by the CIS tuple reading and parsing code if the end of a tuple chain is reached. As at least one PCMCIA driver relies on matching this return value, replace it with -ENOSPC which is now uniquely used for this purpose within the in-kernel pcmcia subsystem. CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: linux-serial@vger.kernel.org CC: Michael Buesch <mb@bu3sch.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: deprecate CS_SUCCESSDominik Brodowski2008-08-231-8/+8
| | | | | | | | | Instead of using own error or success codes, the PCMCIA code should rely on the generic return values. Therefore, replace all occurrences of CS_SUCCESS with 0. CC: netdev@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: remove remaining in-kernel pcmcia_get_configuration_info() usersDominik Brodowski2008-08-231-9/+9
| | | | | | | | | | | | Remove the three remaining pcmcia_get_configuration_info() users: - pcmciamtd is marked broken anyway. - serial_cs.c can access the relevant structs directly - ipwireless didn't use the output CC: linux-serial@vger.kernel.org CC: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: David Sterba <dsterba@suse.cz> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: pcmcia_config_loop() improvement by passing vccDominik Brodowski2008-08-231-0/+4
| | | | | | | | By passing the current Vcc setting to the pcmcia_config_loop callback function, we can remove pcmcia_get_configuration_info() calls from many drivers. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: pcmcia_config_loop() default CIS entry handlingDominik Brodowski2008-08-231-0/+4
| | | | | | | Many drivers use the default CIS entry within their pcmcia_config_loop() callback function. Therefore, factor the default CIS entry handling out. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: pcmcia_config_loop() ConfigIndex unificationDominik Brodowski2008-08-231-4/+0
| | | | | | | Almost all drivers set p_dev->conf.ConfigIndex to cfg->index in the pcmcia_config_loop() callback function. Therefore, factor it out. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: use pcmcia_loop_config in misc pcmcia driversDominik Brodowski2008-08-231-155/+107
| | | | | | | | | | | | | Use the config loop helper in misc pcmcia drivers. CC: Harald Welte <laforge@gnumonks.org> CC: <linux-parport@lists.infradead.org> CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: Ed Okerson <eokerson@quicknet.net> CC: linux-serial@vger.kernel.org CC: boti@rocketmail.com CC: linux-usb@vger.kernel.org Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* pcmcia: replace kio_addr_t with unsigned int everywhereOlof Johansson2008-02-051-3/+3
| | | | | | | | | | | | | | | 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 <olof@lixom.net> Cc: Christoph Hellwig <hch@lst.de> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* netdrvr/pcmcia: use IRQ_TYPE_DYNAMIC_SHARING flag for irq.Attributes.Komuro2007-10-291-1/+1
| | | | | | | | | | | The drivers below support IRQ-sharing. 3c574_cs, 3c589_cs, pcnet_cs, axnet_cs, smc91c92_cs, fmvj18x_cs. xirc2ps_cs, serial_cs. Signed-off-by: Komuro <komurojun-mbn@nifty.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Add support for PCMCIA card Sierra WIreless AC850Eric Leblond2007-10-161-0/+1
| | | | | | | | | | Add support for Sierra Wireless AC850 which has the same Ids as the AC710/750 but has a different firmware. Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Add manufacturer and card id of teltonica pcmcia modemsAttila Kinali2007-10-071-0/+1
| | | | | | | | | Add the manufacturer and card id of teltonica pcmcia modems to serial_cs.c Signed-off-by: Attila Kinali <attila@kinali.ch> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* PCMCIA-NETDEV : add new ID of lan&modem multifunction cardKomuro2007-07-081-0/+4
| | | | | | | | | | | | | fmvj18x_cs: NEC PK-UG-J001 Panasonic CF-VML201 Panasonic TO-PDL9610 pcnet_cs: MICRO-RESEARCH MC336LAN Signed-off-by: Komuro <komurojun-mbn@nifty.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* serial: Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter.Sergei Organov2007-02-161-0/+5
| | | | | | | | | Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter. Signed-off-by: Sergei Organov <osv@javad.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] remove many unneeded #includes of sched.hTim Schmielau2007-02-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | After Al Viro (finally) succeeded in removing the sched.h #include in module.h recently, it makes sense again to remove other superfluous sched.h includes. There are quite a lot of files which include it but don't actually need anything defined in there. Presumably these includes were once needed for macros that used to live in sched.h, but moved to other header files in the course of cleaning it up. To ease the pain, this time I did not fiddle with any header files and only removed #includes from .c-files, which tend to cause less trouble. Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha, arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig, allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all configs in arch/arm/configs on arm. I also checked that no new warnings were introduced by the patch (actually, some warnings are removed that were emitted by unnecessarily included header files). Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] serial: replace kmalloc+memset with kzallocBurman Yan2007-02-141-2/+1
| | | | | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidationDominik Brodowski2006-12-041-12/+1
| | | | | | | | | | | struct pcmcia_device *p_dev->conf.ConfigBase and .Present are set in almost all PCMICA driver right at the beginning, using the same calls but slightly different implementations. Unfiy this in the PCMCIA core. Includes a small bugfix ("drivers/net/pcmcia/xirc2ps_cs.c: remove unused label") from and Signed-off-by Adrian Bunk <bunk@stusta.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: remove manf_id and card_id indirectionDominik Brodowski2006-12-041-16/+14
| | | | | | | | | As we read out the manufactor and card_id from the PCMCIA device in the PCMCIA core, and device drivers can access those reliably in struct pcmcia_device's fields manf_id and card_id, remove additional (and partly broken) manf_id and card_id detection logic from PCMCIA device drivers. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: IDs for Elan serial PCMCIA devciesTony Olech2006-12-041-0/+24
| | | | | | | | | | Add IDs for Elan serial PCMCIA devices. In addition, move the pdaudio_cf driver from matching based on manf_id and card_id to the more specific prod_id1 and prod_id2 to avoid false positives. Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [SERIAL] Fix resume handling bugRussell King2006-10-011-8/+6
| | | | | | | | Unfortunately, pcmcia_dev_present() returns false when a device is suspended, so checking this on resume does not work too well. Omit this test. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: Add quirk for brainboxes 2-port RS232 cardRussell King2006-10-011-0/+20
| | | | | | | | Mauro Ziliani reports that this card has a higher clock rate. Rather than tweak the 8250 driver to handle this, add a quirk to pass the correct clock rate to the driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: handle Nokia multi->single port bodge via config quirkRussell King2006-10-011-5/+17
| | | | | | | | | | According to the existing code, Nokia only make single-port cards, but are detected as multi-port cards. Handle this in roughly the same way via the config quirk - forcing it to be a real single port card (info->multi=0) changes the way we allocate the IO memory, which might stop the card working. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: add configuration quirkRussell King2006-10-011-5/+34
| | | | | | | Add a quirk primerily to handle tweaks to the link->conf structure, eg as required for Socket cards. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: Convert Oxford 950 / Possio GCC wakeup quirkRussell King2006-10-011-37/+63
| | | | | | | Move the Oxford Semi OX950 / Possio GCC wakeup handling to a quirk wakeup handler. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: convert IBM post-init handling to a quirkRussell King2006-10-011-34/+56
| | | | | | | | | Move IBM quirk handling into its own quirk entry. Note that doing quirk handling after we've registered the ports is racy, but since I don't know if moving this will have an undesired effect, it's probably better to leave where it is. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: allow wildcarded quirksRussell King2006-10-011-4/+7
| | | | | | | | Some quirks we will introduce next apply to (eg) all cards of one manufacturer. Therefore, we need a way to list these in the quirk table - use ~0 - this is not a possible device ID value. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: convert multi-port table to quirk tableRussell King2006-10-011-13/+42
| | | | | | | | | | | - rename multi_id table to serial_quirk / quirks[] - use named initialisers - store a pointer to the quirk table in the serial_info structure so we can use the quirk table entry later. - apply multi-port quirk after the multi-port guessing code, but only if it's != -1. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [SERIAL] serial_cs: Use clean up multiport card detectionRussell King2006-10-011-6/+5
| | | | | | | | | | - Use ARRAY_SIZE() instead of home grown based version. - use parse->manfid.card rather than le16_to_cpu(buf[1]) - manfid.card is already converted to this format. - use info->prodid in subsequent tests rather than parse->manfid.card. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [PATCH] pcmcia: another ID for serial_cs.cDominik Brodowski2006-06-301-0/+1
| | | | | | Add an ID for "GlobeTrotter" cards which need a CIS override Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: Add support for Possio GCC AKA PCMCIA Siemens MC45Petr Vandrovec2006-03-311-6/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ugly hack add support for Siemens MC45 PCMCIA GPRS card (which is identical to Possio GCC, and which is offered by one of our local GPRS providers). Card has unfortunate feature that after poweron oxcf950 chip is fully powered and works, but attached MC45 modem is powered down :-( There is a special sequence (which takes 1 sec :-( ) to poweron MC45 (and after MC45 powers on, it takes more than 2 secs until firmware fully boots...) which needs to be executed after all powerons. I'm really not familiar with PCMCIA subsystem, so I have no idea whether I should issue request_region() on rest of oxcf950 address range (0-7 is UART, 8-F are special configuration registers), or how this should be better integrated with PM system and so on - I just put it in same place where another hack already lived... Card uses 18.432MHz XTAL, so to get it to work you must add lines below to the /etc/pcmcia/serial.opts. case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in '030c,0003-2-GPRS-CARD--') SERIAL_OPTS="baud_base 1152000" ;; esac Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: convert DEV_OK to pcmcia_dev_presentDominik Brodowski2006-03-311-1/+1
| | | | | | | 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-26/+9
| | | | | | | | | | 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: add return value to _config() functionsDominik Brodowski2006-03-311-6/+5
| | | | | | | | Most of the driver initialization isn't done in the .probe function, but in the internal _config() functions. Make them return a value, so that .probe can properly report whether the probing of the device succeeded or not. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
OpenPOWER on IntegriCloud