pcmcia: only copy CIS override data once
Instead of copying CIS override data in socket_sysfs.c or ds.c, and then again
in cistpl.c, only do so once. Also, cisdump_t is now only used by the
deprecated ioctl.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
diff --git a/include/pcmcia/cistpl.h b/include/pcmcia/cistpl.h
index e2e10c1..552a332 100644
--- a/include/pcmcia/cistpl.h
+++ b/include/pcmcia/cistpl.h
@@ -580,14 +580,8 @@
#define CISTPL_MAX_CIS_SIZE 0x200
-/* For ReplaceCIS */
-typedef struct cisdump_t {
- u_int Length;
- cisdata_t Data[CISTPL_MAX_CIS_SIZE];
-} cisdump_t;
-
-
-int pcmcia_replace_cis(struct pcmcia_socket *s, cisdump_t *cis);
+int pcmcia_replace_cis(struct pcmcia_socket *s,
+ const u8 *data, const size_t len);
/* don't use outside of PCMCIA core yet */
int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int func, tuple_t *tuple);
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index b316027..2d36a4f 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -68,6 +68,12 @@
#define REGION_BAR_MASK 0xe000
#define REGION_BAR_SHIFT 13
+/* For ReplaceCIS */
+typedef struct cisdump_t {
+ u_int Length;
+ cisdata_t Data[CISTPL_MAX_CIS_SIZE];
+} cisdump_t;
+
typedef union ds_ioctl_arg_t {
adjust_t adjust;
config_info_t config;
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index ed919dd..e34bef0 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -199,8 +199,8 @@
io_window_t io[MAX_IO_WIN];
window_t win[MAX_WIN];
struct list_head cis_cache;
- u_int fake_cis_len;
- char *fake_cis;
+ size_t fake_cis_len;
+ u8 *fake_cis;
struct list_head socket_list;
struct completion socket_released;