From: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Simple_card does require under some circumstances the ability to configure certain hw_parameters based on clocks, bits, channels. This patchset adds a generic way to configure these kind of things via the device tree easily. This patchset implements this for simple_card, but other drivers can just as easily make use of this. For now we have the following matchers and actions: * matchers: * match_sample_bits * match_rate * match_channels * actions: * set_fixed_bclk_size As a note: the available matching rules and action rules right now are hard-coded, but this could in principle get extended to be more dynamic via kallsyms_lookup_name that would lookup the requested symbol and assume it is a struct asoc_generic_hw_params_method, on which it could apply several sanity-checks before using the pointers for real. This would allow other kinds of action methods to get exposed in codec-drivers, that can then get used to handle some settings specific to the codec. I leave this is an exercise for later... Martin Sperl (2): ASoC: hw-params-rules: add generic hw_params-rules ASoC: simple_card: add support for hw_params_rules .../devicetree/bindings/sound/hw-params-rules.txt | 86 +++++ .../devicetree/bindings/sound/simple-card.txt | 1 + sound/soc/generic/Kconfig | 6 + sound/soc/generic/Makefile | 2 + sound/soc/generic/hw-params-rules.c | 402 +++++++++++++++++++++ sound/soc/generic/hw-params-rules.h | 49 +++ sound/soc/generic/simple-card.c | 11 +- 7 files changed, 554 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/hw-params-rules.txt create mode 100644 sound/soc/generic/hw-params-rules.c create mode 100644 sound/soc/generic/hw-params-rules.h -- 2.1.4 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel