From 054e5dcbe4d3f5ef93245ea42d6b463ac8214644 Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Thu, 8 Jul 2010 14:29:23 +0000 Subject: [PATCH] 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. --- sys/dev/ofw/ofw_if.m | 2 +- sys/dev/ofw/ofw_standard.c | 7 +++---- sys/dev/ofw/openfirm.c | 6 +++--- sys/powerpc/ofw/ofw_real.c | 7 +++---- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/sys/dev/ofw/ofw_if.m b/sys/dev/ofw/ofw_if.m index d896e00697aa..eff85a21c810 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 5845bf380e1b..e3f8bcc87fa4 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 414b402fab55..241ce8a63695 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); } diff --git a/sys/powerpc/ofw/ofw_real.c b/sys/powerpc/ofw/ofw_real.c index 04824854a11d..9cde9773d752 100644 --- a/sys/powerpc/ofw/ofw_real.c +++ b/sys/powerpc/ofw/ofw_real.c @@ -97,7 +97,7 @@ static ssize_t ofw_real_instance_to_path(ofw_t, ihandle_t instance, char *buf, static ssize_t ofw_real_package_to_path(ofw_t, phandle_t package, char *buf, size_t len); static int ofw_real_call_method(ofw_t, ihandle_t instance, const char *method, - int nargs, int nreturns, unsigned long *args_and_returns); + int nargs, int nreturns, cell_t *args_and_returns); static ihandle_t ofw_real_open(ofw_t, const char *device); static void ofw_real_close(ofw_t, ihandle_t instance); static ssize_t ofw_real_read(ofw_t, ihandle_t instance, void *addr, size_t len); @@ -652,7 +652,7 @@ ofw_real_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_real_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; @@ -666,8 +666,7 @@ ofw_real_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)