Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1215056 > unrolled thread

linux-next: build failure after merge of the sound-asoc tree

Started byStephen Rothwell <sfr@canb.auug.org.au>
First post2015-08-28 04:00 +0200
Last post2015-08-31 10:20 +0200
Articles 7 — 3 participants

Back to article view | Back to linux.kernel


Contents

  linux-next: build failure after merge of the sound-asoc tree Stephen Rothwell <sfr@canb.auug.org.au> - 2015-08-28 04:00 +0200
    Re: linux-next: build failure after merge of the sound-asoc tree Ricard Wanderlof <ricard.wanderlof@axis.com> - 2015-08-28 09:50 +0200
      Re: linux-next: build failure after merge of the sound-asoc tree Mark Brown <broonie@kernel.org> - 2015-08-28 17:50 +0200
        Re: linux-next: build failure after merge of the sound-asoc tree Ricard Wanderlof <ricard.wanderlof@axis.com> - 2015-08-31 09:10 +0200
          Re: linux-next: build failure after merge of the sound-asoc tree Stephen Rothwell <sfr@canb.auug.org.au> - 2015-08-31 09:50 +0200
            Re: linux-next: build failure after merge of the sound-asoc tree Stephen Rothwell <sfr@canb.auug.org.au> - 2015-08-31 10:00 +0200
              Re: linux-next: build failure after merge of the sound-asoc tree Ricard Wanderlof <ricard.wanderlof@axis.com> - 2015-08-31 10:20 +0200

#1215056 — linux-next: build failure after merge of the sound-asoc tree

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2015-08-28 04:00 +0200
Subjectlinux-next: build failure after merge of the sound-asoc tree
Message-ID<q2h7s-5DA-1@gated-at.bofh.it>
Hi all,

After merging the sound-asoc tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from sound/soc/codecs/ics43432.c:12:0:
sound/soc/codecs/ics43432.c:60:25: error: 'ics43432_dt_ids' undeclared here (not in a function)
 MODULE_DEVICE_TABLE(of, ics43432_dt_ids);
                         ^
include/linux/module.h:223:21: note: in definition of macro 'MODULE_DEVICE_TABLE'
 extern const typeof(name) __mod_##type##__##name##_device_table  \
                     ^
include/linux/module.h:223:27: error: '__mod_of__ics43432_dt_ids_device_table' aliased to undefined symbol 'ics43432_dt_ids'
 extern const typeof(name) __mod_##type##__##name##_device_table  \
                           ^ 
sound/soc/codecs/ics43432.c:60:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
 MODULE_DEVICE_TABLE(of, ics43432_dt_ids);
 ^

Caused by commit

  3b7ce99748f0 ("ASoC: ics43432: Add codec driver for InvenSense ICS-43432")

Not really build tested with CONFIG_OF set, right? :-(

I have reverted that commit for today.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1215205

FromRicard Wanderlof <ricard.wanderlof@axis.com>
Date2015-08-28 09:50 +0200
Message-ID<q2mAa-5cp-11@gated-at.bofh.it>
In reply to#1215056
On Fri, 28 Aug 2015, Stephen Rothwell wrote:

> After merging the sound-asoc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from sound/soc/codecs/ics43432.c:12:0:
> sound/soc/codecs/ics43432.c:60:25: error: 'ics43432_dt_ids' undeclared here (not in a function)
>  MODULE_DEVICE_TABLE(of, ics43432_dt_ids);
>                          ^
> include/linux/module.h:223:21: note: in definition of macro 'MODULE_DEVICE_TABLE'
>  extern const typeof(name) __mod_##type##__##name##_device_table  \
>                      ^
> include/linux/module.h:223:27: error: '__mod_of__ics43432_dt_ids_device_table' aliased to undefined symbol 'ics43432_dt_ids'
>  extern const typeof(name) __mod_##type##__##name##_device_table  \
>                            ^ 
> sound/soc/codecs/ics43432.c:60:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
>  MODULE_DEVICE_TABLE(of, ics43432_dt_ids);
>  ^
> 
> Caused by commit
> 
>   3b7ce99748f0 ("ASoC: ics43432: Add codec driver for InvenSense ICS-43432")
> 
> Not really build tested with CONFIG_OF set, right? :-(

Well, actually, yes.

In fact the exact same construct is used by a handful of other codec 
drivers which apparently don't fail.

I'm suspecting something slightly more convoluted like a missing #include .

> I have reverted that commit for today.

Ok. I'll get to work on this ASAP.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1215408

FromMark Brown <broonie@kernel.org>
Date2015-08-28 17:50 +0200
Message-ID<q2u4F-7zO-1@gated-at.bofh.it>
In reply to#1215205

[Multipart message — attachments visible in raw view] — view raw

On Fri, Aug 28, 2015 at 09:40:41AM +0200, Ricard Wanderlof wrote:
> On Fri, 28 Aug 2015, Stephen Rothwell wrote:

> In fact the exact same construct is used by a handful of other codec 
> drivers which apparently don't fail.

> I'm suspecting something slightly more convoluted like a missing #include .

No, the issue is that you have used a different variable name when
declaring the IDs and when referencing them in the module device table.

[toc] | [prev] | [next] | [standalone]


#1216050

FromRicard Wanderlof <ricard.wanderlof@axis.com>
Date2015-08-31 09:10 +0200
Message-ID<q3ro6-wj-15@gated-at.bofh.it>
In reply to#1215408
On Fri, 28 Aug 2015, Mark Brown wrote:

> On Fri, Aug 28, 2015 at 09:40:41AM +0200, Ricard Wanderlof wrote:
> > On Fri, 28 Aug 2015, Stephen Rothwell wrote:
> 
> > In fact the exact same construct is used by a handful of other codec 
> > drivers which apparently don't fail.
> 
> > I'm suspecting something slightly more convoluted like a missing 
> #include .
> 
> No, the issue is that you have used a different variable name when 
> declaring the IDs and when referencing them in the module device table.

Yeah, I realized that upon closer inspection. 

What bugs me is that my ARM gcc didn't seem to flag this, whereas the 
x86 gcc did upon subsequent testing. And yes, CONFIG_OF is set during my 
build.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1216068

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2015-08-31 09:50 +0200
Message-ID<q3s0O-1fK-13@gated-at.bofh.it>
In reply to#1216050
Hi Ricard,

On Mon, 31 Aug 2015 09:04:22 +0200 Ricard Wanderlof <ricard.wanderlof@axis.com> wrote:
>
> On Fri, 28 Aug 2015, Mark Brown wrote:
> 
> > On Fri, Aug 28, 2015 at 09:40:41AM +0200, Ricard Wanderlof wrote:
> > > On Fri, 28 Aug 2015, Stephen Rothwell wrote:
> > 
> > > In fact the exact same construct is used by a handful of other codec 
> > > drivers which apparently don't fail.
> > 
> > > I'm suspecting something slightly more convoluted like a missing 
> > #include .
> > 
> > No, the issue is that you have used a different variable name when 
> > declaring the IDs and when referencing them in the module device table.
> 
> Yeah, I realized that upon closer inspection. 
> 
> What bugs me is that my ARM gcc didn't seem to flag this, whereas the 
> x86 gcc did upon subsequent testing. And yes, CONFIG_OF is set during my 
> build.

Do you have CONFIG_MODULE set in your build? (just guessing)

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1216074

FromStephen Rothwell <sfr@canb.auug.org.au>
Date2015-08-31 10:00 +0200
Message-ID<q3sat-1r5-5@gated-at.bofh.it>
In reply to#1216068
Hi Ricard,

On Mon, 31 Aug 2015 17:48:42 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Mon, 31 Aug 2015 09:04:22 +0200 Ricard Wanderlof <ricard.wanderlof@axis.com> wrote:
> >
> > On Fri, 28 Aug 2015, Mark Brown wrote:
> > 
> > > On Fri, Aug 28, 2015 at 09:40:41AM +0200, Ricard Wanderlof wrote:
> > > > On Fri, 28 Aug 2015, Stephen Rothwell wrote:
> > > 
> > > > In fact the exact same construct is used by a handful of other codec 
> > > > drivers which apparently don't fail.
> > > 
> > > > I'm suspecting something slightly more convoluted like a missing 
> > > #include .
> > > 
> > > No, the issue is that you have used a different variable name when 
> > > declaring the IDs and when referencing them in the module device table.
> > 
> > Yeah, I realized that upon closer inspection. 
> > 
> > What bugs me is that my ARM gcc didn't seem to flag this, whereas the 
> > x86 gcc did upon subsequent testing. And yes, CONFIG_OF is set during my 
> > build.
> 
> Do you have CONFIG_MODULE set in your build? (just guessing)

Actually what matters is if you build the driver as a module or not.
See include/linux/module.h and the definitions of MODULE_DEVICE_TABLE().

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1216087

FromRicard Wanderlof <ricard.wanderlof@axis.com>
Date2015-08-31 10:20 +0200
Message-ID<q3stR-235-25@gated-at.bofh.it>
In reply to#1216074
On Mon, 31 Aug 2015, Stephen Rothwell wrote:

> On Mon, 31 Aug 2015 17:48:42 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > On Mon, 31 Aug 2015 09:04:22 +0200 Ricard Wanderlof <ricard.wanderlof@axis.com> wrote:
> > >
> > > On Fri, 28 Aug 2015, Mark Brown wrote:
> > > 
> > > > On Fri, Aug 28, 2015 at 09:40:41AM +0200, Ricard Wanderlof wrote:
> > > > > On Fri, 28 Aug 2015, Stephen Rothwell wrote:
> > > > 
> > > > > In fact the exact same construct is used by a handful of other codec 
> > > > > drivers which apparently don't fail.
> > > > 
> > > > > I'm suspecting something slightly more convoluted like a missing 
> > > > #include .
> > > > 
> > > > No, the issue is that you have used a different variable name when 
> > > > declaring the IDs and when referencing them in the module device table.
> > > 
> > > Yeah, I realized that upon closer inspection. 
> > > 
> > > What bugs me is that my ARM gcc didn't seem to flag this, whereas the 
> > > x86 gcc did upon subsequent testing. And yes, CONFIG_OF is set during my 
> > > build.
> > 
> > Do you have CONFIG_MODULE set in your build? (just guessing)
> 
> Actually what matters is if you build the driver as a module or not.
> See include/linux/module.h and the definitions of MODULE_DEVICE_TABLE().

Bingo.

Haven't verified that, but it's true, the kernel build for our ARM system 
is largely monolithic as we have no need to reconfigure it once it has 
been built. Whereas in my x86 test build the driver was built as a module.

Thanks Stegphen!

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web