I am looking at a DMA driver in the kernel (edmac.c) and there I find this structure.

Code:
static struct platform_driver edma_driver = {
	.probe		= edma_probe,
	.remove		= edma_remove,
	.driver = {
		.name = "edma-dma-engine",
		.owner = THIS_MODULE,
	},
};
Now I know that the name edma-dma-engine is used for driver binding, but when I grep for that in the entire linux kernel I cant find it. Simillarly for the driver names dw_dmac and at_hdmac. Is there any other way these devices are discovered? The kernel version I'm using is 3.8.7