Hi Rob, > > + dice_reserved: dice@12340000 { > > + reg = <0x00 0x12340000 0x2000>; > > + no-map; > > + }; > > + }; > > + > > + dice { > > + compatible = "google,open-dice"; > > + memory-region = <&dice_reserved>; > > There's no need for this indirection. Just add the compatible to the > dice@12340000 node. You can bind drivers to /reserved-memory nodes. I have not found a way to make that work for kernel modules. Built-in drivers can bind with RESERVEDMEM_OF_DECLARE, which puts an entry in __reservedmem_of_table and __reserved_mem_init_node() iterates find it there. A good case study might be CONFIG_TEGRA210_EMC, where the driver itself can be a module but the rmem parsing is always built-in under CONFIG_TEGRA210_EMC_TABLE. I don't think that's worth the trouble with this driver. David