Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/device.h>
#include <linux/netdevice.h>
#include <linux/slab.h>
#include <asm/irq.h>
#include <pcmcia/ss.h>
#include <pcmcia/cistpl.h>
#include <pcmcia/cisreg.h>
#include <pcmcia/ds.h>
#include "cs_internal.h"
Go to the source code of this file.
int __must_check __pcmcia_request_exclusive_irq | ( | struct pcmcia_device * | p_dev, |
irq_handler_t | handler | ||
) |
pcmcia_request_exclusive_irq() - attempt to request an exclusive IRQ first : the associated PCMCIA device : IRQ handler to register
pcmcia_request_exclusive_irq() is a wrapper around request_irq() which attempts first to request an exclusive IRQ. If it fails, it also accepts a shared IRQ, but prints out a warning. PCMCIA drivers should allow for IRQ sharing and either use request_irq directly (then they need to call free_irq() themselves, too), or the pcmcia_request_irq() function.
Definition at line 728 of file pcmcia_resource.c.
EXPORT_SYMBOL | ( | pcmcia_read_config_byte | ) |
EXPORT_SYMBOL | ( | pcmcia_write_config_byte | ) |
EXPORT_SYMBOL | ( | pcmcia_map_mem_page | ) |
EXPORT_SYMBOL | ( | pcmcia_fixup_iowidth | ) |
EXPORT_SYMBOL | ( | pcmcia_fixup_vpp | ) |
EXPORT_SYMBOL | ( | pcmcia_release_window | ) |
EXPORT_SYMBOL | ( | pcmcia_enable_device | ) |
EXPORT_SYMBOL | ( | pcmcia_request_io | ) |
EXPORT_SYMBOL | ( | pcmcia_request_irq | ) |
EXPORT_SYMBOL | ( | __pcmcia_request_exclusive_irq | ) |
EXPORT_SYMBOL | ( | pcmcia_request_window | ) |
EXPORT_SYMBOL | ( | pcmcia_disable_device | ) |
module_param | ( | io_speed | , |
int | , | ||
0444 | |||
) |
void pcmcia_cleanup_irq | ( | struct pcmcia_socket * | s | ) |
Definition at line 820 of file pcmcia_resource.c.
pcmcia_disable_device() - disable and clean up a PCMCIA device : the associated PCMCIA device
pcmcia_disable_device() is the driver-callable counterpart to pcmcia_enable_device(): If a PCMCIA device is no longer used, drivers are expected to clean up and disable the device by calling this function. Any I/O ranges (iomem and ioports) will be released, the Vpp voltage will be set to 0, and IRQs will no longer be generated – at least if there is no other card function (of multifunction devices) being used.
Definition at line 981 of file pcmcia_resource.c.
pcmcia_enable_device() - set up and activate a PCMCIA device : the associated PCMCIA device
pcmcia_enable_device() physically enables a PCMCIA device. It parses the flags passed to in and stored in ->flags and sets up the Vpp voltage, enables the speaker line, I/O ports and store proper values to configuration registers.
Definition at line 484 of file pcmcia_resource.c.
|
read |
Definition at line 49 of file pcmcia_resource.c.
pcmcia_fixup_iowidth() - reduce io width to 8bit : pcmcia device
pcmcia_fixup_iowidth() allows a PCMCIA device driver to reduce the IO width to 8bit after having called pcmcia_enable_device() previously.
Definition at line 257 of file pcmcia_resource.c.
pcmcia_fixup_vpp() - set Vpp to a new voltage level : pcmcia device : new Vpp voltage
pcmcia_fixup_vpp() allows a PCMCIA device driver to set Vpp to a new voltage level between calls to pcmcia_enable_device() and pcmcia_disable_device().
Definition at line 307 of file pcmcia_resource.c.
int pcmcia_map_mem_page | ( | struct pcmcia_device * | p_dev, |
struct resource * | res, | ||
unsigned int | offset | ||
) |
pcmcia_map_mem_page() - modify iomem window to point to a different offset : pcmcia device : iomem resource already enabled by pcmcia_request_window() : card_offset to map
pcmcia_map_mem_page() modifies what can be read and written by accessing an iomem range previously enabled by pcmcia_request_window(), by setting the card_offset value to .
Definition at line 227 of file pcmcia_resource.c.
pcmcia_read_config_byte() - read a byte from a card configuration register
pcmcia_read_config_byte() reads a byte from a configuration register in attribute memory.
Definition at line 197 of file pcmcia_resource.c.
pcmcia_release_configuration() - physically disable a PCMCIA device : pcmcia device
pcmcia_release_configuration() is the 1:1 counterpart to pcmcia_enable_device(): If a PCMCIA device is no longer used by any driver, the Vpp voltage is set to 0, IRQs will no longer be generated, and I/O ranges will be disabled. As pcmcia_release_io() and pcmcia_release_window() still need to be called, device drivers are expected to call pcmcia_disable_device() instead.
Definition at line 350 of file pcmcia_resource.c.
pcmcia_release_window() - release reserved iomem for PCMCIA devices : pcmcia device : iomem resource to release
pcmcia_release_window() releases &struct resource *res which was previously reserved by calling pcmcia_request_window().
Definition at line 432 of file pcmcia_resource.c.
pcmcia_request_io() - attempt to reserve port ranges for PCMCIA devices : the associated PCMCIA device
pcmcia_request_io() attempts to reserve the IO port ranges specified in &struct pcmcia_device ->resource[0] and ->resource[1]. The "start" value is the requested start of the IO port resource; "end" reflects the number of ports requested. The number of IO lines requested is specified in &struct pcmcia_device ->io_lines.
Definition at line 631 of file pcmcia_resource.c.
int __must_check pcmcia_request_irq | ( | struct pcmcia_device * | p_dev, |
irq_handler_t | handler | ||
) |
pcmcia_request_irq() - attempt to request a IRQ for a PCMCIA device : the associated PCMCIA device : IRQ handler to register
pcmcia_request_irq() is a wrapper around request_irq() which allows the PCMCIA core to clean up the registration in pcmcia_disable_device(). Drivers are free to use request_irq() directly, but then they need to call free_irq() themselfves, too. Also, only IRQF_SHARED capable IRQ handlers are allowed.
Definition at line 698 of file pcmcia_resource.c.
int pcmcia_request_window | ( | struct pcmcia_device * | p_dev, |
struct resource * | res, | ||
unsigned int | speed | ||
) |
pcmcia_request_window() - attempt to reserve iomem for PCMCIA devices : the associated PCMCIA device : &struct resource pointing to p_dev->resource[2..5] : access speed
pcmcia_request_window() attepts to reserve an iomem ranges specified in &struct resource pointing to one of the entries in &struct pcmcia_device ->resource[2..5]. The "start" value is the requested start of the IO mem resource; "end" reflects the size requested.
Definition at line 878 of file pcmcia_resource.c.
pcmcia_setup_irq() - determine IRQ to be used for device - the associated PCMCIA device
locking note: must be called with ops_mutex locked.
Definition at line 835 of file pcmcia_resource.c.
int pcmcia_validate_mem | ( | struct pcmcia_socket * | s | ) |
Definition at line 41 of file pcmcia_resource.c.
pcmcia_write_config_byte() - write a byte to a card configuration register
pcmcia_write_config_byte() writes a byte to a configuration register in attribute memory.
Definition at line 210 of file pcmcia_resource.c.