On Sat, Dec 12, 2020 at 12:40:22PM -0300, Fabio Estevam wrote:
On Fri, Dec 11, 2020 at 11:54 AM Souptick Joarder
<jrdr.linux(a)gmail.com> wrote:
> of_device_get_match_data() returns void * which is assigned to enum
> imx_dma_type type without extracting
> the value. Anything wrong with the previous assignment ?
The driver data is now passed via:
imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev);
There was nothing wrong with the previous assignment.
The original driver used to run on non-DT platforms. Now it only runs
on DT-platforms, which means we no longer need the platform data
structure.
Please note that this a W=1 clang warning. gcc does not complain about it.
Correct. The clang developers explicitly wanted this behavior so I moved
it under a new warning that could be disabled on regular builds but show
up on W=1 in case people wanted to fix these occurrences.
https://reviews.llvm.org/D72231
https://github.com/ClangBuiltLinux/linux/issues/887
82f2bc2fcc01 ("kbuild: Disable -Wpointer-to-enum-cast")
Not sure how to make clang happy in this case.
Added a cast to unsigned long or uintptr_t before the cast to the enum
should fix it.
Cheers,
Nathan