Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169139
b: refs/heads/master
c: d7b0364
h: refs/heads/master
i:
  169137: cab9232
  169135: e39720b
v: v3
  • Loading branch information
Dominik Brodowski committed Nov 28, 2009
1 parent 32b04c4 commit 1091023
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 64 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0bdf9b3dd3cfa5cbd5d55172c19f5dd166208e17
refs/heads/master: d7b0364bfc71c4abc97dfc47f85bb32363266e4e
6 changes: 0 additions & 6 deletions trunk/drivers/pcmcia/cs_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,6 @@ extern struct rw_semaphore pcmcia_socket_list_rwsem;
extern struct list_head pcmcia_socket_list;
extern struct class pcmcia_socket_class;

int pcmcia_get_window(struct pcmcia_socket *s,
window_handle_t *wh_out,
window_handle_t wh,
win_req_t *req);
int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c);
struct pcmcia_socket *pcmcia_get_socket_by_nr(unsigned int nr);

Expand Down Expand Up @@ -227,8 +223,6 @@ extern void pcmcia_put_dev(struct pcmcia_device *p_dev);

struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s,
unsigned int function);
int pcmcia_get_mem_page(struct pcmcia_socket *skt, window_handle_t win,
memreq_t *req);

/* pcmcia_ioctl.c */
extern void __init pcmcia_setup_ioctl(void);
Expand Down
55 changes: 55 additions & 0 deletions trunk/drivers/pcmcia/pcmcia_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,61 @@ static int pcmcia_adjust_resource_info(adjust_t *adj)
return (ret);
}


/** pcmcia_get_window
*/
static int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *wh_out,
window_handle_t wh, win_req_t *req)
{
window_t *win;
window_handle_t w;

wh--;
if (!s || !(s->state & SOCKET_PRESENT))
return -ENODEV;
if (wh >= MAX_WIN)
return -EINVAL;
for (w = wh; w < MAX_WIN; w++)
if (s->state & SOCKET_WIN_REQ(w))
break;
if (w == MAX_WIN)
return -EINVAL;
win = &s->win[w];
req->Base = win->ctl.res->start;
req->Size = win->ctl.res->end - win->ctl.res->start + 1;
req->AccessSpeed = win->ctl.speed;
req->Attributes = 0;
if (win->ctl.flags & MAP_ATTRIB)
req->Attributes |= WIN_MEMORY_TYPE_AM;
if (win->ctl.flags & MAP_ACTIVE)
req->Attributes |= WIN_ENABLE;
if (win->ctl.flags & MAP_16BIT)
req->Attributes |= WIN_DATA_WIDTH_16;
if (win->ctl.flags & MAP_USE_WAIT)
req->Attributes |= WIN_USE_WAIT;

*wh_out = w + 1;
return 0;
} /* pcmcia_get_window */


/** pcmcia_get_mem_page
*
* Change the card address of an already open memory window.
*/
static int pcmcia_get_mem_page(struct pcmcia_socket *skt, window_handle_t wh,
memreq_t *req)
{
wh--;
if (wh >= MAX_WIN)
return -EINVAL;

req->Page = 0;
req->CardOffset = skt->win[wh].ctl.card_start;
return 0;
} /* pcmcia_get_mem_page */


/** pccard_get_status
*
* Get the current socket state bits. We don't support the latched
Expand Down
57 changes: 0 additions & 57 deletions trunk/drivers/pcmcia/pcmcia_resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -185,63 +185,6 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
EXPORT_SYMBOL(pcmcia_access_configuration_register);


/** pcmcia_get_window
*/
int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *wh_out,
window_handle_t wh, win_req_t *req)
{
window_t *win;
window_handle_t w;

if (!s || !(s->state & SOCKET_PRESENT))
return -ENODEV;

wh--;
if (wh >= MAX_WIN)
return -EINVAL;
for (w = wh; w < MAX_WIN; w++)
if (s->state & SOCKET_WIN_REQ(w))
break;
if (w == MAX_WIN)
return -EINVAL;
win = &s->win[w];
req->Base = win->ctl.res->start;
req->Size = win->ctl.res->end - win->ctl.res->start + 1;
req->AccessSpeed = win->ctl.speed;
req->Attributes = 0;
if (win->ctl.flags & MAP_ATTRIB)
req->Attributes |= WIN_MEMORY_TYPE_AM;
if (win->ctl.flags & MAP_ACTIVE)
req->Attributes |= WIN_ENABLE;
if (win->ctl.flags & MAP_16BIT)
req->Attributes |= WIN_DATA_WIDTH_16;
if (win->ctl.flags & MAP_USE_WAIT)
req->Attributes |= WIN_USE_WAIT;

*wh_out = w++;
return 0;
} /* pcmcia_get_window */
EXPORT_SYMBOL(pcmcia_get_window);


/** pcmcia_get_mem_page
*
* Change the card address of an already open memory window.
*/
int pcmcia_get_mem_page(struct pcmcia_socket *skt, window_handle_t wh,
memreq_t *req)
{
wh--;
if (wh >= MAX_WIN)
return -EINVAL;

req->Page = 0;
req->CardOffset = skt->win[wh].ctl.card_start;
return 0;
} /* pcmcia_get_mem_page */
EXPORT_SYMBOL(pcmcia_get_mem_page);


int pcmcia_map_mem_page(struct pcmcia_device *p_dev, window_handle_t wh,
memreq_t *req)
{
Expand Down

0 comments on commit 1091023

Please sign in to comment.