Hi, Philipp: Sorry for the late reply. I've applied this patch to my branch mediatek-drm-next-4.13, thanks. Regards, CK On Fri, 2017-03-17 at 18:00 +0100, Philipp Zabel wrote: > Use platform_register_drivers instead of open coding the iteration over > component platform drivers in the mtk_drm_drv and mtk_hdmi modules. > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 27 ++++----------------------- > drivers/gpu/drm/mediatek/mtk_hdmi.c | 27 ++++----------------------- > 2 files changed, 8 insertions(+), 46 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index f5a1fd9b3ecc7..20e540aa9e87a 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -536,33 +536,14 @@ static struct platform_driver * const mtk_drm_drivers[] = { > > static int __init mtk_drm_init(void) > { > - int ret; > - int i; > - > - for (i = 0; i < ARRAY_SIZE(mtk_drm_drivers); i++) { > - ret = platform_driver_register(mtk_drm_drivers[i]); > - if (ret < 0) { > - pr_err("Failed to register %s driver: %d\n", > - mtk_drm_drivers[i]->driver.name, ret); > - goto err; > - } > - } > - > - return 0; > - > -err: > - while (--i >= 0) > - platform_driver_unregister(mtk_drm_drivers[i]); > - > - return ret; > + return platform_register_drivers(mtk_drm_drivers, > + ARRAY_SIZE(mtk_drm_drivers)); > } > > static void __exit mtk_drm_exit(void) > { > - int i; > - > - for (i = ARRAY_SIZE(mtk_drm_drivers) - 1; i >= 0; i--) > - platform_driver_unregister(mtk_drm_drivers[i]); > + platform_unregister_drivers(mtk_drm_drivers, > + ARRAY_SIZE(mtk_drm_drivers)); > } > > module_init(mtk_drm_init); > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c > index 4e2f9c43395c2..65ac296a02fac 100644 > --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c > @@ -1798,33 +1798,14 @@ static struct platform_driver * const mtk_hdmi_drivers[] = { > > static int __init mtk_hdmitx_init(void) > { > - int ret; > - int i; > - > - for (i = 0; i < ARRAY_SIZE(mtk_hdmi_drivers); i++) { > - ret = platform_driver_register(mtk_hdmi_drivers[i]); > - if (ret < 0) { > - pr_err("Failed to register %s driver: %d\n", > - mtk_hdmi_drivers[i]->driver.name, ret); > - goto err; > - } > - } > - > - return 0; > - > -err: > - while (--i >= 0) > - platform_driver_unregister(mtk_hdmi_drivers[i]); > - > - return ret; > + return platform_register_drivers(mtk_hdmi_drivers, > + ARRAY_SIZE(mtk_hdmi_drivers)); > } > > static void __exit mtk_hdmitx_exit(void) > { > - int i; > - > - for (i = ARRAY_SIZE(mtk_hdmi_drivers) - 1; i >= 0; i--) > - platform_driver_unregister(mtk_hdmi_drivers[i]); > + platform_unregister_drivers(mtk_hdmi_drivers, > + ARRAY_SIZE(mtk_hdmi_drivers)); > } > > module_init(mtk_hdmitx_init); _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel