pcmcia: move some window-related code to pcmcia_ioctl.c
pcmcia_get_window() and pcmcia_get_mem_page() were only called from pcmcia_ioctl.c. Therefore, move these functions to that file, and remove the useless EXPORTs. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
@@ -148,10 +148,6 @@ extern struct rw_semaphore pcmcia_socket_list_rwsem;
|
|||||||
extern struct list_head pcmcia_socket_list;
|
extern struct list_head pcmcia_socket_list;
|
||||||
extern struct class pcmcia_socket_class;
|
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);
|
int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c);
|
||||||
struct pcmcia_socket *pcmcia_get_socket_by_nr(unsigned int nr);
|
struct pcmcia_socket *pcmcia_get_socket_by_nr(unsigned int nr);
|
||||||
|
|
||||||
@@ -227,8 +223,6 @@ extern void pcmcia_put_dev(struct pcmcia_device *p_dev);
|
|||||||
|
|
||||||
struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s,
|
struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s,
|
||||||
unsigned int function);
|
unsigned int function);
|
||||||
int pcmcia_get_mem_page(struct pcmcia_socket *skt, window_handle_t win,
|
|
||||||
memreq_t *req);
|
|
||||||
|
|
||||||
/* pcmcia_ioctl.c */
|
/* pcmcia_ioctl.c */
|
||||||
extern void __init pcmcia_setup_ioctl(void);
|
extern void __init pcmcia_setup_ioctl(void);
|
||||||
|
@@ -218,6 +218,61 @@ static int pcmcia_adjust_resource_info(adjust_t *adj)
|
|||||||
return (ret);
|
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
|
/** pccard_get_status
|
||||||
*
|
*
|
||||||
* Get the current socket state bits. We don't support the latched
|
* Get the current socket state bits. We don't support the latched
|
||||||
|
@@ -185,63 +185,6 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
|
|||||||
EXPORT_SYMBOL(pcmcia_access_configuration_register);
|
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,
|
int pcmcia_map_mem_page(struct pcmcia_device *p_dev, window_handle_t wh,
|
||||||
memreq_t *req)
|
memreq_t *req)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user