On Mon, Apr 26, 2021 at 9:09 AM Sherry Sun <sherry.sun@xxxxxxx> wrote: > Thanks for your reply. > I guess you mean the of_match_table will not be NULL since it contains compatible, right? > But for the lpuart data -- struct lpuart_soc_data, won’t it meet the NULL case? such as { .compatible = "fsl,imx8qxp-lpuart", }. > Here of_device_id won’t be NULL, but lpuart_soc_data Is NULL. In linux-next we have: static const struct of_device_id lpuart_dt_ids[] = { { .compatible = "fsl,vf610-lpuart", .data = &vf_data, }, { .compatible = "fsl,ls1021a-lpuart", .data = &ls1021a_data, }, { .compatible = "fsl,ls1028a-lpuart", .data = &ls1028a_data, }, { .compatible = "fsl,imx7ulp-lpuart", .data = &imx7ulp_data, }, { .compatible = "fsl,imx8qxp-lpuart", .data = &imx8qxp_data, }, { /* sentinel */ } }; All compatible entries have a .data field populated. How sdata can be NULL?