Re: [PATCH 13/16] ASoC: madera: Add common support for Cirrus Logic Madera codecs

2017-04-14 Thread kbuild test robot
Hi Richard,

[auto build test ERROR on asoc/for-next]
[also build test ERROR on v4.11-rc6]
[cannot apply to next-20170413]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Richard-Fitzgerald/Add-support-for-Cirrus-Logic-CS47L35-L85-L90-L91-codecs/20170406-050555
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 
for-next
config: x86_64-randconfig-s4-04150043 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> drivers/pinctrl/pinctrl-madera.c:580:20: error: 
>> 'pinconf_generic_dt_node_to_map_all' undeclared here (not in a function)
 .dt_node_to_map = pinconf_generic_dt_node_to_map_all,
   ^~
--
   drivers//gpio/gpio-madera.c: In function 'madera_gpio_probe':
>> drivers//gpio/gpio-madera.c:126:25: error: 'struct gpio_chip' has no member 
>> named 'of_node'
  madera_gpio->gpio_chip.of_node = pdev->dev.of_node;
^

vim +/pinconf_generic_dt_node_to_map_all +580 drivers/pinctrl/pinctrl-madera.c

ac9870b2 Richard Fitzgerald 2017-04-05  564 return 0;
ac9870b2 Richard Fitzgerald 2017-04-05  565  }
ac9870b2 Richard Fitzgerald 2017-04-05  566  
ac9870b2 Richard Fitzgerald 2017-04-05  567  static void 
madera_pin_dbg_show(struct pinctrl_dev *pctldev,
ac9870b2 Richard Fitzgerald 2017-04-05  568 struct 
seq_file *s,
ac9870b2 Richard Fitzgerald 2017-04-05  569 
unsigned int offset)
ac9870b2 Richard Fitzgerald 2017-04-05  570  {
ac9870b2 Richard Fitzgerald 2017-04-05  571 seq_puts(s, " madera-pinctrl");
ac9870b2 Richard Fitzgerald 2017-04-05  572  }
ac9870b2 Richard Fitzgerald 2017-04-05  573  
ac9870b2 Richard Fitzgerald 2017-04-05  574  
ac9870b2 Richard Fitzgerald 2017-04-05  575  static const struct pinctrl_ops 
madera_pin_group_ops = {
ac9870b2 Richard Fitzgerald 2017-04-05  576 .get_groups_count = 
madera_get_groups_count,
ac9870b2 Richard Fitzgerald 2017-04-05  577 .get_group_name = 
madera_get_group_name,
ac9870b2 Richard Fitzgerald 2017-04-05  578 .get_group_pins = 
madera_get_group_pins,
ac9870b2 Richard Fitzgerald 2017-04-05  579 .pin_dbg_show = 
madera_pin_dbg_show,
ac9870b2 Richard Fitzgerald 2017-04-05 @580 .dt_node_to_map = 
pinconf_generic_dt_node_to_map_all,
ac9870b2 Richard Fitzgerald 2017-04-05  581 .dt_free_map = 
pinctrl_utils_free_map,
ac9870b2 Richard Fitzgerald 2017-04-05  582  };
ac9870b2 Richard Fitzgerald 2017-04-05  583  
ac9870b2 Richard Fitzgerald 2017-04-05  584  static int 
madera_mux_get_funcs_count(struct pinctrl_dev *pctldev)
ac9870b2 Richard Fitzgerald 2017-04-05  585  {
ac9870b2 Richard Fitzgerald 2017-04-05  586 return 
ARRAY_SIZE(madera_mux_funcs);
ac9870b2 Richard Fitzgerald 2017-04-05  587  }
ac9870b2 Richard Fitzgerald 2017-04-05  588  

:: The code at line 580 was first introduced by commit
:: ac9870b2d7132c21e78becd0fe396837e334c78b pinctrl: madera: Add driver for 
Cirrus Logic Madera codecs

:: TO: Richard Fitzgerald 
:: CC: 0day robot 

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip


Re: [PATCH 13/16] ASoC: madera: Add common support for Cirrus Logic Madera codecs

2017-04-10 Thread Rob Herring
On Wed, Apr 05, 2017 at 11:08:01AM +0100, Richard Fitzgerald wrote:
> The Cirrus Logic Madera codecs are a family of related codecs with
> extensive digital and analogue I/O, digital mixing and routing,
> signal processing and programmable DSPs.
> 
> This patch adds common support code shared by all Madera codecs.
> 
> Signed-off-by: Charles Keepax 
> Signed-off-by: Nariman Poushin 
> Signed-off-by: Nikesh Oswal 
> Signed-off-by: Piotr Stankiewicz 
> Signed-off-by: Ajit Pandey 
> Signed-off-by: Richard Fitzgerald 
> ---
>  Documentation/devicetree/bindings/sound/madera.txt |   63 +
>  MAINTAINERS|5 +
>  include/dt-bindings/sound/madera.h |   18 +

Acked-by: Rob Herring 

>  include/sound/madera-pdata.h   |   70 +
>  sound/soc/codecs/Kconfig   |5 +
>  sound/soc/codecs/Makefile  |2 +
>  sound/soc/codecs/madera.c  | 4430 
> 
>  sound/soc/codecs/madera.h  |  470 +++
>  8 files changed, 5063 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/madera.txt
>  create mode 100644 include/dt-bindings/sound/madera.h
>  create mode 100644 include/sound/madera-pdata.h
>  create mode 100644 sound/soc/codecs/madera.c
>  create mode 100644 sound/soc/codecs/madera.h


[PATCH 13/16] ASoC: madera: Add common support for Cirrus Logic Madera codecs

2017-04-05 Thread Richard Fitzgerald
The Cirrus Logic Madera codecs are a family of related codecs with
extensive digital and analogue I/O, digital mixing and routing,
signal processing and programmable DSPs.

This patch adds common support code shared by all Madera codecs.

Signed-off-by: Charles Keepax 
Signed-off-by: Nariman Poushin 
Signed-off-by: Nikesh Oswal 
Signed-off-by: Piotr Stankiewicz 
Signed-off-by: Ajit Pandey 
Signed-off-by: Richard Fitzgerald 
---
 Documentation/devicetree/bindings/sound/madera.txt |   63 +
 MAINTAINERS|5 +
 include/dt-bindings/sound/madera.h |   18 +
 include/sound/madera-pdata.h   |   70 +
 sound/soc/codecs/Kconfig   |5 +
 sound/soc/codecs/Makefile  |2 +
 sound/soc/codecs/madera.c  | 4430 
 sound/soc/codecs/madera.h  |  470 +++
 8 files changed, 5063 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/madera.txt
 create mode 100644 include/dt-bindings/sound/madera.h
 create mode 100644 include/sound/madera-pdata.h
 create mode 100644 sound/soc/codecs/madera.c
 create mode 100644 sound/soc/codecs/madera.h

diff --git a/Documentation/devicetree/bindings/sound/madera.txt 
b/Documentation/devicetree/bindings/sound/madera.txt
new file mode 100644
index 000..59e7a66
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/madera.txt
@@ -0,0 +1,63 @@
+Cirrus Logic Madera class audio codecs
+
+This is a subnode of the parent mfd node.
+
+See also the core bindings for the parent MFD driver:
+See Documentation/devicetree/bindings/mfd/madera.txt
+
+Required properties:
+  - compatible :  One of the following chip-specific strings:
+"cirrus,cs47l35-codec"
+"cirrus,cs47l85-codec"
+"cirrus,cs47l90-codec"
+
+Optional properties:
+  - cirrus,dmic-ref : DMIC bias reference for each input, one cell per input
+
+A value of 0 indicates MICVDD and is the default, other
+values depend on the codec - see the datasheet for the INn_DMIC_SUP field
+
+  - cirrus,inmode : A list of input mode settings for each input. A maximum
+of 16 cells, with four cells per input in the order INnAL, INnAR INnBL 
INnBR.
+For non-muxed inputs the first two cells for that input set the mode for
+the left and right channel and the second two cells must be 0.
+For muxed inputs the first two cells for that input set the mode of the
+left and right A inputs and the second two cells set the mode of the left
+and right B inputs.
+Valid mode values are one of the MADERA_INMODE_xxx (see
+include/dt-bindings/sound/madera.h). If the array is shorter than the 
number
+of inputs the unspecified inputs default to MADERA_INMODE_DIFF.
+
+  - cirrus,out-mono : Mono bit for each output, must contain six cells if
+specified. A non-zero value indicates the corresponding output is mono.
+
+  - cirrus,max-channels-clocked : The maximum number of channels to be clocked
+on each AIF, useful for I2S systems with multiple data lines being 
mastered.
+One cell for each AIF, use a value of zero for AIFs that should be handled
+normally.
+
+  - cirrus,pdm-fmt : PDM speaker data format, must contain 2 cells
+(OUT5 and OUT6). See the datasheet for values.
+The second cell is ignored for codecs that do not have OUT6.
+
+  - cirrus,pdm-mute : PDM speaker mute setting, must contain 2 cells
+(OUT5 and OUT6). See the datasheet for values.
+The second cell is ignored for codecs that do not have OUT6.
+
+Example:
+
+codec: cs47l35@0 {
+   compatible = "cirrus,cs47l35";
+
+   codec {
+   compatible = "cirrus,cs47l35-codec";
+   cirrus,dmic-ref = <0 0 1 0>;
+   cirrus,dmic-clksrc = <0 0 0 0>;
+   cirrus,inmode = <
+   2 2 1 1 /* IN1A digital, IN1B single-ended */
+   0 0 0 0 /* IN2 differential */
+   >;
+   cirrus,out-mono = <0 0 0 0 0 0>;
+   cirrus,max-channels-clocked = <2 0 0>;
+   };
+};
diff --git a/MAINTAINERS b/MAINTAINERS
index 0183692..b29f539 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3271,15 +3271,20 @@ F:  
Documentation/devicetree/bindings/interrupt-controller/cirrus,madera.txt
 F: Documentation/devicetree/bindings/mfd/madera.txt
 F: Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
 F: Documentation/devicetree/bindings/regulator/madera*
+F: Documentation/devicetree/bindings/sound/madera.txt
+F: include/dt-bindings/sound/madera*
 F: include/linux/irqchip/irq-madera*
 F: include/linux/mfd/madera/*
 F: include/linux/regulator/madera*
+F: include/sound/madera*
 F: drivers/gpio/gpio-madera*
 F: drivers/irqchip/irq-madera*
 F: drivers/mfd/madera*
 F: drivers/mfd/cs47l*
 F: drivers/pinctrl/pinctrl-madera*
 F: drivers/regulator/made