aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/pcmcia/cistpl.h6
-rw-r--r--include/pcmcia/cs.h67
-rw-r--r--include/pcmcia/ds.h56
3 files changed, 59 insertions, 70 deletions
diff --git a/include/pcmcia/cistpl.h b/include/pcmcia/cistpl.h
index 75a9d34c6346..7e8c2bcf11a7 100644
--- a/include/pcmcia/cistpl.h
+++ b/include/pcmcia/cistpl.h
@@ -580,8 +580,8 @@ typedef struct cisinfo_t {
580 580
581#define CISTPL_MAX_CIS_SIZE 0x200 581#define CISTPL_MAX_CIS_SIZE 0x200
582 582
583int pcmcia_replace_cis(struct pcmcia_socket *s, 583#ifdef __KERNEL__
584 const u8 *data, const size_t len); 584struct pcmcia_socket;
585 585
586/* don't use outside of PCMCIA core yet */ 586/* don't use outside of PCMCIA core yet */
587int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int func, tuple_t *tuple); 587int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int func, tuple_t *tuple);
@@ -615,4 +615,6 @@ int pcmcia_loop_config(struct pcmcia_device *p_dev,
615 void *priv_data), 615 void *priv_data),
616 void *priv_data); 616 void *priv_data);
617 617
618#endif /* __KERNEL__ */
619
618#endif /* LINUX_CISTPL_H */ 620#endif /* LINUX_CISTPL_H */
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index 42c8759f0bdc..6944a74d3a7c 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -201,16 +201,6 @@ typedef struct win_req_t {
201#define WIN_BAR_MASK 0xe000 201#define WIN_BAR_MASK 0xe000
202#define WIN_BAR_SHIFT 13 202#define WIN_BAR_SHIFT 13
203 203
204/* Attributes for RegisterClient -- UNUSED -- */
205#define INFO_MASTER_CLIENT 0x01
206#define INFO_IO_CLIENT 0x02
207#define INFO_MTD_CLIENT 0x04
208#define INFO_MEM_CLIENT 0x08
209#define MAX_NUM_CLIENTS 3
210
211#define INFO_CARD_SHARE 0x10
212#define INFO_CARD_EXCL 0x20
213
214typedef struct cs_status_t { 204typedef struct cs_status_t {
215 u_char Function; 205 u_char Function;
216 event_t CardState; 206 event_t CardState;
@@ -252,61 +242,4 @@ typedef struct error_info_t {
252#define CS_EVENT_3VCARD 0x200000 242#define CS_EVENT_3VCARD 0x200000
253#define CS_EVENT_XVCARD 0x400000 243#define CS_EVENT_XVCARD 0x400000
254 244
255
256#ifdef __KERNEL__
257
258/*
259 * The main Card Services entry point
260 */
261
262enum service {
263 AccessConfigurationRegister, AddSocketServices,
264 AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
265 DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
266 GetClientInfo, GetConfigurationInfo, GetEventMask,
267 GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
268 GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
269 GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
270 MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
271 OpenMemory, ParseTuple, ReadMemory, RegisterClient,
272 RegisterEraseQueue, RegisterMTD, RegisterTimer,
273 ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
274 ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
275 RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
276 RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
277 SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
278 WriteMemory, BindDevice, BindMTD, ReportError,
279 SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
280 GetFirstWindow, GetNextWindow, GetMemPage
281};
282
283struct pcmcia_socket;
284
285int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, conf_reg_t *reg);
286int pcmcia_get_mem_page(window_handle_t win, memreq_t *req);
287int pcmcia_map_mem_page(window_handle_t win, memreq_t *req);
288int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod);
289int pcmcia_release_window(window_handle_t win);
290int pcmcia_request_configuration(struct pcmcia_device *p_dev, config_req_t *req);
291int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req);
292int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req);
293int pcmcia_request_window(struct pcmcia_device **p_dev, win_req_t *req, window_handle_t *wh);
294int pcmcia_suspend_card(struct pcmcia_socket *skt);
295int pcmcia_resume_card(struct pcmcia_socket *skt);
296int pcmcia_eject_card(struct pcmcia_socket *skt);
297int pcmcia_insert_card(struct pcmcia_socket *skt);
298int pccard_reset_card(struct pcmcia_socket *skt);
299
300struct pcmcia_device * pcmcia_dev_present(struct pcmcia_device *p_dev);
301void pcmcia_disable_device(struct pcmcia_device *p_dev);
302
303struct pcmcia_socket * pcmcia_get_socket(struct pcmcia_socket *skt);
304void pcmcia_put_socket(struct pcmcia_socket *skt);
305
306/* compatibility functions */
307#define pcmcia_reset_card(p_dev, req) \
308 pccard_reset_card(p_dev->socket)
309
310#endif /* __KERNEL__ */
311
312#endif /* _LINUX_CS_H */ 245#endif /* _LINUX_CS_H */
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index 279df0fb036e..29e403230899 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -145,7 +145,26 @@ struct pcmcia_device {
145 * or dev_dbg() directly in the driver, without referring to pcmcia_error_func() 145 * or dev_dbg() directly in the driver, without referring to pcmcia_error_func()
146 * and/or pcmcia_error_ret() for those functions will go away soon. 146 * and/or pcmcia_error_ret() for those functions will go away soon.
147 */ 147 */
148 148enum service {
149 AccessConfigurationRegister, AddSocketServices,
150 AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
151 DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
152 GetClientInfo, GetConfigurationInfo, GetEventMask,
153 GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
154 GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
155 GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
156 MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
157 OpenMemory, ParseTuple, ReadMemory, RegisterClient,
158 RegisterEraseQueue, RegisterMTD, RegisterTimer,
159 ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
160 ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
161 RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
162 RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
163 SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
164 WriteMemory, BindDevice, BindMTD, ReportError,
165 SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
166 GetFirstWindow, GetNextWindow, GetMemPage
167};
149const char *pcmcia_error_func(int func); 168const char *pcmcia_error_func(int func);
150const char *pcmcia_error_ret(int ret); 169const char *pcmcia_error_ret(int ret);
151 170
@@ -158,6 +177,32 @@ const char *pcmcia_error_ret(int ret);
158 } 177 }
159 178
160 179
180/* is the device still there? */
181struct pcmcia_device *pcmcia_dev_present(struct pcmcia_device *p_dev);
182
183/* low-level interface reset */
184int pcmcia_reset_card(struct pcmcia_socket *skt);
185
186/* CIS config */
187int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
188 conf_reg_t *reg);
189
190/* device configuration */
191int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req);
192int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req);
193int pcmcia_request_configuration(struct pcmcia_device *p_dev,
194 config_req_t *req);
195
196int pcmcia_request_window(struct pcmcia_device **p_dev, win_req_t *req,
197 window_handle_t *wh);
198int pcmcia_release_window(window_handle_t win);
199
200int pcmcia_get_mem_page(window_handle_t win, memreq_t *req);
201int pcmcia_map_mem_page(window_handle_t win, memreq_t *req);
202
203int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod);
204void pcmcia_disable_device(struct pcmcia_device *p_dev);
205
161#endif /* __KERNEL__ */ 206#endif /* __KERNEL__ */
162 207
163 208
@@ -341,6 +386,15 @@ typedef union ds_ioctl_arg_t {
341/* used in userspace only */ 386/* used in userspace only */
342#define CS_IN_USE 0x1e 387#define CS_IN_USE 0x1e
343 388
389#define INFO_MASTER_CLIENT 0x01
390#define INFO_IO_CLIENT 0x02
391#define INFO_MTD_CLIENT 0x04
392#define INFO_MEM_CLIENT 0x08
393#define MAX_NUM_CLIENTS 3
394
395#define INFO_CARD_SHARE 0x10
396#define INFO_CARD_EXCL 0x20
397
344 398
345#endif /* !defined(__KERNEL__) || defined(CONFIG_PCMCIA_IOCTL) */ 399#endif /* !defined(__KERNEL__) || defined(CONFIG_PCMCIA_IOCTL) */
346 400