aboutsummaryrefslogtreecommitdiffstats
path: root/include/pcmcia/ds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pcmcia/ds.h')
-rw-r--r--include/pcmcia/ds.h56
1 files changed, 55 insertions, 1 deletions
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