Commit 46535956 authored by Dominik Brodowski's avatar Dominik Brodowski Committed by Russell King

[PCMCIA] 01-unused_bulkmem_code.diff

Most of drivers/pcmcia/bulkmem.c is unused by the Linux kernel
PCMCIA subsystem and/or in-kernel PCMCIA device drivers. Remove
this unused code as well as references to it.
parent 9b9407e8
This diff is collapsed.
...@@ -249,7 +249,7 @@ int pcmcia_register_socket(struct pcmcia_socket *socket) ...@@ -249,7 +249,7 @@ int pcmcia_register_socket(struct pcmcia_socket *socket)
/* base address = 0, map = 0 */ /* base address = 0, map = 0 */
socket->cis_mem.flags = 0; socket->cis_mem.flags = 0;
socket->cis_mem.speed = cis_speed; socket->cis_mem.speed = cis_speed;
socket->erase_busy.next = socket->erase_busy.prev = &socket->erase_busy;
INIT_LIST_HEAD(&socket->cis_cache); INIT_LIST_HEAD(&socket->cis_cache);
spin_lock_init(&socket->lock); spin_lock_init(&socket->lock);
...@@ -895,7 +895,6 @@ int pcmcia_deregister_client(client_handle_t handle) ...@@ -895,7 +895,6 @@ int pcmcia_deregister_client(client_handle_t handle)
{ {
client_t **client; client_t **client;
struct pcmcia_socket *s; struct pcmcia_socket *s;
memory_handle_t region;
u_long flags; u_long flags;
int i; int i;
...@@ -912,14 +911,6 @@ int pcmcia_deregister_client(client_handle_t handle) ...@@ -912,14 +911,6 @@ int pcmcia_deregister_client(client_handle_t handle)
if (handle->state & CLIENT_WIN_REQ(i)) if (handle->state & CLIENT_WIN_REQ(i))
return CS_IN_USE; return CS_IN_USE;
/* Disconnect all MTD links */
if (handle->mtd_count) {
for (region = s->a_region; region; region = region->info.next)
if (region->mtd == handle) region->mtd = NULL;
for (region = s->c_region; region; region = region->info.next)
if (region->mtd == handle) region->mtd = NULL;
}
if ((handle->state & CLIENT_STALE) || if ((handle->state & CLIENT_STALE) ||
(handle->Attributes & INFO_MASTER_CLIENT)) { (handle->Attributes & INFO_MASTER_CLIENT)) {
spin_lock_irqsave(&s->lock, flags); spin_lock_irqsave(&s->lock, flags);
...@@ -936,7 +927,6 @@ int pcmcia_deregister_client(client_handle_t handle) ...@@ -936,7 +927,6 @@ int pcmcia_deregister_client(client_handle_t handle)
spin_unlock_irqrestore(&s->lock, flags); spin_unlock_irqrestore(&s->lock, flags);
} else { } else {
handle->state = CLIENT_UNBOUND; handle->state = CLIENT_UNBOUND;
handle->mtd_count = 0;
handle->event_handler = NULL; handle->event_handler = NULL;
} }
...@@ -2099,11 +2089,7 @@ int pcmcia_set_event_mask(client_handle_t handle, eventmask_t *mask) ...@@ -2099,11 +2089,7 @@ int pcmcia_set_event_mask(client_handle_t handle, eventmask_t *mask)
/* in alpha order */ /* in alpha order */
EXPORT_SYMBOL(pcmcia_access_configuration_register); EXPORT_SYMBOL(pcmcia_access_configuration_register);
EXPORT_SYMBOL(pcmcia_adjust_resource_info); EXPORT_SYMBOL(pcmcia_adjust_resource_info);
EXPORT_SYMBOL(pcmcia_check_erase_queue);
EXPORT_SYMBOL(pcmcia_close_memory);
EXPORT_SYMBOL(pcmcia_copy_memory);
EXPORT_SYMBOL(pcmcia_deregister_client); EXPORT_SYMBOL(pcmcia_deregister_client);
EXPORT_SYMBOL(pcmcia_deregister_erase_queue);
EXPORT_SYMBOL(pcmcia_eject_card); EXPORT_SYMBOL(pcmcia_eject_card);
EXPORT_SYMBOL(pcmcia_get_first_client); EXPORT_SYMBOL(pcmcia_get_first_client);
EXPORT_SYMBOL(pcmcia_get_card_services_info); EXPORT_SYMBOL(pcmcia_get_card_services_info);
...@@ -2122,12 +2108,8 @@ EXPORT_SYMBOL(pcmcia_insert_card); ...@@ -2122,12 +2108,8 @@ EXPORT_SYMBOL(pcmcia_insert_card);
EXPORT_SYMBOL(pcmcia_map_mem_page); EXPORT_SYMBOL(pcmcia_map_mem_page);
EXPORT_SYMBOL(pcmcia_modify_configuration); EXPORT_SYMBOL(pcmcia_modify_configuration);
EXPORT_SYMBOL(pcmcia_modify_window); EXPORT_SYMBOL(pcmcia_modify_window);
EXPORT_SYMBOL(pcmcia_open_memory);
EXPORT_SYMBOL(pcmcia_parse_tuple); EXPORT_SYMBOL(pcmcia_parse_tuple);
EXPORT_SYMBOL(pcmcia_read_memory);
EXPORT_SYMBOL(pcmcia_register_client); EXPORT_SYMBOL(pcmcia_register_client);
EXPORT_SYMBOL(pcmcia_register_erase_queue);
EXPORT_SYMBOL(pcmcia_register_mtd);
EXPORT_SYMBOL(pcmcia_release_configuration); EXPORT_SYMBOL(pcmcia_release_configuration);
EXPORT_SYMBOL(pcmcia_release_io); EXPORT_SYMBOL(pcmcia_release_io);
EXPORT_SYMBOL(pcmcia_release_irq); EXPORT_SYMBOL(pcmcia_release_irq);
...@@ -2142,10 +2124,8 @@ EXPORT_SYMBOL(pcmcia_resume_card); ...@@ -2142,10 +2124,8 @@ EXPORT_SYMBOL(pcmcia_resume_card);
EXPORT_SYMBOL(pcmcia_set_event_mask); EXPORT_SYMBOL(pcmcia_set_event_mask);
EXPORT_SYMBOL(pcmcia_suspend_card); EXPORT_SYMBOL(pcmcia_suspend_card);
EXPORT_SYMBOL(pcmcia_validate_cis); EXPORT_SYMBOL(pcmcia_validate_cis);
EXPORT_SYMBOL(pcmcia_write_memory);
EXPORT_SYMBOL(dead_socket); EXPORT_SYMBOL(dead_socket);
EXPORT_SYMBOL(MTDHelperEntry);
EXPORT_SYMBOL(pcmcia_parse_events); EXPORT_SYMBOL(pcmcia_parse_events);
struct class pcmcia_socket_class = { struct class pcmcia_socket_class = {
......
...@@ -21,14 +21,6 @@ ...@@ -21,14 +21,6 @@
#include <linux/config.h> #include <linux/config.h>
#define ERASEQ_MAGIC 0xFA67
typedef struct eraseq_t {
u_short eraseq_magic;
client_handle_t handle;
int count;
eraseq_entry_t *entry;
} eraseq_t;
#define CLIENT_MAGIC 0x51E6 #define CLIENT_MAGIC 0x51E6
typedef struct client_t { typedef struct client_t {
u_short client_magic; u_short client_magic;
...@@ -42,9 +34,6 @@ typedef struct client_t { ...@@ -42,9 +34,6 @@ typedef struct client_t {
event_callback_args_t *); event_callback_args_t *);
event_callback_args_t event_callback_args; event_callback_args_t event_callback_args;
struct client_t *next; struct client_t *next;
u_int mtd_count;
wait_queue_head_t mtd_req;
erase_busy_t erase_busy;
} client_t; } client_t;
/* Flags in client state */ /* Flags in client state */
...@@ -167,17 +156,8 @@ int replace_cis(client_handle_t handle, cisdump_t *cis); ...@@ -167,17 +156,8 @@ int replace_cis(client_handle_t handle, cisdump_t *cis);
int read_tuple(client_handle_t handle, cisdata_t code, void *parse); int read_tuple(client_handle_t handle, cisdata_t code, void *parse);
/* In bulkmem.c */ /* In bulkmem.c */
int get_first_region(client_handle_t handle, region_info_t *rgn); int pcmcia_get_first_region(client_handle_t handle, region_info_t *rgn);
int get_next_region(client_handle_t handle, region_info_t *rgn); int pcmcia_get_next_region(client_handle_t handle, region_info_t *rgn);
int register_mtd(client_handle_t handle, mtd_reg_t *reg);
int register_erase_queue(client_handle_t *handle, eraseq_hdr_t *header);
int deregister_erase_queue(eraseq_handle_t eraseq);
int check_erase_queue(eraseq_handle_t eraseq);
int open_memory(client_handle_t *handle, open_mem_t *open);
int close_memory(memory_handle_t handle);
int read_memory(memory_handle_t handle, mem_op_t *req, caddr_t buf);
int write_memory(memory_handle_t handle, mem_op_t *req, caddr_t buf);
int copy_memory(memory_handle_t handle, copy_op_t *req);
/* In rsrc_mgr */ /* In rsrc_mgr */
void pcmcia_validate_mem(struct pcmcia_socket *s); void pcmcia_validate_mem(struct pcmcia_socket *s);
......
...@@ -167,9 +167,6 @@ static int pcmcia_bind_device(bind_req_t *req) ...@@ -167,9 +167,6 @@ static int pcmcia_bind_device(bind_req_t *req)
client->Socket = s; client->Socket = s;
client->Function = req->Function; client->Function = req->Function;
client->state = CLIENT_UNBOUND; client->state = CLIENT_UNBOUND;
client->erase_busy.next = &client->erase_busy;
client->erase_busy.prev = &client->erase_busy;
init_waitqueue_head(&client->mtd_req);
client->next = s->clients; client->next = s->clients;
s->clients = client; s->clients = client;
ds_dbg(1, "%s: bind_device(): client 0x%p, dev %s\n", ds_dbg(1, "%s: bind_device(): client 0x%p, dev %s\n",
......
...@@ -53,155 +53,7 @@ typedef struct region_info_t { ...@@ -53,155 +53,7 @@ typedef struct region_info_t {
#define REGION_BAR_MASK 0xe000 #define REGION_BAR_MASK 0xe000
#define REGION_BAR_SHIFT 13 #define REGION_BAR_SHIFT 13
/* For OpenMemory */
typedef struct open_mem_t {
u_int Attributes;
u_int Offset;
} open_mem_t;
/* Attributes for OpenMemory */
#define MEMORY_TYPE 0x0001
#define MEMORY_TYPE_CM 0x0000
#define MEMORY_TYPE_AM 0x0001
#define MEMORY_EXCLUSIVE 0x0002
#define MEMORY_PREFETCH 0x0008
#define MEMORY_CACHEABLE 0x0010
#define MEMORY_BAR_MASK 0xe000
#define MEMORY_BAR_SHIFT 13
typedef struct eraseq_entry_t {
memory_handle_t Handle;
u_char State;
u_int Size;
u_int Offset;
void *Optional;
} eraseq_entry_t;
typedef struct eraseq_hdr_t {
int QueueEntryCnt;
eraseq_entry_t *QueueEntryArray;
} eraseq_hdr_t;
#define ERASE_QUEUED 0x00
#define ERASE_IN_PROGRESS(n) (((n) > 0) && ((n) < 0x80))
#define ERASE_IDLE 0xff
#define ERASE_PASSED 0xe0
#define ERASE_FAILED 0xe1
#define ERASE_MISSING 0x80
#define ERASE_MEDIA_WRPROT 0x84
#define ERASE_NOT_ERASABLE 0x85
#define ERASE_BAD_OFFSET 0xc1
#define ERASE_BAD_TECH 0xc2
#define ERASE_BAD_SOCKET 0xc3
#define ERASE_BAD_VCC 0xc4
#define ERASE_BAD_VPP 0xc5
#define ERASE_BAD_SIZE 0xc6
/* For CopyMemory */
typedef struct copy_op_t {
u_int Attributes;
u_int SourceOffset;
u_int DestOffset;
u_int Count;
} copy_op_t;
/* For ReadMemory and WriteMemory */
typedef struct mem_op_t {
u_int Attributes;
u_int Offset;
u_int Count;
} mem_op_t;
#define MEM_OP_BUFFER 0x01
#define MEM_OP_BUFFER_USER 0x00
#define MEM_OP_BUFFER_KERNEL 0x01
#define MEM_OP_DISABLE_ERASE 0x02
#define MEM_OP_VERIFY 0x04
/* For RegisterMTD */
typedef struct mtd_reg_t {
u_int Attributes;
u_int Offset;
u_long MediaID;
} mtd_reg_t;
/*
* Definitions for MTD requests
*/
typedef struct mtd_request_t {
u_int SrcCardOffset;
u_int DestCardOffset;
u_int TransferLength;
u_int Function;
u_long MediaID;
u_int Status;
u_int Timeout;
} mtd_request_t;
/* Fields in MTD Function */
#define MTD_REQ_ACTION 0x003
#define MTD_REQ_ERASE 0x000
#define MTD_REQ_READ 0x001
#define MTD_REQ_WRITE 0x002
#define MTD_REQ_COPY 0x003
#define MTD_REQ_NOERASE 0x004
#define MTD_REQ_VERIFY 0x008
#define MTD_REQ_READY 0x010
#define MTD_REQ_TIMEOUT 0x020
#define MTD_REQ_LAST 0x040
#define MTD_REQ_FIRST 0x080
#define MTD_REQ_KERNEL 0x100
/* Status codes */
#define MTD_WAITREQ 0x00
#define MTD_WAITTIMER 0x01
#define MTD_WAITRDY 0x02
#define MTD_WAITPOWER 0x03
/*
* Definitions for MTD helper functions
*/
/* For MTDModifyWindow */
typedef struct mtd_mod_win_t {
u_int Attributes;
u_int AccessSpeed;
u_int CardOffset;
} mtd_mod_win_t;
/* For MTDSetVpp */
typedef struct mtd_vpp_req_t {
u_char Vpp1, Vpp2;
} mtd_vpp_req_t;
/* For MTDRDYMask */
typedef struct mtd_rdy_req_t {
u_int Mask;
} mtd_rdy_req_t;
enum mtd_helper {
MTDRequestWindow, MTDModifyWindow, MTDReleaseWindow,
MTDSetVpp, MTDRDYMask
};
#ifdef IN_CARD_SERVICES
extern int MTDHelperEntry(int func, void *a1, void *a2);
#else
extern int MTDHelperEntry(int func, ...);
#endif
int pcmcia_get_first_region(client_handle_t handle, region_info_t *rgn); int pcmcia_get_first_region(client_handle_t handle, region_info_t *rgn);
int pcmcia_get_next_region(client_handle_t handle, region_info_t *rgn); int pcmcia_get_next_region(client_handle_t handle, region_info_t *rgn);
int pcmcia_register_mtd(client_handle_t handle, mtd_reg_t *reg);
int pcmcia_register_erase_queue(client_handle_t *handle, eraseq_hdr_t *header, eraseq_handle_t *e);
int pcmcia_deregister_erase_queue(eraseq_handle_t eraseq);
int pcmcia_check_erase_queue(eraseq_handle_t eraseq);
int pcmcia_open_memory(client_handle_t *handle, open_mem_t *open, memory_handle_t *m);
int pcmcia_close_memory(memory_handle_t handle);
int pcmcia_read_memory(memory_handle_t handle, mem_op_t *req, caddr_t buf);
int pcmcia_write_memory(memory_handle_t handle, mem_op_t *req, caddr_t buf);
int pcmcia_copy_memory(memory_handle_t handle, copy_op_t *req);
#endif /* _LINUX_BULKMEM_H */ #endif /* _LINUX_BULKMEM_H */
...@@ -56,9 +56,6 @@ typedef struct window_t *window_handle_t; ...@@ -56,9 +56,6 @@ typedef struct window_t *window_handle_t;
struct region_t; struct region_t;
typedef struct region_t *memory_handle_t; typedef struct region_t *memory_handle_t;
struct eraseq_t;
typedef struct eraseq_t *eraseq_handle_t;
#ifndef DEV_NAME_LEN #ifndef DEV_NAME_LEN
#define DEV_NAME_LEN 32 #define DEV_NAME_LEN 32
#endif #endif
......
...@@ -135,13 +135,6 @@ struct pccard_operations { ...@@ -135,13 +135,6 @@ struct pccard_operations {
*/ */
struct pcmcia_socket; struct pcmcia_socket;
typedef struct erase_busy_t {
eraseq_entry_t *erase;
client_handle_t client;
struct timer_list timeout;
struct erase_busy_t *prev, *next;
} erase_busy_t;
typedef struct io_window_t { typedef struct io_window_t {
u_int Attributes; u_int Attributes;
ioaddr_t BasePort, NumPorts; ioaddr_t BasePort, NumPorts;
...@@ -185,7 +178,6 @@ struct pcmcia_socket { ...@@ -185,7 +178,6 @@ struct pcmcia_socket {
io_window_t io[MAX_IO_WIN]; io_window_t io[MAX_IO_WIN];
window_t win[MAX_WIN]; window_t win[MAX_WIN];
struct region_t *c_region, *a_region; struct region_t *c_region, *a_region;
erase_busy_t erase_busy;
struct list_head cis_cache; struct list_head cis_cache;
u_int fake_cis_len; u_int fake_cis_len;
char *fake_cis; char *fake_cis;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment