summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2008-08-03 11:47:29 +0200
committerDominik Brodowski <linux@dominikbrodowski.net>2008-08-23 02:29:54 +0200
commit635d19bea0e91df473a81391ec8f3db2d049a218 (patch)
tree8886deb8530f815711ad0c65bc35ce491f25f3f9
parentf958095ef4fc96e978c6eddcaca29100e5276c7f (diff)
downloadlinux-stable-635d19bea0e91df473a81391ec8f3db2d049a218.tar.gz
linux-stable-635d19bea0e91df473a81391ec8f3db2d049a218.tar.bz2
linux-stable-635d19bea0e91df473a81391ec8f3db2d049a218.zip
pcmcia: deprecate CS_NO_MORE_ITEMS
CS_NO_MORE_ITEMS is returned by the CIS tuple reading and parsing code if the end of a tuple chain is reached. As at least one PCMCIA driver relies on matching this return value, replace it with -ENOSPC which is now uniquely used for this purpose within the in-kernel pcmcia subsystem. CC: Russell King <rmk+kernel@arm.linux.org.uk> CC: linux-serial@vger.kernel.org CC: Michael Buesch <mb@bu3sch.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
-rw-r--r--drivers/pcmcia/cistpl.c10
-rw-r--r--drivers/pcmcia/ds.c2
-rw-r--r--drivers/pcmcia/pcmcia_ioctl.c2
-rw-r--r--drivers/pcmcia/pcmcia_resource.c2
-rw-r--r--drivers/serial/serial_cs.c2
-rw-r--r--drivers/ssb/pcmcia.c2
-rw-r--r--include/pcmcia/cs.h2
7 files changed, 11 insertions, 11 deletions
diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
index 660e162c502f..a59e09dd8557 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
@@ -450,7 +450,7 @@ int pccard_get_first_tuple(struct pcmcia_socket *s, unsigned int function, tuple
if (pccard_get_next_tuple(s, function, tuple) == 0) {
tuple->DesiredTuple = CISTPL_LINKTARGET;
if (pccard_get_next_tuple(s, function, tuple) != 0)
- return CS_NO_MORE_ITEMS;
+ return -ENOSPC;
} else
tuple->CISOffset = tuple->TupleLink = 0;
tuple->DesiredTuple = req;
@@ -526,7 +526,7 @@ int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int function, tuple_
/* End of chain? Follow long link if possible */
if (link[0] == CISTPL_END) {
if ((ofs = follow_link(s, tuple)) < 0)
- return CS_NO_MORE_ITEMS;
+ return -ENOSPC;
attr = SPACE(tuple->Flags);
read_cis_cache(s, attr, ofs, 2, link);
}
@@ -584,7 +584,7 @@ int pccard_get_next_tuple(struct pcmcia_socket *s, unsigned int function, tuple_
}
if (i == MAX_TUPLES) {
cs_dbg(s, 1, "cs: overrun in pcmcia_get_next_tuple\n");
- return CS_NO_MORE_ITEMS;
+ return -ENOSPC;
}
tuple->TupleCode = link[0];
@@ -606,7 +606,7 @@ int pccard_get_tuple_data(struct pcmcia_socket *s, tuple_t *tuple)
return -EINVAL;
if (tuple->TupleLink < tuple->TupleOffset)
- return CS_NO_MORE_ITEMS;
+ return -ENOSPC;
len = tuple->TupleLink - tuple->TupleOffset;
tuple->TupleDataLen = tuple->TupleLink;
if (len == 0)
@@ -1490,7 +1490,7 @@ int pccard_validate_cis(struct pcmcia_socket *s, unsigned int function, unsigned
cards have only a broken VERS_2 tuple; hence the bogus test. */
if ((pccard_read_tuple(s, function, CISTPL_MANFID, p) == 0) ||
(pccard_read_tuple(s, function, CISTPL_VERS_1, p) == 0) ||
- (pccard_read_tuple(s, function, CISTPL_VERS_2, p) != CS_NO_MORE_ITEMS))
+ (pccard_read_tuple(s, function, CISTPL_VERS_2, p) != -ENOSPC))
ident_ok++;
if (!dev_ok && !ident_ok)
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 7f38eb06c81e..591d9627bb2a 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -88,7 +88,7 @@ static const lookup_t error_table[] = {
{ CS_BAD_ARGS, "Bad arguments" },
{ -EACCES, "Configuration locked" },
{ CS_IN_USE, "Resource in use" },
- { CS_NO_MORE_ITEMS, "No more items" },
+ { -ENOSPC, "No more items" },
{ CS_OUT_OF_RESOURCE, "Out of resource" },
{ CS_BAD_TUPLE, "Bad CIS tuple" }
};
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index ed8c4fb1e8c1..a6289e5a75e1 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -973,7 +973,7 @@ static int ds_ioctl(struct inode * inode, struct file * file,
err = -EBUSY; break;
case CS_OUT_OF_RESOURCE:
err = -ENOSPC; break;
- case CS_NO_MORE_ITEMS:
+ case -ENOSPC:
err = -ENODATA; break;
case -ENOSYS:
err = -ENOSYS; break;
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 670465d4aac2..8f2c805e793b 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -211,7 +211,7 @@ int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle,
if (s->state & SOCKET_WIN_REQ(w))
break;
if (w == MAX_WIN)
- return CS_NO_MORE_ITEMS;
+ return -EINVAL;
win = &s->win[w];
req->Base = win->ctl.res->start;
req->Size = win->ctl.res->end - win->ctl.res->start + 1;
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index ea7e3c0e02d9..dbb3bf3065fa 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -432,7 +432,7 @@ first_tuple(struct pcmcia_device *handle, tuple_t * tuple, cisparse_t * parse)
int i;
i = pcmcia_get_first_tuple(handle, tuple);
if (i != 0)
- return CS_NO_MORE_ITEMS;
+ return i;
i = pcmcia_get_tuple_data(handle, tuple);
if (i != 0)
return i;
diff --git a/drivers/ssb/pcmcia.c b/drivers/ssb/pcmcia.c
index 96993080c7d1..fbfadbac67e8 100644
--- a/drivers/ssb/pcmcia.c
+++ b/drivers/ssb/pcmcia.c
@@ -733,7 +733,7 @@ int ssb_pcmcia_get_invariants(struct ssb_bus *bus,
break;
}
res = pcmcia_get_next_tuple(bus->host_pcmcia, &tuple);
- if (res == CS_NO_MORE_ITEMS)
+ if (res == -ENOSPC)
break;
GOTO_ERROR_ON(res != 0, "VEN next tpl");
res = pcmcia_get_tuple_data(bus->host_pcmcia, &tuple);
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index 2dc1411b27c9..20440defd1d0 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -315,7 +315,7 @@ typedef struct error_info_t {
#define CS_BAD_ARGS 0x1c
#define CS_CONFIGURATION_LOCKED -EACCES
#define CS_IN_USE -EBUSY
-#define CS_NO_MORE_ITEMS 0x1f
+#define CS_NO_MORE_ITEMS -ENOSPC
#define CS_OUT_OF_RESOURCE -ENOMEM
#define CS_BAD_HANDLE -EINVAL