diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2016-09-21 08:41:32 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-09-27 23:24:28 -0400 |
commit | 5f9367a8d283495341a7628d83b6a2f505417ecb (patch) | |
tree | 21f238b2f2624508d328a2d5dcbe024f8761ffaa | |
parent | e7282b66a3bc8650cb9f5acfe63c819ba09015ca (diff) |
dmaengine: ti-dma-crossbar: Fix of_device_id data parameter usage
Use pointers to static constant variables for crossbar type and for DMA
offset configuration.
Fixes compiler warnings on 64bit architectures:
drivers/dma/ti-dma-crossbar.c: In function ‘ti_dra7_xbar_probe’:
drivers/dma/ti-dma-crossbar.c:398:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
xbar->dma_offset = (u32)match->data;
^
drivers/dma/ti-dma-crossbar.c: In function ‘ti_dma_xbar_probe’:
drivers/dma/ti-dma-crossbar.c:431:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
switch ((u32)match->data) {
^
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
-rw-r--r-- | drivers/dma/ti-dma-crossbar.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/drivers/dma/ti-dma-crossbar.c b/drivers/dma/ti-dma-crossbar.c index e4f3bd1ae264..3f24aeb48c0e 100644 --- a/drivers/dma/ti-dma-crossbar.c +++ b/drivers/dma/ti-dma-crossbar.c | |||
@@ -18,15 +18,19 @@ | |||
18 | 18 | ||
19 | #define TI_XBAR_DRA7 0 | 19 | #define TI_XBAR_DRA7 0 |
20 | #define TI_XBAR_AM335X 1 | 20 | #define TI_XBAR_AM335X 1 |
21 | static const u32 ti_xbar_type[] = { | ||
22 | [TI_XBAR_DRA7] = TI_XBAR_DRA7, | ||
23 | [TI_XBAR_AM335X] = TI_XBAR_AM335X, | ||
24 | }; | ||
21 | 25 | ||
22 | static const struct of_device_id ti_dma_xbar_match[] = { | 26 | static const struct of_device_id ti_dma_xbar_match[] = { |
23 | { | 27 | { |
24 | .compatible = "ti,dra7-dma-crossbar", | 28 | .compatible = "ti,dra7-dma-crossbar", |
25 | .data = (void *)TI_XBAR_DRA7, | 29 | .data = &ti_xbar_type[TI_XBAR_DRA7], |
26 | }, | 30 | }, |
27 | { | 31 | { |
28 | .compatible = "ti,am335x-edma-crossbar", | 32 | .compatible = "ti,am335x-edma-crossbar", |
29 | .data = (void *)TI_XBAR_AM335X, | 33 | .data = &ti_xbar_type[TI_XBAR_AM335X], |
30 | }, | 34 | }, |
31 | {}, | 35 | {}, |
32 | }; | 36 | }; |
@@ -190,9 +194,6 @@ static int ti_am335x_xbar_probe(struct platform_device *pdev) | |||
190 | #define TI_DRA7_XBAR_OUTPUTS 127 | 194 | #define TI_DRA7_XBAR_OUTPUTS 127 |
191 | #define TI_DRA7_XBAR_INPUTS 256 | 195 | #define TI_DRA7_XBAR_INPUTS 256 |
192 | 196 | ||
193 | #define TI_XBAR_EDMA_OFFSET 0 | ||
194 | #define TI_XBAR_SDMA_OFFSET 1 | ||
195 | |||
196 | struct ti_dra7_xbar_data { | 197 | struct ti_dra7_xbar_data { |
197 | void __iomem *iomem; | 198 | void __iomem *iomem; |
198 | 199 | ||
@@ -280,18 +281,25 @@ static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec, | |||
280 | return map; | 281 | return map; |
281 | } | 282 | } |
282 | 283 | ||
284 | #define TI_XBAR_EDMA_OFFSET 0 | ||
285 | #define TI_XBAR_SDMA_OFFSET 1 | ||
286 | static const u32 ti_dma_offset[] = { | ||
287 | [TI_XBAR_EDMA_OFFSET] = 0, | ||
288 | [TI_XBAR_SDMA_OFFSET] = 1, | ||
289 | }; | ||
290 | |||
283 | static const struct of_device_id ti_dra7_master_match[] = { | 291 | static const struct of_device_id ti_dra7_master_match[] = { |
284 | { | 292 | { |
285 | .compatible = "ti,omap4430-sdma", | 293 | .compatible = "ti,omap4430-sdma", |
286 | .data = (void *)TI_XBAR_SDMA_OFFSET, | 294 | .data = &ti_dma_offset[TI_XBAR_SDMA_OFFSET], |
287 | }, | 295 | }, |
288 | { | 296 | { |
289 | .compatible = "ti,edma3", | 297 | .compatible = "ti,edma3", |
290 | .data = (void *)TI_XBAR_EDMA_OFFSET, | 298 | .data = &ti_dma_offset[TI_XBAR_EDMA_OFFSET], |
291 | }, | 299 | }, |
292 | { | 300 | { |
293 | .compatible = "ti,edma3-tpcc", | 301 | .compatible = "ti,edma3-tpcc", |
294 | .data = (void *)TI_XBAR_EDMA_OFFSET, | 302 | .data = &ti_dma_offset[TI_XBAR_EDMA_OFFSET], |
295 | }, | 303 | }, |
296 | {}, | 304 | {}, |
297 | }; | 305 | }; |
@@ -395,7 +403,7 @@ static int ti_dra7_xbar_probe(struct platform_device *pdev) | |||
395 | 403 | ||
396 | xbar->dmarouter.dev = &pdev->dev; | 404 | xbar->dmarouter.dev = &pdev->dev; |
397 | xbar->dmarouter.route_free = ti_dra7_xbar_free; | 405 | xbar->dmarouter.route_free = ti_dra7_xbar_free; |
398 | xbar->dma_offset = (u32)match->data; | 406 | xbar->dma_offset = *(u32 *)match->data; |
399 | 407 | ||
400 | mutex_init(&xbar->mutex); | 408 | mutex_init(&xbar->mutex); |
401 | platform_set_drvdata(pdev, xbar); | 409 | platform_set_drvdata(pdev, xbar); |
@@ -428,7 +436,7 @@ static int ti_dma_xbar_probe(struct platform_device *pdev) | |||
428 | if (unlikely(!match)) | 436 | if (unlikely(!match)) |
429 | return -EINVAL; | 437 | return -EINVAL; |
430 | 438 | ||
431 | switch ((u32)match->data) { | 439 | switch (*(u32 *)match->data) { |
432 | case TI_XBAR_DRA7: | 440 | case TI_XBAR_DRA7: |
433 | ret = ti_dra7_xbar_probe(pdev); | 441 | ret = ti_dra7_xbar_probe(pdev); |
434 | break; | 442 | break; |