1. 11 12月, 2018 6 次提交
  2. 06 12月, 2018 1 次提交
    • R
      ASoC: Use of_node_name_eq for node name comparisons · 1d52a74e
      Rob Herring 提交于
      Convert string compares of DT node names to use of_node_name_eq helper
      instead. This removes direct access to the node name pointer.
      
      For the FSL ASoC card, the full node names appear to be "ssi", "esai",
      and "sai", so there's not any reason to use strstr and of_node_name_eq
      can be used instead.
      
      Cc: Timur Tabi <timur@kernel.org>
      Cc: Nicolin Chen <nicoleotsuka@gmail.com>
      Cc: Xiubo Li <Xiubo.Lee@gmail.com>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Cc: alsa-devel@alsa-project.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      1d52a74e
  3. 23 11月, 2018 1 次提交
  4. 21 11月, 2018 2 次提交
  5. 31 8月, 2018 3 次提交
    • K
      ASoC: simple-scu-card: support snd_soc_dai_link_component style for platform · 24f3bead
      Kuninori Morimoto 提交于
      Current ASoC is supporting snd_soc_dai_link_component for binding,
      it is more useful than current legacy style.
      Currently only codec is supporting it as multicodec (= codecs).
      CPU will support multi style in the future.
      We want to have it on Platform too in the future.
      
      If all Codec/CPU/Platform are replaced into snd_soc_dai_link_component
      style, we can remove legacy complex style.
      This patch supports snd_soc_dai_link_component style
      for simple-scu-card for platform.
      
      [current]
      struct snd_soc_dai_link {
      	...
      	*cpu_name;
      	*cpu_of_node;
      	*cpu_dai_name;
      
      	*codec_name;
      	*codec_of_node;
      	*codec_dai_name;
      	*codecs;
      	num_codecs;
      
      	*platform_name;
      	*platform_of_node;
      	...
      }
      
      [in the future]
      struct snd_soc_dai_link {
      	...
      	*cpus
      	num_cpus;
      
      	*codecs;
      	num_codecs;
      
      	*platform;
      	...
      }
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      24f3bead
    • K
      ASoC: simple-scu-card: support snd_soc_dai_link_component style for codec · 2289cc1c
      Kuninori Morimoto 提交于
      Current ASoC is supporting snd_soc_dai_link_component for binding,
      it is more useful than current legacy style.
      Currently only codec is supporting it as multicodec (= codecs).
      CPU will support multi style in the future.
      We want to have it on Platform too in the future.
      
      If all Codec/CPU/Platform are replaced into snd_soc_dai_link_component
      style, we can remove legacy complex style.
      This patch supports snd_soc_dai_link_component style
      for simple-scu-card for codec.
      
      [current]
      struct snd_soc_dai_link {
      	...
      	*cpu_name;
      	*cpu_of_node;
      	*cpu_dai_name;
      
      	*codec_name;
      	*codec_of_node;
      	*codec_dai_name;
      	*codecs;
      	num_codecs;
      
      	*platform_name;
      	*platform_of_node;
      	...
      }
      
      [in the future]
      struct snd_soc_dai_link {
      	...
      	*cpus
      	num_cpus;
      
      	*codecs;
      	num_codecs;
      
      	*platform;
      	...
      }
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      2289cc1c
    • K
      ASoC: simple-scu-card: use simple_dai_props · 5ece10ab
      Kuninori Morimoto 提交于
      simple-card and simple-scu-card are very similar driver,
      but using different feature. Thus we are keeping synchronization
      on these 2 drivers style, because it is easy to confirm / check.
      
      Current big difference between these 2 drivers are "dai_props" on
      simple_card_data (= priv).
      It will be difficult to keep synchronize if we will add new feature
      on simple-scu-card. Thus, this patch synchronize it.
      
      [simple]
      struct simple_card_data {
      	...
      	struct simple_dai_props {
      		...
      	} *dai_props;
      	...
      };
      
      [simple scu]
      struct simple_card_data {
      	...
      	struct asoc_simple_dai *dai_props;
      	...
      };
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      5ece10ab
  6. 02 7月, 2018 1 次提交
  7. 13 6月, 2018 1 次提交
    • K
      treewide: devm_kzalloc() -> devm_kcalloc() · a86854d0
      Kees Cook 提交于
      The devm_kzalloc() function has a 2-factor argument form, devm_kcalloc().
      This patch replaces cases of:
      
              devm_kzalloc(handle, a * b, gfp)
      
      with:
              devm_kcalloc(handle, a * b, gfp)
      
      as well as handling cases of:
      
              devm_kzalloc(handle, a * b * c, gfp)
      
      with:
      
              devm_kzalloc(handle, array3_size(a, b, c), gfp)
      
      as it's slightly less ugly than:
      
              devm_kcalloc(handle, array_size(a, b), c, gfp)
      
      This does, however, attempt to ignore constant size factors like:
      
              devm_kzalloc(handle, 4 * 1024, gfp)
      
      though any constants defined via macros get caught up in the conversion.
      
      Any factors with a sizeof() of "unsigned char", "char", and "u8" were
      dropped, since they're redundant.
      
      Some manual whitespace fixes were needed in this patch, as Coccinelle
      really liked to write "=devm_kcalloc..." instead of "= devm_kcalloc...".
      
      The Coccinelle script used for this was:
      
      // Fix redundant parens around sizeof().
      @@
      expression HANDLE;
      type TYPE;
      expression THING, E;
      @@
      
      (
        devm_kzalloc(HANDLE,
      -	(sizeof(TYPE)) * E
      +	sizeof(TYPE) * E
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(sizeof(THING)) * E
      +	sizeof(THING) * E
        , ...)
      )
      
      // Drop single-byte sizes and redundant parens.
      @@
      expression HANDLE;
      expression COUNT;
      typedef u8;
      typedef __u8;
      @@
      
      (
        devm_kzalloc(HANDLE,
      -	sizeof(u8) * (COUNT)
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(__u8) * (COUNT)
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(char) * (COUNT)
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(unsigned char) * (COUNT)
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(u8) * COUNT
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(__u8) * COUNT
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(char) * COUNT
      +	COUNT
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(unsigned char) * COUNT
      +	COUNT
        , ...)
      )
      
      // 2-factor product with sizeof(type/expression) and identifier or constant.
      @@
      expression HANDLE;
      type TYPE;
      expression THING;
      identifier COUNT_ID;
      constant COUNT_CONST;
      @@
      
      (
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * (COUNT_ID)
      +	COUNT_ID, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * COUNT_ID
      +	COUNT_ID, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * (COUNT_CONST)
      +	COUNT_CONST, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * COUNT_CONST
      +	COUNT_CONST, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * (COUNT_ID)
      +	COUNT_ID, sizeof(THING)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * COUNT_ID
      +	COUNT_ID, sizeof(THING)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * (COUNT_CONST)
      +	COUNT_CONST, sizeof(THING)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * COUNT_CONST
      +	COUNT_CONST, sizeof(THING)
        , ...)
      )
      
      // 2-factor product, only identifiers.
      @@
      expression HANDLE;
      identifier SIZE, COUNT;
      @@
      
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	SIZE * COUNT
      +	COUNT, SIZE
        , ...)
      
      // 3-factor product with 1 sizeof(type) or sizeof(expression), with
      // redundant parens removed.
      @@
      expression HANDLE;
      expression THING;
      identifier STRIDE, COUNT;
      type TYPE;
      @@
      
      (
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE) * (COUNT) * (STRIDE)
      +	array3_size(COUNT, STRIDE, sizeof(TYPE))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE) * (COUNT) * STRIDE
      +	array3_size(COUNT, STRIDE, sizeof(TYPE))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE) * COUNT * (STRIDE)
      +	array3_size(COUNT, STRIDE, sizeof(TYPE))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE) * COUNT * STRIDE
      +	array3_size(COUNT, STRIDE, sizeof(TYPE))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING) * (COUNT) * (STRIDE)
      +	array3_size(COUNT, STRIDE, sizeof(THING))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING) * (COUNT) * STRIDE
      +	array3_size(COUNT, STRIDE, sizeof(THING))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING) * COUNT * (STRIDE)
      +	array3_size(COUNT, STRIDE, sizeof(THING))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING) * COUNT * STRIDE
      +	array3_size(COUNT, STRIDE, sizeof(THING))
        , ...)
      )
      
      // 3-factor product with 2 sizeof(variable), with redundant parens removed.
      @@
      expression HANDLE;
      expression THING1, THING2;
      identifier COUNT;
      type TYPE1, TYPE2;
      @@
      
      (
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE1) * sizeof(TYPE2) * COUNT
      +	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
      +	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING1) * sizeof(THING2) * COUNT
      +	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(THING1) * sizeof(THING2) * (COUNT)
      +	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE1) * sizeof(THING2) * COUNT
      +	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
      +	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
        , ...)
      )
      
      // 3-factor product, only identifiers, with redundant parens removed.
      @@
      expression HANDLE;
      identifier STRIDE, SIZE, COUNT;
      @@
      
      (
        devm_kzalloc(HANDLE,
      -	(COUNT) * STRIDE * SIZE
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	COUNT * (STRIDE) * SIZE
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	COUNT * STRIDE * (SIZE)
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(COUNT) * (STRIDE) * SIZE
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	COUNT * (STRIDE) * (SIZE)
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(COUNT) * STRIDE * (SIZE)
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(COUNT) * (STRIDE) * (SIZE)
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	COUNT * STRIDE * SIZE
      +	array3_size(COUNT, STRIDE, SIZE)
        , ...)
      )
      
      // Any remaining multi-factor products, first at least 3-factor products,
      // when they're not all constants...
      @@
      expression HANDLE;
      expression E1, E2, E3;
      constant C1, C2, C3;
      @@
      
      (
        devm_kzalloc(HANDLE, C1 * C2 * C3, ...)
      |
        devm_kzalloc(HANDLE,
      -	(E1) * E2 * E3
      +	array3_size(E1, E2, E3)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(E1) * (E2) * E3
      +	array3_size(E1, E2, E3)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	(E1) * (E2) * (E3)
      +	array3_size(E1, E2, E3)
        , ...)
      |
        devm_kzalloc(HANDLE,
      -	E1 * E2 * E3
      +	array3_size(E1, E2, E3)
        , ...)
      )
      
      // And then all remaining 2 factors products when they're not all constants,
      // keeping sizeof() as the second factor argument.
      @@
      expression HANDLE;
      expression THING, E1, E2;
      type TYPE;
      constant C1, C2, C3;
      @@
      
      (
        devm_kzalloc(HANDLE, sizeof(THING) * C2, ...)
      |
        devm_kzalloc(HANDLE, sizeof(TYPE) * C2, ...)
      |
        devm_kzalloc(HANDLE, C1 * C2 * C3, ...)
      |
        devm_kzalloc(HANDLE, C1 * C2, ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * (E2)
      +	E2, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(TYPE) * E2
      +	E2, sizeof(TYPE)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * (E2)
      +	E2, sizeof(THING)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	sizeof(THING) * E2
      +	E2, sizeof(THING)
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	(E1) * E2
      +	E1, E2
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	(E1) * (E2)
      +	E1, E2
        , ...)
      |
      - devm_kzalloc
      + devm_kcalloc
        (HANDLE,
      -	E1 * E2
      +	E1, E2
        , ...)
      )
      Signed-off-by: NKees Cook <keescook@chromium.org>
      a86854d0
  8. 23 8月, 2017 1 次提交
  9. 16 8月, 2017 1 次提交
  10. 16 6月, 2017 2 次提交
  11. 14 6月, 2017 2 次提交
  12. 08 6月, 2017 1 次提交
  13. 07 6月, 2017 2 次提交
  14. 20 5月, 2017 1 次提交
  15. 16 3月, 2017 2 次提交
  16. 24 1月, 2017 1 次提交
  17. 29 10月, 2016 3 次提交
  18. 25 10月, 2016 1 次提交
    • J
      ASoC: constify snd_soc_ops structures · 9b6fdef6
      Julia Lawall 提交于
      Check for snd_soc_ops structures that are only stored in the ops field of a
      snd_soc_dai_link structure.  This field is declared const, so snd_soc_ops
      structures that have this property can be declared as const also.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @r disable optional_qualifier@
      identifier i;
      position p;
      @@
      static struct snd_soc_ops i@p = { ... };
      
      @ok1@
      identifier r.i;
      struct snd_soc_dai_link e;
      position p;
      @@
      e.ops = &i@p;
      
      @ok2@
      identifier r.i, e;
      position p;
      @@
      struct snd_soc_dai_link e[] = { ..., { .ops = &i@p, }, ..., };
      
      @bad@
      position p != {r.p,ok1.p,ok2.p};
      identifier r.i;
      struct snd_soc_ops e;
      @@
      e@i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r.i;
      @@
      static
      +const
       struct snd_soc_ops i = { ... };
      // </smpl>
      
      The effect on the layout of the .o files is shown by the following output
      of the size command, first before then after the transformation:
      
         text    data     bss     dec     hex filename
         4500     696       0    5196    144c sound/soc/generic/simple-card.o
         4564     632       0    5196    144c sound/soc/generic/simple-card.o
      
         text    data     bss     dec     hex filename
         3018     608       0    3626     e2a sound/soc/generic/simple-scu-card.o
         3074     544       0    3618     e22 sound/soc/generic/simple-scu-card.o
      
         text    data     bss     dec     hex filename
         4148    2448     768    7364    1cc4 sound/soc/intel/boards/bdw-rt5677.o
         4212    2384     768    7364    1cc4 sound/soc/intel/boards/bdw-rt5677.o
      
         text    data     bss     dec     hex filename
         5403    4628     384   10415    28af sound/soc/intel/boards/bxt_da7219_max98357a.o
         5531    4516     384   10431    28bf sound/soc/intel/boards/bxt_da7219_max98357a.o
      
         text    data     bss     dec     hex filename
         5275    4496     384   10155    27ab sound/soc/intel/boards/bxt_rt298.o
         5403    4368     384   10155    27ab sound/soc/intel/boards/bxt_rt298.o
      
         text    data     bss     dec     hex filename
        10017    2344      48   12409    3079 sound/soc/intel/boards/bytcr_rt5640.o
        10145    2232      48   12425    3089 sound/soc/intel/boards/bytcr_rt5640.o
      
         text    data     bss     dec     hex filename
         3719    2356       0    6075    17bb sound/soc/intel/boards/bytcr_rt5651.o
         3847    2244       0    6091    17cb sound/soc/intel/boards/bytcr_rt5651.o
      
         text    data     bss     dec     hex filename
         3598    2392       0    5990    1766 sound/soc/intel/boards/cht_bsw_max98090_ti.o
         3726    2280       0    6006    1776 sound/soc/intel/boards/cht_bsw_max98090_ti.o
      
         text    data     bss     dec     hex filename
         5343    3624      16    8983    2317 sound/soc/intel/boards/cht_bsw_rt5645.o
         5471    3496      16    8983    2317 sound/soc/intel/boards/cht_bsw_rt5645.o
      
         text    data     bss     dec     hex filename
         4662    2592     384    7638    1dd6 sound/soc/intel/boards/cht_bsw_rt5672.o
         4790    2464     384    7638    1dd6 sound/soc/intel/boards/cht_bsw_rt5672.o
      
         text    data     bss     dec     hex filename
         1595    2528       0    4123    101b sound/soc/intel/boards/haswell.o
         1659    2472       0    4131    1023 sound/soc/intel/boards/haswell.o
      
         text    data     bss     dec     hex filename
         6272    4760     416   11448    2cb8 sound/soc/intel/boards/skl_nau88l25_max98357a.o
         6464    4568     416   11448    2cb8 sound/soc/intel/boards/skl_nau88l25_max98357a.o
      
         text    data     bss     dec     hex filename
         7075    4888     416   12379    305b sound/soc/intel/boards/skl_nau88l25_ssm4567.o
         7267    4696     416   12379    305b sound/soc/intel/boards/skl_nau88l25_ssm4567.o
      
         text    data     bss     dec     hex filename
         5659    4496     384   10539    292b sound/soc/intel/boards/skl_rt286.o
         5787    4368     384   10539    292b sound/soc/intel/boards/skl_rt286.o
      
         text    data     bss     dec     hex filename
         1721    2048       0    3769     eb9 sound/soc/kirkwood/armada-370-db.o
         1769    1976       0    3745     ea1 sound/soc/kirkwood/armada-370-db.o
      
         text    data     bss     dec     hex filename
         1363    1792       0    3155     c53 sound/soc/mxs/mxs-sgtl5000.o
         1427    1728       0    3155     c53 sound/soc/mxs/mxs-sgtl5000.o
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9b6fdef6
  19. 02 9月, 2016 6 次提交
  20. 24 8月, 2016 2 次提交