On Tue, Jul 12, 2022 at 11:37 AM Icenowy Zheng <uwu@xxxxxxxxxx> wrote: > 在 2022-07-10星期日的 21:06 +0200,Andy Shevchenko写道: > > On Sun, Jul 10, 2022 at 10:22 AM Icenowy Zheng <uwu@xxxxxxxxxx> > > wrote: ... > > > +#include <linux/of.h> > > > +#include <linux/of_device.h> > > > > No use of these. > > > > > +#include <linux/pinctrl/pinctrl.h> > > > > Missed headers: > > mod_devicetable.h > > Thanks for these. > > In addition, how to decide what header should be included? The code > works properly because of_device.h includes mod_devicetable.h. The best approach is usually learnt with experience — the more you code, the more you get. One of the rules is to avoid too many inclusions and at the same time reduce indirect inclusions, so that the headers which are guaranteed to be included by others shouldn't appear. Another rule is that, for the headers (*.h files) the forward declarations are preferable over the inclusion in case if the opaque pointers are in use. -- With Best Regards, Andy Shevchenko