Joe Perches
e9fb13bfec
pcmcia: Make declaration and uses of struct pcmcia_device_id const
...
Const allows tables to be moved into text sections.
Signed-off-by: Joe Perches <joe@perches.com >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2011-05-06 07:46:15 +02:00
Dominik Brodowski
33619f0d3f
pcmcia: re-enable Zoomed Video support
...
Allow drivers to enable Zoomed Video support. Currently, this is only
used by out-of-tree drivers (L64020 DVB driver in particular).
CC: <stable@kernel.org > [for 2.6.37]
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2011-02-20 12:47:34 +01:00
Dominik Brodowski
ff10fca5ce
pcmcia: IOCARD is also required for using IRQs
...
Dave Hinds pointed out to me that 37979e1546 will break b43 and
ray_cs, as IOCARD is not -- as the name would suggest -- only needed
for cards using IO ports. Instead, as it re-deines several pins, it
is also required for using interrupts.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-10-22 08:46:36 +02:00
Dominik Brodowski
2e9b981a7c
pcmcia: move driver name to struct pcmcia_driver
...
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:24 +02:00
Dominik Brodowski
00990e7ce0
pcmcia: use autoconfiguration feature for ioports and iomem
...
When CONF_AUTO_SET_IO or CONF_AUTO_SET_IOMEM are set, the corresponding
fields in struct pcmcia_device *p_dev->resource[0,1,2] are set
accordinly. Drivers wishing to override certain settings may do so in
the callback function, but they no longer need to parse the CIS entries
stored in cistpl_cftable_entry_t themselves.
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: linux-bluetooth@vger.kernel.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Jiri Kosina <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:24 +02:00
Dominik Brodowski
440eed43e2
pcmcia: introduce autoconfiguration feature
...
Introduce an autoconfiguration feature to set certain values in
pcmcia_loop_config(), instead of copying the same code over and over
in each PCMCIA driver. At first, introduce the following options:
CONF_AUTO_CHECK_VCC check or matching Vcc entry
CONF_AUTO_SET_VPP set Vpp
CONF_AUTO_AUDIO enable the speaker line
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 <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi > (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:23 +02:00
Dominik Brodowski
1ac71e5a35
pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device
...
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 <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi > (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:23 +02:00
Dominik Brodowski
7feabb6412
pcmcia: move config_{base,index,regs} to struct pcmcia_device
...
Several drivers prefer to explicitly set config_{base,index,regs},
formerly known as ConfigBase, ConfigIndex and Present. Instead of
passing these values inside config_req_t, store it in struct
pcmcia_device.
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 <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi > (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:22 +02:00
Dominik Brodowski
37979e1546
pcmcia: simplify IntType
...
IntType was only set to INT_MEMORY (driver pcmciamtd) or INT_MEMORY_AND_IO
(all other drivers). As this flags seems to relate to ioport access, make
it conditional to the driver having requested IO port access. There are two
drivers which do not request IO ports, but did set INT_MEMORY_AND_IO:
ray_cs and b43. For those, we consistently only set INT_MEMORY in future.
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 <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi > (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:22 +02:00
Dominik Brodowski
fc30110103
pcmcia: simplify Status, ExtStatus register access
...
The Status (CISREG_CCSR) and ExtStatus (CISREG_ESR) registers were
only accessed to enable audio output for some drivers and IRQ for
serial_cs.c. The former also required setting config_req_t.Attributes
to CONF_ENABLE_SPKR; the latter can be simplified to setting this
field to CONF_ENABLE_ESR.
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-serial@vger.kernel.org
CC: linux-scsi@vger.kernel.org
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:22 +02:00
Dominik Brodowski
1a4a046030
pcmcia: remove Pin, Copy configuration register access
...
The "Pin" and "Copy" configuration registers (CISREG_SCR, CISREG_PPR)
do not seem to be utilized anywhere. If a device would request a
write to these registers, "0" would be written. Continue to do so, but
warn of unexpected behavior -- and remove the "Pin" and "Copy" entries
from config_req_t.
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:21 +02:00
Dominik Brodowski
e8405f0f61
pcmcia: move Vpp setup to struct pcmcia_device
...
Some drivers prefer to explicitly set Vpp. Instead of passing the
voltage inside config_req_t, store it in struct pcmcia_device.
CC: linux-ide@vger.kernel.org
CC: netdev@vger.kernel.org
CC: linux-mtd@lists.infradead.org
CC: linux-wireless@vger.kernel.org
CC: linux-serial@vger.kernel.org
CC: linux-usb@vger.kernel.org
CC: linux-scsi@vger.kernel.org
Acked-by: Gustavo F. Padovan <padovan@profusion.mobi > (for drivers/bluetooth)
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:21 +02:00
Dominik Brodowski
fb49fa533f
pcmcia: split up modify_configuration() into two fixup functions
...
pcmcia_modify_configuration() was only used by two drivers to fix up
one issue each: setting the Vpp to a different value, and reducing
the IO width to 8 bit. Introduce two explicitly named functions
handling these things, and remove one further typedef.
CC: netdev@vger.kernel.org
CC: linux-mtd@lists.infradead.org
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:21 +02:00
Dominik Brodowski
cdb138080b
pcmcia: do not use win_req_t when calling pcmcia_request_window()
...
Instead of win_req_t, drivers are now requested to fill out
struct pcmcia_device *p_dev->resource[2,3,4,5] for up to four iomem
ranges. After a call to pcmcia_request_window(), the windows found there
are reserved and may be used until pcmcia_release_window() is called.
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-mtd@lists.infradead.org
CC: Jiri Kosina <jkosina@suse.cz >
CC: linux-scsi@vger.kernel.org
Tested-by: Wolfram Sang <w.sang@pengutronix.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-09-29 17:20:21 +02:00
Dominik Brodowski
0ca724d37a
pcmcia: use struct resource for PCMCIA devices, part 2
...
Use struct resource * also for iomem resources.
CC: linux-mtd@lists.infradead.org
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: Jiri Kosina <jkosina@suse.cz >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:04:16 +02:00
Dominik Brodowski
b5cb259e7f
pcmcia: remove memreq_t
...
Page already had to be set to 0; Offset can easily be passed as
parameter to pcmcia_map_mem_page.
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: linux-bluetooth@vger.kernel.org
CC: alsa-devel@alsa-project.org
CC: linux-serial@vger.kernel.org
CC: Michael Buesch <mb@bu3sch.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:04:14 +02:00
Dominik Brodowski
a3d0d4d8dd
pcmcia: move local definitions out of include/pcmcia/cs.h
...
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:04:13 +02:00
Dominik Brodowski
90abdc3b97
pcmcia: do not use io_req_t when calling pcmcia_request_io()
...
Instead of io_req_t, drivers are now requested to fill out
struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
ranges. After a call to pcmcia_request_io(), the ports found there
are reserved, after calling pcmcia_request_configuration(), they may
be used.
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: Michael Buesch <mb@bu3sch.de >
Acked-by: Marcel Holtmann <marcel@holtmann.org > (for drivers/bluetooth/)
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:04:11 +02:00
Dominik Brodowski
2ce4905e4d
pcmcia: use struct resource for PCMCIA devices
...
Introduce a new field into struct pcmcia_device named "resource" and of
type struct resource *, which contains the IO port ranges allocated for
this device. Memory window ranges and registration with the resource
trees will follow at a later date.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:02:44 +02:00
Dominik Brodowski
3dace8cf15
pcmcia: clean up cs.h
...
Remove some obsolete definitions from cs.h
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:02:42 +02:00
Dominik Brodowski
1d5cc192d4
pcmcia: use pcmica_{read,write}_config_byte
...
Use pcmcia_read_config_byte and pcmcia_write_config_byte instead
of pcmcia_access_configuration_register.
CC: netdev@vger.kernel.org
CC: linux-wireless@vger.kernel.org
CC: linux-serial@vger.kernel.org
CC: Michael Buesch <mb@bu3sch.de >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-08-03 09:02:35 +02:00
Dominik Brodowski
ac8b422838
pcmcia: remove cs_types.h
...
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 <marcel@holtmann.org > (for drivers/bluetooth/)
Acked-by: David S. Miller <davem@davemloft.net >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-07-30 21:07:39 +02:00
Dominik Brodowski
ce3f9d71bd
pcmcia: remove unused flag, simplify headers
...
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 <komurojun-mbn@nifty.com >
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-07-30 21:07:37 +02:00
Dominik Brodowski
134716f19b
pcmcia: remove obsolete CS_EVENT_ definitions
...
Remove some definitions which became obsolete when the central
event handler got removed.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-07-30 21:07:35 +02:00
Dominik Brodowski
5716d415f8
pcmcia: remove obsolete ioctl
...
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net >
2010-07-30 21:07:26 +02:00