On Thursday 21 April 2011, Marek Szyprowski wrote: > > No, I think that would be much worse, it definitely destroys all kinds of > > assumptions that the core code makes about devices. However, I don't think > > it's much of a problem to just create two child devices and use them > > from the main driver, you don't really need to create a device_driver > > to bind to each of them. > > I must have missed something. Video codec is a platform device and struct > device pointer is gathered from it (&pdev->dev). How can I define child > devices and attach them to the platform device? There are a number of ways: * Do device_create() with &pdev->dev as the parent, inside of the codec driver, with a new class you create for this purpose * Do device_register() for a device, in the same way * Create the additional platform devices in the platform code, with their parents pointing to the code device, then look for them using device_for_each_child in the driver * Create two codec devices in parallel and bind to both with your driver, ideally splitting up the resources between the two devices in a meaningful way. None of them are extremely nice, but it's not that hard either. You should probably prototype a few of these approaches to see which one is the least ugly one. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html