From: Kumar Gala on
Greg,

We are running into in issue in that we need the platform device archdata setup before platform_device_add gets called since we need some data in archdata setup to allow the bus notifiers to work properly. On PPC we need this to get the dma masks setup properly that we than use in the bus notifiers to determine if we need SWIOTLB support for a given device or not. Any suggestions on how to do this? Something like below?

struct platform_device *platform_device_alloc(const char *name, int id)

....
if (pa) {
strcpy(pa->name, name);
pa->pdev.name = pa->name;
pa->pdev.id = id;
device_initialize(&pa->pdev.dev);
pa->pdev.dev.release = platform_device_release;
#ifdef ARCH_HAS_PDEV_ARCHDATA_SETUP
arch_setup_pdev_archdata(&pa->pdev.dev);
#endif
}

- k--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/