Hi Takashi,

[auto build test ERROR on sound/for-next]
[also build test ERROR on v4.5-rc4 next-20160217]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improving the system]

url:    
https://github.com/0day-ci/linux/commits/Takashi-Iwai/ALSA-jack-Allow-building-the-jack-layer-without-input/20160217-171209
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: x86_64-randconfig-x012-201607 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> sound/core/jack.c:184:5: error: redefinition of 'snd_jack_add_new_kctl'
    int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int 
mask)
        ^
   In file included from sound/core/jack.c:25:0:
   include/sound/jack.h:108:19: note: previous definition of 
'snd_jack_add_new_kctl' was here
    static inline int snd_jack_add_new_kctl(struct snd_jack *jack, const char * 
name, int mask)
                      ^
>> sound/core/jack.c:212:5: error: redefinition of 'snd_jack_new'
    int snd_jack_new(struct snd_card *card, const char *id, int type,
        ^
   In file included from sound/core/jack.c:25:0:
   include/sound/jack.h:102:19: note: previous definition of 'snd_jack_new' was 
here
    static inline int snd_jack_new(struct snd_card *card, const char *id, int 
type,
                      ^
>> sound/core/jack.c:296:6: error: redefinition of 'snd_jack_set_parent'
    void snd_jack_set_parent(struct snd_jack *jack, struct device *parent)
         ^
   In file included from sound/core/jack.c:25:0:
   include/sound/jack.h:120:20: note: previous definition of 
'snd_jack_set_parent' was here
    static inline void snd_jack_set_parent(struct snd_jack *jack,
                       ^
>> sound/core/jack.c:331:5: error: redefinition of 'snd_jack_set_key'
    int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type,
        ^
   In file included from sound/core/jack.c:25:0:
   include/sound/jack.h:125:19: note: previous definition of 'snd_jack_set_key' 
was here
    static inline int snd_jack_set_key(struct snd_jack *jack,
                      ^
>> sound/core/jack.c:354:6: error: redefinition of 'snd_jack_report'
    void snd_jack_report(struct snd_jack *jack, int status)
         ^
   In file included from sound/core/jack.c:25:0:
   include/sound/jack.h:113:20: note: previous definition of 'snd_jack_report' 
was here
    static inline void snd_jack_report(struct snd_jack *jack, int status)
                       ^

vim +/snd_jack_add_new_kctl +184 sound/core/jack.c

9058cbe1e Jie Yang         2015-04-27  178   *         by this snd_jack_kctl 
object.
9058cbe1e Jie Yang         2015-04-27  179   *
9058cbe1e Jie Yang         2015-04-27  180   * Creates a new snd_kcontrol 
object and adds it to the jack kctl_list.
9058cbe1e Jie Yang         2015-04-27  181   *
9058cbe1e Jie Yang         2015-04-27  182   * Return: Zero if successful, or a 
negative error code on failure.
9058cbe1e Jie Yang         2015-04-27  183   */
9058cbe1e Jie Yang         2015-04-27 @184  int snd_jack_add_new_kctl(struct 
snd_jack *jack, const char * name, int mask)
9058cbe1e Jie Yang         2015-04-27  185  {
9058cbe1e Jie Yang         2015-04-27  186      struct snd_jack_kctl *jack_kctl;
9058cbe1e Jie Yang         2015-04-27  187  
9058cbe1e Jie Yang         2015-04-27  188      jack_kctl = 
snd_jack_kctl_new(jack->card, name, mask);
9058cbe1e Jie Yang         2015-04-27  189      if (!jack_kctl)
9058cbe1e Jie Yang         2015-04-27  190              return -ENOMEM;
9058cbe1e Jie Yang         2015-04-27  191  
9058cbe1e Jie Yang         2015-04-27  192      snd_jack_kctl_add(jack, 
jack_kctl);
9058cbe1e Jie Yang         2015-04-27  193      return 0;
9058cbe1e Jie Yang         2015-04-27  194  }
9058cbe1e Jie Yang         2015-04-27  195  
EXPORT_SYMBOL(snd_jack_add_new_kctl);
9058cbe1e Jie Yang         2015-04-27  196  
e76d8ceaa Mark Brown       2008-07-28  197  /**
e76d8ceaa Mark Brown       2008-07-28  198   * snd_jack_new - Create a new jack
e76d8ceaa Mark Brown       2008-07-28  199   * @card:  the card instance
e76d8ceaa Mark Brown       2008-07-28  200   * @id:    an identifying string 
for this jack
e76d8ceaa Mark Brown       2008-07-28  201   * @type:  a bitmask of enum 
snd_jack_type values that can be detected by
e76d8ceaa Mark Brown       2008-07-28  202   *         this jack
e76d8ceaa Mark Brown       2008-07-28  203   * @jjack: Used to provide the 
allocated jack object to the caller.
4e3f0dc65 Jie Yang         2015-04-27  204   * @initial_kctl: if true, create a 
kcontrol and add it to the jack list.
4e3f0dc65 Jie Yang         2015-04-27  205   * @phantom_jack: Don't create a 
input device for phantom jacks.
e76d8ceaa Mark Brown       2008-07-28  206   *
e76d8ceaa Mark Brown       2008-07-28  207   * Creates a new jack object.
e76d8ceaa Mark Brown       2008-07-28  208   *
eb7c06e8e Yacine Belkadi   2013-03-11  209   * Return: Zero if successful, or a 
negative error code on failure.
eb7c06e8e Yacine Belkadi   2013-03-11  210   * On success @jjack will be 
initialised.
e76d8ceaa Mark Brown       2008-07-28  211   */
e76d8ceaa Mark Brown       2008-07-28 @212  int snd_jack_new(struct snd_card 
*card, const char *id, int type,
4e3f0dc65 Jie Yang         2015-04-27  213               struct snd_jack 
**jjack, bool initial_kctl, bool phantom_jack)
e76d8ceaa Mark Brown       2008-07-28  214  {
e76d8ceaa Mark Brown       2008-07-28  215      struct snd_jack *jack;
4e3f0dc65 Jie Yang         2015-04-27  216      struct snd_jack_kctl *jack_kctl 
= NULL;
e76d8ceaa Mark Brown       2008-07-28  217      int err;
e76d8ceaa Mark Brown       2008-07-28  218      static struct snd_device_ops 
ops = {
e76d8ceaa Mark Brown       2008-07-28  219              .dev_free = 
snd_jack_dev_free,
dbe821f46 Takashi Iwai     2016-02-17  220  #ifdef CONFIG_SND_JACK_INPUT_DEV
e76d8ceaa Mark Brown       2008-07-28  221              .dev_register = 
snd_jack_dev_register,
32b854429 Takashi Iwai     2013-11-14  222              .dev_disconnect = 
snd_jack_dev_disconnect,
dbe821f46 Takashi Iwai     2016-02-17  223  #endif /* CONFIG_SND_JACK_INPUT_DEV 
*/
e76d8ceaa Mark Brown       2008-07-28  224      };
e76d8ceaa Mark Brown       2008-07-28  225  
4e3f0dc65 Jie Yang         2015-04-27  226      if (initial_kctl) {
4e3f0dc65 Jie Yang         2015-04-27  227              jack_kctl = 
snd_jack_kctl_new(card, id, type);
4e3f0dc65 Jie Yang         2015-04-27  228              if (!jack_kctl)
4e3f0dc65 Jie Yang         2015-04-27  229                      return -ENOMEM;
4e3f0dc65 Jie Yang         2015-04-27  230      }
4e3f0dc65 Jie Yang         2015-04-27  231  
e76d8ceaa Mark Brown       2008-07-28  232      jack = kzalloc(sizeof(struct 
snd_jack), GFP_KERNEL);
e76d8ceaa Mark Brown       2008-07-28  233      if (jack == NULL)
e76d8ceaa Mark Brown       2008-07-28  234              return -ENOMEM;
e76d8ceaa Mark Brown       2008-07-28  235  
282cd76ff Matthew Ranostay 2008-10-25  236      jack->id = kstrdup(id, 
GFP_KERNEL);
e76d8ceaa Mark Brown       2008-07-28  237  
4e3f0dc65 Jie Yang         2015-04-27  238      /* don't creat input device for 
phantom jack */
4e3f0dc65 Jie Yang         2015-04-27  239      if (!phantom_jack) {
dbe821f46 Takashi Iwai     2016-02-17  240  #ifdef CONFIG_SND_JACK_INPUT_DEV
dbe821f46 Takashi Iwai     2016-02-17  241              int i;
dbe821f46 Takashi Iwai     2016-02-17  242  
e76d8ceaa Mark Brown       2008-07-28  243              jack->input_dev = 
input_allocate_device();
e76d8ceaa Mark Brown       2008-07-28  244              if (jack->input_dev == 
NULL) {
e76d8ceaa Mark Brown       2008-07-28  245                      err = -ENOMEM;
e76d8ceaa Mark Brown       2008-07-28  246                      goto fail_input;
e76d8ceaa Mark Brown       2008-07-28  247              }
e76d8ceaa Mark Brown       2008-07-28  248  
e76d8ceaa Mark Brown       2008-07-28  249              jack->input_dev->phys = 
"ALSA";
e76d8ceaa Mark Brown       2008-07-28  250  
e76d8ceaa Mark Brown       2008-07-28  251              jack->type = type;
e76d8ceaa Mark Brown       2008-07-28  252  
53803aead Mark Brown       2012-02-07  253              for (i = 0; i < 
SND_JACK_SWITCH_TYPES; i++)
bd8a71a7b Mark Brown       2009-01-03  254                      if (type & (1 
<< i))
e76d8ceaa Mark Brown       2008-07-28  255                              
input_set_capability(jack->input_dev, EV_SW,
1c6e555c3 Mark Brown       2010-03-17  256                                      
             jack_switch_types[i]);
e76d8ceaa Mark Brown       2008-07-28  257  
dbe821f46 Takashi Iwai     2016-02-17  258  #endif /* CONFIG_SND_JACK_INPUT_DEV 
*/
4e3f0dc65 Jie Yang         2015-04-27  259      }
4e3f0dc65 Jie Yang         2015-04-27  260  
e76d8ceaa Mark Brown       2008-07-28  261      err = snd_device_new(card, 
SNDRV_DEV_JACK, jack, &ops);
e76d8ceaa Mark Brown       2008-07-28  262      if (err < 0)
e76d8ceaa Mark Brown       2008-07-28  263              goto fail_input;
e76d8ceaa Mark Brown       2008-07-28  264  
9058cbe1e Jie Yang         2015-04-27  265      jack->card = card;
9058cbe1e Jie Yang         2015-04-27  266      
INIT_LIST_HEAD(&jack->kctl_list);
9058cbe1e Jie Yang         2015-04-27  267  
4e3f0dc65 Jie Yang         2015-04-27  268      if (initial_kctl)
4e3f0dc65 Jie Yang         2015-04-27  269              snd_jack_kctl_add(jack, 
jack_kctl);
4e3f0dc65 Jie Yang         2015-04-27  270  
e76d8ceaa Mark Brown       2008-07-28  271      *jjack = jack;
e76d8ceaa Mark Brown       2008-07-28  272  
e76d8ceaa Mark Brown       2008-07-28  273      return 0;
e76d8ceaa Mark Brown       2008-07-28  274  
e76d8ceaa Mark Brown       2008-07-28  275  fail_input:
dbe821f46 Takashi Iwai     2016-02-17  276  #ifdef CONFIG_SND_JACK_INPUT_DEV
e76d8ceaa Mark Brown       2008-07-28  277      
input_free_device(jack->input_dev);
dbe821f46 Takashi Iwai     2016-02-17  278  #endif
eeda276be Lu Guanqun       2011-02-21  279      kfree(jack->id);
e76d8ceaa Mark Brown       2008-07-28  280      kfree(jack);
e76d8ceaa Mark Brown       2008-07-28  281      return err;
e76d8ceaa Mark Brown       2008-07-28  282  }
e76d8ceaa Mark Brown       2008-07-28  283  EXPORT_SYMBOL(snd_jack_new);
e76d8ceaa Mark Brown       2008-07-28  284  
dbe821f46 Takashi Iwai     2016-02-17  285  #ifdef CONFIG_SND_JACK_INPUT_DEV
e76d8ceaa Mark Brown       2008-07-28  286  /**
e76d8ceaa Mark Brown       2008-07-28  287   * snd_jack_set_parent - Set the 
parent device for a jack
e76d8ceaa Mark Brown       2008-07-28  288   *
e76d8ceaa Mark Brown       2008-07-28  289   * @jack:   The jack to configure
e76d8ceaa Mark Brown       2008-07-28  290   * @parent: The device to set as 
parent for the jack.
e76d8ceaa Mark Brown       2008-07-28  291   *
a2e888f0d Mark Brown       2012-05-07  292   * Set the parent for the jack 
devices in the device tree.  This
e76d8ceaa Mark Brown       2008-07-28  293   * function is only valid prior to 
registration of the jack.  If no
e76d8ceaa Mark Brown       2008-07-28  294   * parent is configured then the 
parent device will be the sound card.
e76d8ceaa Mark Brown       2008-07-28  295   */
e76d8ceaa Mark Brown       2008-07-28 @296  void snd_jack_set_parent(struct 
snd_jack *jack, struct device *parent)
e76d8ceaa Mark Brown       2008-07-28  297  {
e76d8ceaa Mark Brown       2008-07-28  298      WARN_ON(jack->registered);
43b2cd547 Takashi Iwai     2015-04-30  299      if (!jack->input_dev)
43b2cd547 Takashi Iwai     2015-04-30  300              return;
e76d8ceaa Mark Brown       2008-07-28  301  
e76d8ceaa Mark Brown       2008-07-28  302      jack->input_dev->dev.parent = 
parent;
e76d8ceaa Mark Brown       2008-07-28  303  }
e76d8ceaa Mark Brown       2008-07-28  304  EXPORT_SYMBOL(snd_jack_set_parent);
e76d8ceaa Mark Brown       2008-07-28  305  
e76d8ceaa Mark Brown       2008-07-28  306  /**
ebb812cb8 Mark Brown       2010-03-17  307   * snd_jack_set_key - Set a key 
mapping on a jack
ebb812cb8 Mark Brown       2010-03-17  308   *
ebb812cb8 Mark Brown       2010-03-17  309   * @jack:    The jack to configure
ebb812cb8 Mark Brown       2010-03-17  310   * @type:    Jack report type for 
this key
ebb812cb8 Mark Brown       2010-03-17  311   * @keytype: Input layer key type 
to be reported
ebb812cb8 Mark Brown       2010-03-17  312   *
ebb812cb8 Mark Brown       2010-03-17  313   * Map a SND_JACK_BTN_ button type 
to an input layer key, allowing
ebb812cb8 Mark Brown       2010-03-17  314   * reporting of keys on accessories 
via the jack abstraction.  If no
ebb812cb8 Mark Brown       2010-03-17  315   * mapping is provided but keys are 
enabled in the jack type then
ebb812cb8 Mark Brown       2010-03-17  316   * BTN_n numeric buttons will be 
reported.
ebb812cb8 Mark Brown       2010-03-17  317   *
a2e888f0d Mark Brown       2012-05-07  318   * If jacks are not reporting via 
the input API this call will have no
a2e888f0d Mark Brown       2012-05-07  319   * effect.
a2e888f0d Mark Brown       2012-05-07  320   *
ebb812cb8 Mark Brown       2010-03-17  321   * Note that this is intended to be 
use by simple devices with small
ebb812cb8 Mark Brown       2010-03-17  322   * numbers of keys that can be 
reported.  It is also possible to
ebb812cb8 Mark Brown       2010-03-17  323   * access the input device directly 
- devices with complex input
ebb812cb8 Mark Brown       2010-03-17  324   * capabilities on accessories 
should consider doing this rather than
ebb812cb8 Mark Brown       2010-03-17  325   * using this abstraction.
ebb812cb8 Mark Brown       2010-03-17  326   *
ebb812cb8 Mark Brown       2010-03-17  327   * This function may only be called 
prior to registration of the jack.
eb7c06e8e Yacine Belkadi   2013-03-11  328   *
eb7c06e8e Yacine Belkadi   2013-03-11  329   * Return: Zero if successful, or a 
negative error code on failure.
ebb812cb8 Mark Brown       2010-03-17  330   */
ebb812cb8 Mark Brown       2010-03-17 @331  int snd_jack_set_key(struct 
snd_jack *jack, enum snd_jack_types type,
ebb812cb8 Mark Brown       2010-03-17  332                   int keytype)
ebb812cb8 Mark Brown       2010-03-17  333  {
ebb812cb8 Mark Brown       2010-03-17  334      int key = fls(SND_JACK_BTN_0) - 
fls(type);
ebb812cb8 Mark Brown       2010-03-17  335  
ebb812cb8 Mark Brown       2010-03-17  336      WARN_ON(jack->registered);
ebb812cb8 Mark Brown       2010-03-17  337  
ebb812cb8 Mark Brown       2010-03-17  338      if (!keytype || key >= 
ARRAY_SIZE(jack->key))
ebb812cb8 Mark Brown       2010-03-17  339              return -EINVAL;
ebb812cb8 Mark Brown       2010-03-17  340  
ebb812cb8 Mark Brown       2010-03-17  341      jack->type |= type;
ebb812cb8 Mark Brown       2010-03-17  342      jack->key[key] = keytype;
ebb812cb8 Mark Brown       2010-03-17  343      return 0;
ebb812cb8 Mark Brown       2010-03-17  344  }
ebb812cb8 Mark Brown       2010-03-17  345  EXPORT_SYMBOL(snd_jack_set_key);
dbe821f46 Takashi Iwai     2016-02-17  346  #endif /* CONFIG_SND_JACK_INPUT_DEV 
*/
ebb812cb8 Mark Brown       2010-03-17  347  
ebb812cb8 Mark Brown       2010-03-17  348  /**
e76d8ceaa Mark Brown       2008-07-28  349   * snd_jack_report - Report the 
current status of a jack
e76d8ceaa Mark Brown       2008-07-28  350   *
e76d8ceaa Mark Brown       2008-07-28  351   * @jack:   The jack to report 
status for
e76d8ceaa Mark Brown       2008-07-28  352   * @status: The current status of 
the jack
e76d8ceaa Mark Brown       2008-07-28  353   */
e76d8ceaa Mark Brown       2008-07-28 @354  void snd_jack_report(struct 
snd_jack *jack, int status)
e76d8ceaa Mark Brown       2008-07-28  355  {
9058cbe1e Jie Yang         2015-04-27  356      struct snd_jack_kctl *jack_kctl;
dbe821f46 Takashi Iwai     2016-02-17  357  #ifdef CONFIG_SND_JACK_INPUT_DEV

:::::: The code at line 184 was first introduced by commit
:::::: 9058cbe1eed29381f84dec9f96980f5a4ea1025f ALSA: jack: implement kctl 
creating for jack devices

:::::: TO: Jie Yang <[email protected]>
:::::: CC: Takashi Iwai <[email protected]>

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

Attachment: .config.gz
Description: Binary data

Reply via email to