|
@@ -1051,6 +1051,11 @@ static int acp_audio_probe(struct platform_device *pdev)
|
|
|
struct resource *res;
|
|
|
const u32 *pdata = pdev->dev.platform_data;
|
|
|
|
|
|
+ if (!pdata) {
|
|
|
+ dev_err(&pdev->dev, "Missing platform data\n");
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+
|
|
|
audio_drv_data = devm_kzalloc(&pdev->dev, sizeof(struct audio_drv_data),
|
|
|
GFP_KERNEL);
|
|
|
if (audio_drv_data == NULL)
|
|
@@ -1058,6 +1063,8 @@ static int acp_audio_probe(struct platform_device *pdev)
|
|
|
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
audio_drv_data->acp_mmio = devm_ioremap_resource(&pdev->dev, res);
|
|
|
+ if (IS_ERR(audio_drv_data->acp_mmio))
|
|
|
+ return PTR_ERR(audio_drv_data->acp_mmio);
|
|
|
|
|
|
/* The following members gets populated in device 'open'
|
|
|
* function. Till then interrupts are disabled in 'acp_init'
|