9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 50c4759df3100f4f8a6a8364b559796c1ce03569
parent 4ecb8231adc2587faeaa35718f26906c6eaabd9d
Author: Roberto Vargas <roberto.vargas@arm.com>
Date:   Thu, 28 Feb 2019 16:53:14 +0000

[dev] Simplify clone()

We can use the same implementation for all the devices.

Change-Id: Iee2941a2231384df018d756cd4ccac452ad22f2e

Diffstat:
Mdrivers/dev.c | 8+-------
Mdrivers/dev.h | 7+++----
Mdrivers/devblob.c | 1-
Mdrivers/devroot.c | 1-
Mdrivers/devuart.c | 1-
5 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/drivers/dev.c b/drivers/dev.c @@ -111,12 +111,6 @@ devtype(int c) return i; } -static Chan * -clone(Chan *c, Chan *nc) -{ - return devtab[c->type]->clone(c, nc); -} - void chanclose(Chan *c) { @@ -220,7 +214,7 @@ notfound: } Chan * -devclone(Chan *c, Chan *nc) +clone(Chan *c, Chan *nc) { if (!nc && (nc = newchan(c->type)) == NULL) return NULL; diff --git a/drivers/dev.h b/drivers/dev.h @@ -22,7 +22,6 @@ struct dirtab { struct dev { char id; char name[NAMELEN]; - Chan * (*clone)(Chan *c, Chan *nc); int (*walk)(Chan *c, const char *name); int (*read)(Chan *c, void *buf, int n); int (*write)(Chan *c, void *buf, int n); @@ -41,11 +40,11 @@ struct attr { char *value; }; -extern Chan *devclone(Chan *c, Chan *nc); -extern Chan *devclone(Chan *c, Chan *nc); +extern Chan *clone(Chan *c, Chan *nc); +extern void chanclose(Chan *c); + extern void devlink(void); extern int devwrite(Chan *c, void *buf, int n); -extern void chanclose(Chan *c); extern int devgen(Chan *c, const Dirtab *tab, int ntab, int n, diff --git a/drivers/devblob.c b/drivers/devblob.c @@ -146,7 +146,6 @@ blobwrite(Chan *c, void *buf, int n) const Dev blobdevtab = { .id = 'b', .name = "blob", - .clone = devclone, .walk = blobwalk, .read = blobread, .write = blobwrite, diff --git a/drivers/devroot.c b/drivers/devroot.c @@ -60,7 +60,6 @@ rootread(Chan *c, void *buf, int n) const Dev rootdevtab = { .id = '/', .name = "root", - .clone = devclone, .walk = rootwalk, .read = rootread, .write = devwrite, diff --git a/drivers/devuart.c b/drivers/devuart.c @@ -264,7 +264,6 @@ const Dev uartdevtab = { .id = 't', .name = "uart", .walk = uartwalk, - .clone = devclone, .read = uartread, .write = uartwrite, };