• Paul Walmsley's avatar
    OMAP: McBSP: implement functional clock switching via clock framework · d1358657
    Paul Walmsley authored
    Previously the OMAP McBSP ASoC driver implemented CLKS switching by
    using omap_ctrl_{read,write}l() directly.  This is against policy; the OMAP
    System Control Module functions are not intended to be exported to drivers.
    These symbols are no longer exported, so as a result, the OMAP McBSP ASoC
    driver does not build as a module.
    
    Resolve the CLKS clock changing portion of this problem by creating a
    clock parent changing function that lives in
    arch/arm/mach-omap2/mcbsp.c, and modify the ASoC driver to use it.
    Due to the unfortunate way that McBSP support is implemented in ASoC
    and the OMAP tree, this symbol must be exported for use by
    sound/soc/omap/omap-mcbsp.c.
    
    Going forward, the McBSP device driver should be moved from
    arch/arm/*omap* into drivers/ or sound/soc/* and the CPU DAI driver
    should be implemented as a platform_driver as many other ASoC CPU DAI
    drivers are.  These two steps should resolve many of the layering
    problems, which will rapidly reappear during a McBSP hwmod/PM runtime
    conversions.
    Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
    Acked-by: default avatarJarkko Nikula <jhnikula@gmail.com>
    Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
    Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    d1358657
mcbsp.c 45.2 KB