diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-07-08 14:29:23 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-07-08 14:29:23 +0000 |
commit | b85d8a68d9fa34d4f2fe1d4a3b1eb0091b2c9bc3 (patch) | |
tree | 9637f8ab7789c026052bf168ab51a2449044666b /sys/dev/ofw | |
parent | 6ce8619526c2226cb93af40b5da3586ae5cd9154 (diff) | |
download | FreeBSD-src-b85d8a68d9fa34d4f2fe1d4a3b1eb0091b2c9bc3.zip FreeBSD-src-b85d8a68d9fa34d4f2fe1d4a3b1eb0091b2c9bc3.tar.gz |
Change the argument type to OF_call_method to take an array of cell_t
instead of unsigned longs to prepare for platforms where they are not
the same.
Diffstat (limited to 'sys/dev/ofw')
-rw-r--r-- | sys/dev/ofw/ofw_if.m | 2 | ||||
-rw-r--r-- | sys/dev/ofw/ofw_standard.c | 7 | ||||
-rw-r--r-- | sys/dev/ofw/openfirm.c | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/ofw/ofw_if.m b/sys/dev/ofw/ofw_if.m index d896e00..eff85a2 100644 --- a/sys/dev/ofw/ofw_if.m +++ b/sys/dev/ofw/ofw_if.m @@ -229,7 +229,7 @@ METHOD int call_method { int _nargs; int _nreturns; - unsigned long *_args_and_returns; + cell_t *_args_and_returns; }; /** diff --git a/sys/dev/ofw/ofw_standard.c b/sys/dev/ofw/ofw_standard.c index 5845bf3..e3f8bcc 100644 --- a/sys/dev/ofw/ofw_standard.c +++ b/sys/dev/ofw/ofw_standard.c @@ -95,7 +95,7 @@ static ssize_t ofw_std_package_to_path(ofw_t ofw, phandle_t package, char *buf, size_t len); static int ofw_std_call_method(ofw_t ofw, ihandle_t instance, const char *method, int nargs, int nreturns, - unsigned long *args_and_returns); + cell_t *args_and_returns); static ihandle_t ofw_std_open(ofw_t ofw, const char *device); static void ofw_std_close(ofw_t ofw, ihandle_t instance); static ssize_t ofw_std_read(ofw_t ofw, ihandle_t instance, void *addr, @@ -515,7 +515,7 @@ ofw_std_package_to_path(ofw_t ofw, phandle_t package, char *buf, size_t len) /* Call the method in the scope of a given instance. */ static int ofw_std_call_method(ofw_t ofw, ihandle_t instance, const char *method, - int nargs, int nreturns, unsigned long *args_and_returns) + int nargs, int nreturns, cell_t *args_and_returns) { struct { cell_t name; @@ -529,8 +529,7 @@ ofw_std_call_method(ofw_t ofw, ihandle_t instance, const char *method, 2, 1, }; - cell_t *cp; - unsigned long *ap; + cell_t *cp, *ap; int n; if (nargs > 6) diff --git a/sys/dev/ofw/openfirm.c b/sys/dev/ofw/openfirm.c index 414b402..241ce8a63 100644 --- a/sys/dev/ofw/openfirm.c +++ b/sys/dev/ofw/openfirm.c @@ -328,14 +328,14 @@ OF_call_method(const char *method, ihandle_t instance, int nargs, int nreturns, ...) { va_list ap; - unsigned long args_n_results[12]; + cell_t args_n_results[12]; int n, status; if (nargs > 6) return (-1); va_start(ap, nreturns); for (n = 0; n < nargs; n++) - args_n_results[n] = va_arg(ap, unsigned long); + args_n_results[n] = va_arg(ap, cell_t); status = OFW_CALL_METHOD(ofw_obj, instance, method, nargs, nreturns, args_n_results); @@ -343,7 +343,7 @@ OF_call_method(const char *method, ihandle_t instance, int nargs, int nreturns, return (status); for (; n < nargs + nreturns; n++) - *va_arg(ap, unsigned long *) = args_n_results[n]; + *va_arg(ap, cell_t *) = args_n_results[n]; va_end(ap); return (0); } |