diff options
Diffstat (limited to 'arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c')
-rw-r--r-- | arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c index af358ca05160..edd5761f7336 100644 --- a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c +++ b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | |||
@@ -64,19 +64,19 @@ static bool bw_validate(char *buf, unsigned long *data, struct rdt_resource *r) | |||
64 | return true; | 64 | return true; |
65 | } | 65 | } |
66 | 66 | ||
67 | int parse_bw(void *_buf, struct rdt_resource *r, struct rdt_domain *d) | 67 | int parse_bw(struct rdt_parse_data *data, struct rdt_resource *r, |
68 | struct rdt_domain *d) | ||
68 | { | 69 | { |
69 | unsigned long data; | 70 | unsigned long bw_val; |
70 | char *buf = _buf; | ||
71 | 71 | ||
72 | if (d->have_new_ctrl) { | 72 | if (d->have_new_ctrl) { |
73 | rdt_last_cmd_printf("duplicate domain %d\n", d->id); | 73 | rdt_last_cmd_printf("duplicate domain %d\n", d->id); |
74 | return -EINVAL; | 74 | return -EINVAL; |
75 | } | 75 | } |
76 | 76 | ||
77 | if (!bw_validate(buf, &data, r)) | 77 | if (!bw_validate(data->buf, &bw_val, r)) |
78 | return -EINVAL; | 78 | return -EINVAL; |
79 | d->new_ctrl = data; | 79 | d->new_ctrl = bw_val; |
80 | d->have_new_ctrl = true; | 80 | d->have_new_ctrl = true; |
81 | 81 | ||
82 | return 0; | 82 | return 0; |
@@ -123,18 +123,13 @@ static bool cbm_validate(char *buf, u32 *data, struct rdt_resource *r) | |||
123 | return true; | 123 | return true; |
124 | } | 124 | } |
125 | 125 | ||
126 | struct rdt_cbm_parse_data { | ||
127 | struct rdtgroup *rdtgrp; | ||
128 | char *buf; | ||
129 | }; | ||
130 | |||
131 | /* | 126 | /* |
132 | * Read one cache bit mask (hex). Check that it is valid for the current | 127 | * Read one cache bit mask (hex). Check that it is valid for the current |
133 | * resource type. | 128 | * resource type. |
134 | */ | 129 | */ |
135 | int parse_cbm(void *_data, struct rdt_resource *r, struct rdt_domain *d) | 130 | int parse_cbm(struct rdt_parse_data *data, struct rdt_resource *r, |
131 | struct rdt_domain *d) | ||
136 | { | 132 | { |
137 | struct rdt_cbm_parse_data *data = _data; | ||
138 | struct rdtgroup *rdtgrp = data->rdtgrp; | 133 | struct rdtgroup *rdtgrp = data->rdtgrp; |
139 | u32 cbm_val; | 134 | u32 cbm_val; |
140 | 135 | ||
@@ -195,7 +190,7 @@ int parse_cbm(void *_data, struct rdt_resource *r, struct rdt_domain *d) | |||
195 | static int parse_line(char *line, struct rdt_resource *r, | 190 | static int parse_line(char *line, struct rdt_resource *r, |
196 | struct rdtgroup *rdtgrp) | 191 | struct rdtgroup *rdtgrp) |
197 | { | 192 | { |
198 | struct rdt_cbm_parse_data data; | 193 | struct rdt_parse_data data; |
199 | char *dom = NULL, *id; | 194 | char *dom = NULL, *id; |
200 | struct rdt_domain *d; | 195 | struct rdt_domain *d; |
201 | unsigned long dom_id; | 196 | unsigned long dom_id; |