On Fri, Jun 13, 2014 at 8:31 PM, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Jun 13, 2014 at 09:25:07AM +0200, Linus Walleij wrote: >> But I also want to bring the device model into question: normally >> when a mother device spawns children across different subsystems >> we model them as MFD devices (drivers/mfd) that instantiate >> children for the different subsystems. So you could spawn a >> serial and a GPIO device from a USB-based hub device there. >> >> I do not know if that is really apropriate in this case. It seems the >> device is first and foremost FTDI. >> >> But it could still spawn a child platform device for the GPIO stuff >> so that this can live as a separate driver under drivers/gpio/gpio-ftdi.c >> or similar. >> >> You could then use something like: >> >> struct platform_device *gdev; > > Ick, no, it's a USB device, do not abuse the platform_device code any > more than it currently is (note, I HATE the platform device code, > someday I'll delete it entirely... Well, I can dream...) Haha yeah :-) However is the MFD cell approach acceptable? Now MFD cells are platform_devices mind you, but it's in principle just how that got implemented, MFD cells could be device-something else. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html