On Fri, Aug 29, 2014 at 08:57:49AM +0530, Varka Bhadram wrote: > On 08/28/2014 09:01 PM, Thierry Reding wrote: > >From: Thierry Reding <treding@xxxxxxxxxx> > > > >Obtains the register ranges for the legacy interrupt controller from DT > >and provide hard-coded values as fallback. > > > (...) > > >+static const struct tegra_ictlr_soc tegra30_ictlr_soc = { > >+ .num_ictlrs = 5, > >+}; > >+ > >+static const struct of_device_id ictlr_matches[] = { > >+ { .compatible = "nvidia,tegra30-ictlr", .data = &tegra30_ictlr_soc }, > >+ { .compatible = "nvidia,tegra20-ictlr", .data = &tegra20_ictlr_soc }, > >+ { } > >+}; > >+ > >+static const struct of_device_id gic_matches[] = { > >+ { .compatible = "arm,cortex-a15-gic", }, > >+ { .compatible = "arm,cortex-a9-gic", }, > >+ { } > >+}; > >+ > > > Missed MODULE_DEVICE_TABLE(of, ...)....? The driver isn't useful as a module, so I don't think that's necessary. I'm not even sure it could be loaded that late in the process. Without it peripheral interrupts don't work properly, so loading this from the filesystem doesn't work (unless it's in an initrd), but perhaps even that won't work. I'm not aware of anyone actually ever trying to build it as a module. Thierry
Attachment:
pgpZ55KzPvCS8.pgp
Description: PGP signature