aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/dwc2/hcd.c
diff options
context:
space:
mode:
authorMatthijs Kooijman <matthijs@stdin.nl>2013-04-11 18:43:47 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-04-11 13:27:39 -0700
commit8284f93b3d8b21e30bd8fde97686433a52b49c58 (patch)
tree0a7963893ab3b1e1d16d2d1eba74dc95a244ab08 /drivers/staging/dwc2/hcd.c
parentstaging: dwc2: set the driver name to "dwc2" (diff)
downloadlinux-dev-8284f93b3d8b21e30bd8fde97686433a52b49c58.tar.xz
linux-dev-8284f93b3d8b21e30bd8fde97686433a52b49c58.zip
staging: dwc2: Make dwc2_set_uninitialized more specific
Before, it was a function that would set all members of a given struct containing only int members to -1. Now, it is renamed to dwc_set_all_params and it works only on the dwc2_core_params struct. This makes sure that all of the slightly dubious casting and assumptions happen inside the function instead of by the caller. Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl> Acked-by: Paul Zimmerman <paulz@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/dwc2/hcd.c')
-rw-r--r--drivers/staging/dwc2/hcd.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/staging/dwc2/hcd.c b/drivers/staging/dwc2/hcd.c
index 4d5f34e72edb..bc9c3c51be75 100644
--- a/drivers/staging/dwc2/hcd.c
+++ b/drivers/staging/dwc2/hcd.c
@@ -2679,8 +2679,15 @@ static void dwc2_hcd_release(struct dwc2_hsotg *hsotg)
dwc2_hcd_free(hsotg);
}
-static void dwc2_set_uninitialized(int *p, int size)
+/*
+ * Sets all parameters to the given value.
+ *
+ * Assumes that the dwc2_core_params struct contains only integers.
+ */
+void dwc2_set_all_params(struct dwc2_core_params *params, int value)
{
+ int *p = (int *)params;
+ size_t size = sizeof(*params) / sizeof(*p);
int i;
for (i = 0; i < size; i++)
@@ -2789,8 +2796,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq,
if (!hsotg->core_params)
goto error1;
- dwc2_set_uninitialized((int *)hsotg->core_params,
- sizeof(*hsotg->core_params) / sizeof(int));
+ dwc2_set_all_params(hsotg->core_params, -1);
/* Validate parameter values */
dwc2_set_parameters(hsotg, params);