On Tue, Oct 27, 2020 at 07:12:13PM +0100, Bartosz Golaszewski wrote: > On Tue, Oct 27, 2020 at 2:54 PM Vincent Whitchurch > <vincent.whitchurch@xxxxxxxx> wrote: > > diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c > > index 67ed4f238d43..c93892a6936a 100644 > > --- a/drivers/gpio/gpio-mockup.c > > +++ b/drivers/gpio/gpio-mockup.c > > @@ -13,6 +13,7 @@ > > #include <linux/gpio/driver.h> > > #include <linux/interrupt.h> > > #include <linux/irq.h> > > +#include <linux/of.h> > > Please keep the includes ordered alphabetically. Thanks, fixed in v3. > > #include <linux/irq_sim.h> > > #include <linux/irqdomain.h> > > #include <linux/module.h> > > @@ -460,9 +461,18 @@ static int gpio_mockup_probe(struct platform_device *pdev) > > return 0; > > } > > > > +#ifdef CONFIG_OF > > +static const struct of_device_id gpio_mockup_of_match[] = { > > + { .compatible = "gpio-mockup", }, > > + {}, > > +}; > > +MODULE_DEVICE_TABLE(of, gpio_mockup_of_match); > > +#endif > > You don't need this ifdef - of_match_ptr() will evaluate to NULL if > CONFIG_OF is disabled and the compiler will optimize this struct out. The compiler can't optimise out the struct in the case of a module build since there is a reference from the MODULE_DEVICE_TABLE: $ grep CONFIG_OF .config # CONFIG_OF is not set $ nm drivers/gpio/gpio-mockup.ko | grep of_ 00000000 r gpio_mockup_of_match 00000000 R __mod_of__gpio_mockup_of_match_device_table But these few wasted bytes don't matter so I removed the CONFIG_OF anyway as you suggested.