After some research and grep'ing it appears that devicetree-compatible drivers have a piece of code that looks like:
static struct of_device_id enc28j60_of_match[] __devinitdata = {
{ .compatible = "microchip,enc28j60", },
{}
};
Which is then included in the platform_driver
struct. This instructs the kernel how to react if it encounters a compatible = "microchip,enc28j60"
in the devicetree overlay.