On Thu, Oct 01, 2020 at 11:43:12AM -0500, Rob Herring wrote: > On Thu, Oct 1, 2020 at 10:53 AM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > > > On Thu, Oct 01, 2020 at 07:48:23AM -0500, Rob Herring wrote: > > > On Wed, Sep 30, 2020 at 5:37 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > > > > > > > These warnings are sort of annoying. I guess most of the other > > > > drivers avoid this by depending on OF as well as COMPILE_TEST. > > > > > > Using the of_match_ptr() macro should prevent this. > > > > Both drivers *do* use of_match_ptr(), but the of_device_id table is > > unused when of_match_ptr() throws away the pointer. > > Oh right, it's actually we don't want to use of_match_ptr() in this case. > > > I guess we could add __maybe_unused to squelch the warning. Ugly, but > > I do think COMPILE_TEST has some value. > > We do that or an ifdef for drivers that actually work for !OF. > > We also have lot's of 'depends on OF' as proposed too, but that's not > really my preference given we have empty functions for most > everything. So just removing of_match_ptr() as below? That seems way nicer than any of the #ifdef, __maybe_unused, or "depends on OF" options. diff --git a/drivers/pci/controller/dwc/pcie-spear13xx.c b/drivers/pci/controller/dwc/pcie-spear13xx.c index 62846562da0b..b2ef8ffde79e 100644 --- a/drivers/pci/controller/dwc/pcie-spear13xx.c +++ b/drivers/pci/controller/dwc/pcie-spear13xx.c @@ -303,7 +303,7 @@ static struct platform_driver spear13xx_pcie_driver = { .probe = spear13xx_pcie_probe, .driver = { .name = "spear-pcie", - .of_match_table = of_match_ptr(spear13xx_pcie_of_match), + .of_match_table = spear13xx_pcie_of_match, .suppress_bind_attrs = true, }, };