mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
media: pxa_camera: fix smatch warning
drivers/media/platform/pxa_camera.c:2400 pxa_camera_probe() error: we previously assumed 'pcdev->pdata' could be null (see line 2397) First check if platform data is provided, then check if DT data is provided, and if neither is provided just return with -ENODEV. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
d75e77ed14
commit
db89a47fb9
@ -2394,15 +2394,17 @@ static int pxa_camera_probe(struct platform_device *pdev)
|
|||||||
pcdev->res = res;
|
pcdev->res = res;
|
||||||
|
|
||||||
pcdev->pdata = pdev->dev.platform_data;
|
pcdev->pdata = pdev->dev.platform_data;
|
||||||
if (pdev->dev.of_node && !pcdev->pdata) {
|
if (pcdev->pdata) {
|
||||||
err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd);
|
|
||||||
} else {
|
|
||||||
pcdev->platform_flags = pcdev->pdata->flags;
|
pcdev->platform_flags = pcdev->pdata->flags;
|
||||||
pcdev->mclk = pcdev->pdata->mclk_10khz * 10000;
|
pcdev->mclk = pcdev->pdata->mclk_10khz * 10000;
|
||||||
pcdev->asd.match_type = V4L2_ASYNC_MATCH_I2C;
|
pcdev->asd.match_type = V4L2_ASYNC_MATCH_I2C;
|
||||||
pcdev->asd.match.i2c.adapter_id =
|
pcdev->asd.match.i2c.adapter_id =
|
||||||
pcdev->pdata->sensor_i2c_adapter_id;
|
pcdev->pdata->sensor_i2c_adapter_id;
|
||||||
pcdev->asd.match.i2c.address = pcdev->pdata->sensor_i2c_address;
|
pcdev->asd.match.i2c.address = pcdev->pdata->sensor_i2c_address;
|
||||||
|
} else if (pdev->dev.of_node) {
|
||||||
|
err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd);
|
||||||
|
} else {
|
||||||
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
Loading…
Reference in New Issue
Block a user