If the system has other devices being registered in the component
framework, the compare function will be called with a device that
doesn't belong to vimc.
This device is not necessarily a platform_device, nor have a
platform_data (which causes a NULL pointer dereference error) and if it
does have a pdata, it is not necessarily type of struct vimc_platform_data.
So casting to any of these types is wrong.
Instead of expecting a given pdev with a given pdata, just expect for
the device it self. vimc-core is the one who creates them, we know in
advance exactly which object to expect in the match.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
vimc-capture.c | ||
vimc-common.c | ||
vimc-common.h | ||
vimc-core.c | ||
vimc-debayer.c | ||
vimc-scaler.c | ||
vimc-sensor.c | ||
vimc-streamer.c | ||
vimc-streamer.h |