On Fri, Jun 24, 2016 at 11:40:44AM +0900, Kuninori Morimoto wrote: > +static int snd_dw_hdmi_probe(struct platform_device *pdev) > +{ > + struct dw_hdmi_i2s_audio_data *audio = pdev->dev.platform_data; > + struct platform_device_info pdevinfo; > + struct hdmi_codec_pdata pdata; > + > + pdata.ops = &dw_hdmi_i2s_ops; > + pdata.i2s = 1; > + pdata.max_i2s_channels = 6; > + pdata.data = audio; > + > + memset(&pdevinfo, 0, sizeof(pdevinfo)); > + pdevinfo.parent = pdev->dev.parent; > + pdevinfo.id = PLATFORM_DEVID_AUTO; > + pdevinfo.name = HDMI_CODEC_DRV_NAME; > + pdevinfo.data = &pdata; > + pdevinfo.size_data = sizeof(pdata); > + pdevinfo.dma_mask = DMA_BIT_MASK(32); > + > + return IS_ERR_OR_NULL(platform_device_register_full(&pdevinfo)); This is certainly wrong. You're returning a 0/1 value rather than an error code when platform_device_register_full() fails. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.