commit c649d3738ce82838bdd35eb61d7ec91c41231165
parent 21fad6d19fbb4da678d10e34640cd47adf5eb469
Author: Roberto Vargas <roberto.vargas@arm.com>
Date: Tue, 19 Feb 2019 10:17:27 +0000
[drivers] Remove devdata structure
Change-Id: Icbdfdbd42d45665980f54e3a07528cb17d8745b1
Diffstat:
6 files changed, 5 insertions(+), 22 deletions(-)
diff --git a/drivers/dev.c b/drivers/dev.c
@@ -104,19 +104,12 @@ clone(Chan *c, Chan *nc)
static void
chanclose(Chan *c)
{
- struct devdata *dinfo = devdata();
c->qid = 0;
c->type = NODEV;
c->dev = 0;
c->offset = 0;
}
-struct devdata *
-devdata(void)
-{
- return devinfo;
-}
-
Chan *
namec(const char *name, int mode)
{
diff --git a/drivers/dev.h b/drivers/dev.h
@@ -43,10 +43,6 @@ struct attr {
char *value;
};
-struct devdata {
- Uart *uarts[NR_UARTS];
-};
-
extern Chan *devclone(Chan *c, Chan *nc);
extern Chan *devattach(const char *spec, int id);
extern Chan *devclone(Chan *c, Chan *nc);
@@ -63,6 +59,5 @@ extern int devdirread(Chan *c,
unsigned char *buf, int nbytes,
const Dirtab *tab, int ntab,
Devgen *gen);
-extern struct devdata *devdata(void);
extern Dev *const devtab[];
diff --git a/drivers/devuart.c b/drivers/devuart.c
@@ -24,6 +24,8 @@ static const Dirtab dirtab[] = {
{"ctl", Qctl, 0, O_READ | O_WRITE}
};
+static Uart *uarts[NR_UARTS];
+
static int
uartgen(Chan *c, const Dirtab *tab, int ntab, int n, Dir *dir)
{
@@ -73,7 +75,7 @@ getuart(Chan *c)
{
if (c->dev >= NR_UARTS)
panic("getuart");
- return devdata()->uarts[c->dev];
+ return uarts[c->dev];
}
static int
@@ -271,20 +273,18 @@ uartphy(Uartphy *phy)
{
size_t siz;
Uart *up;
- struct devdata *dinfo;
int i;
siz = sizeof(Uart);
up = memset(alloc(siz), 0, siz);
up->phy = phy;
- dinfo = devdata();
- for (i = 0; i < NR_UARTS && dinfo->uarts[i] ; i++)
+ for (i = 0; i < NR_UARTS && uarts[i] ; i++)
;
if (i == NR_UARTS)
panic("uartphy");
- return dinfo->uarts[i] = up;
+ return uarts[i] = up;
}
void
diff --git a/include/rcode/romfw.h b/include/rcode/romfw.h
@@ -23,5 +23,4 @@ extern unsigned char enable; /* System realm enablement */
extern unsigned char hascrypto; /* System-wide memory encryption */
extern int errno_;
-extern struct devdata *devinfo;
extern struct rmctab romtab;
diff --git a/target/hosted/rom.c b/target/hosted/rom.c
@@ -24,8 +24,6 @@ unsigned char hascrypto;/* System-wide memory encryption */
int errno_;
-struct devdata *devinfo;
-
void *
alloc(size_t size)
{
diff --git a/target/native/rom.c b/target/native/rom.c
@@ -34,8 +34,6 @@ unsigned char hascrypto;/* System-wide memory encryption */
int errno_;
-struct devdata *devinfo;
-
struct mach {
struct trapframe frame;
void *env;