On Mon, Aug 28, 2017 at 02:58:52PM +0200, Fabrice Gasnier wrote: > + ret = clk_prepare_enable(priv->clk); > + if (ret) { > + dev_err(&pdev->dev, "clk prepare failed\n"); If you're printing an error include the error code, it'll help users figure out what went wrong. > + dev_info(&pdev->dev, "STM32 VREFBUF initialized\n"); This is just noise, remove it. > +static int __init stm32_vrefbuf_init(void) > +{ > + return platform_driver_register(&stm32_vrefbuf_driver); > +} > +subsys_initcall(stm32_vrefbuf_init); Why is this at subsys_initcall()?