On Tuesday 15 October 2013, Dinh Nguyen wrote: > > > > 1 Create a "syscon" backend driver to control your "system manager", which > > lets other drivers hook into it without calling a private API. > Yes, if you look at drivers/mmc/host/dw_mmc-socfpga.c that is in the > mainline, > it is hooking into the "system manager" through "syscon". Is this what you > mean here? No, because you directly hook into the syscon driver, rather than using a clock driver as the middle-man, see steps 2 and 3 below. > The problem is because of the SYSMGR_SDMMCGRP_CTRL_OFFSET define > in this file. This means the SD/MMC driver needs information that is > outside of its IP. Yes, this is not ideal because you don't really want that information in the sd/mmc driver. That driver should only know about the fact that it talks to a clock controller, not how it's implemented. Arnd > > 2 Create a trivial clock driver that is independent of your existing > > clock driver and independent of the other drivers using the system > > manager, by using syscon as the low-level interface. > > 3 Make the sdmmc driver use the normal clock API and link its clock to the > > driver from step 2 in the device tree. > > > > Is this what you have tried before? -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html