Problem building newer kernels: include/asm/*.h not found

275 views
Skip to first unread message

Martin Guy

unread,
Dec 5, 2009, 1:29:23 PM12/5/09
to si...@googlegroups.com
Hi!
I'm having some trouble compiling the patches for newer kernels.
It looks like I'm missing something obvious.

ARCH=arm make simone_defconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make uImage modules

2.6.30.9:

CC sound/arm/ep93xx-ac97.o
In file included from sound/arm/ep93xx-ac97.c:12:
include/sound/driver.h:1:2: warning: #warning "This file is deprecated"
sound/arm/ep93xx-ac97.c:21:27: error: asm/semaphore.h: No such file or directory
sound/arm/ep93xx-ac97.c:22:26: error: asm/hardware.h: No such file or directory
sound/arm/ep93xx-ac97.c:24:26: error: asm/arch/dma.h: No such file or directory

and then it floods with errors about undefined symbols

2.6.31.6: (as posted to mailing list; not in mercurial)

CC drivers/input/touchscreen/ep93xx_ts.o
drivers/input/touchscreen/ep93xx_ts.c:26:26: error: asm/hardware.h: No
such file or directory
drivers/input/touchscreen/ep93xx_ts.c: In function 'ep93xx_ts_setup':
drivers/input/touchscreen/ep93xx_ts.c:567: error: 'SYSCON_KTDIV'
undeclared (first use in this function)
...

include/asm points to include/asm-arm and in 2.6.24.7 that directory
was contained in the tarball with all the required .h files.
In the later versions, the directory is not in the tarball but gets
created containing only two files:
asm-offsets.h mach-types.h

Is there some step I'm missing to populate include/asm-arm during the build?

Also, are people using simone_defconfig when building, or something else?

Thanks

M

marcus

unread,
Dec 5, 2009, 2:12:32 PM12/5/09
to si...@googlegroups.com
There are some things that have changed in newer kernels.

asm/hardware.h seem invalid. I think it went split into several files in
arch/arm/inclues/asm/hardware

linux/gpio.h should be used.
mach/hardware should be used.

Still not compiling?

I use simone_defconfig to reset to a good starting point when I have gone lost
in too many changes. :)


Btw, another topic: U-boot-1.1.16: How did you get your packet rx error, status
F0000100 8000022E when getting a file from tftp to go away?

/Marcus

Martin Guy

unread,
Dec 5, 2009, 2:14:23 PM12/5/09
to si...@googlegroups.com
On 12/5/09, marcus <cmp...@gmail.com> wrote:
> Btw, another topic: U-boot-1.1.16: How did you get your packet rx error,
> status F0000100 8000022E when getting a file from tftp to go away?

I didn't. One of the white boards still suffers from this; the other
two are OK. I can boot the flaky white one from the kernel already in
the flash ROM and then it can access the ethernet fine so I guess I'll
be trying to reflash the kernel from linux at some point...

M

Martin Guy

unread,
Dec 6, 2009, 11:26:55 AM12/6/09
to si...@googlegroups.com
On 12/5/09, marcus <cmp...@gmail.com> wrote:
> asm/hardware.h seem invalid. I think it went split into several files in
> arch/arm/inclues/asm/hardware
>
> linux/gpio.h should be used.
> mach/hardware should be used.

> Still not compiling?
Like I say: missing headers and floodgating on undefined symbols for
all > 2.6.24.7 < 2.6.32
I would like people to be able to download the sources from
kernel.org, apply the patchset, make simone_defconfig and make uImage
and modules. This doesn't work for me, but I don't see what I'm
missing.

> I use simone_defconfig to reset to a good starting point when I have gone
> lost in too many changes. :)

I'm not sure it's useful to store personal config settings in the
public patch directory - custom configs are more of a personal need,
different for each use.

For the simone_defconfig I just followed nuccio's one (which I guess
derives from the cirrus one) out of humiilty :) It has a minimal set
of facilities all built-in (e.g. ipv4 but not ipv6) and the nly
strangeness is that a few crypto modules. Maybe we could arrive at a
better strategy?

The Debian config I cooked up follows the Debian settings for the
iop32x - another similar ARM box, with the following changes:
- building in all drivers for the card's on-board hardware (i.e.
modules that wuold always be loaded anyway), including SD/MMC card,
USB storage and nfsroot, with ext2 and 3 filesystems, so that the
kernel can be booted without a Debian initrd, as well as being able to
boot other filesystems to a usable state without extra modules from
those three kinds of rootfs storage
- removing things like PCI modules, PCCARD, SCSI hardware except for
disk storage (needed for usb storage) and anything else that could
never be used on the sim1. (Question: do USB CDROM readers/writers use
the SCSI cdrom layer?)
That results in a huge number of modules - every kind of hardware that
could possibly be connected to the sim1.

I did a similar Debian one for 2.6.32 following the settings in their
"unstable" version, but I think I've deleted it in some purge :-(.
Shame, it takes hours to go through and compare every new option with
the Debian setting!

I see some strange stuff in the 2.6.32 patch set: some unrelated patch
for the edb9301 and the following patches which are not in the
"series" file and not used:

ep93xx-eth.patch
rightly - the mainline ethernet driver seems to work and is reported
to be faster

ep93xx-dma.patch
applies cleanly - but the code is never called from anywhere

ep93xx-snd-ac97.patch
doesn't apply cleanly:
patching file arch/arm/mach-ep93xx/include/mach/hardware.h
Hunk #1 FAILED at 3.

Looking at the 2.6.24.7 patches, the only thing that ever uses that
DMA patch's code is the AC97 driver, while mainline linux seems to
have grown its own ep93xx DMA code in the meantime.
Might this be why audio is not reliable - because that DMA code is not right?

FWIW, I seemed to get less audio interruptions by enabling Kernel
Features -> Preemptive scheduling and using mpg123's "-T" realtime
scheduling option.

But it's still not perfect. About once every ten/twenty minutes there
is a pause of less than one second, and at the same time it resets the
PCM volume to 75% for no reason (!)

Marcin, is it ok to delete these from the repository until they are
used and [at least semi-]working?

M

Marcin Juszkiewicz

unread,
Dec 6, 2009, 5:01:17 PM12/6/09
to si...@googlegroups.com
Dnia niedziela, 6 grudnia 2009 o 17:26:55 Martin Guy napisał(a):
> On 12/5/09, marcus <cmp...@gmail.com> wrote:
> > asm/hardware.h seem invalid. I think it went split into several files in
> > arch/arm/inclues/asm/hardware
> >
> > linux/gpio.h should be used.
> > mach/hardware should be used.
> >
> > Still not compiling?
>
> Like I say: missing headers and floodgating on undefined symbols for
> all > 2.6.24.7 < 2.6.32
> I would like people to be able to download the sources from
> kernel.org, apply the patchset, make simone_defconfig and make uImage
> and modules. This doesn't work for me, but I don't see what I'm
> missing.

So you need to have patchset for each kernel version. Waste of time. We have
2.6.24.7 which works and should concentrate on getting Sim.One support merged
into mainline. For start merge basic support for board so you will not have to
worry about it and then merge Cirrus Logic drivers one by one. Otherwise you
will need lot of time after each release.

> > I use simone_defconfig to reset to a good starting point when I have
> > gone lost in too many changes. :)
>
> I'm not sure it's useful to store personal config settings in the
> public patch directory - custom configs are more of a personal need,
> different for each use.

There is no such thing as config which fits all. My config supports all EP93xx
boards which use same memory bank setup (did not tested on others anyway).

> The Debian config I cooked up follows the Debian settings for the
> iop32x - another similar ARM box, with the following changes:
> - building in all drivers for the card's on-board hardware (i.e.
> modules that wuold always be loaded anyway), including SD/MMC card,
> USB storage and nfsroot, with ext2 and 3 filesystems, so that the
> kernel can be booted without a Debian initrd, as well as being able to
> boot other filesystems to a usable state without extra modules from
> those three kinds of rootfs storage

Kernel should have everything inside which is required to get board booted. So
NFSroot, Ethernet, MMC, USB (host/storage), SCSI multiLUN scanning (for
multiport card readers), serial port drivers + basic filesystems (ext2/3/4,
cramfs, ubifs, jffs2, squashfs).

> (Question: do USB CDROM readers/writers use the SCSI cdrom layer?)

Yes, they use - there is no other CDROM layer in kernel now (I do not count
deprecated IDE subsystem). SCSI/SATA/PATA/USB/FW use scsi subsystem for
handling drives.

> I see some strange stuff in the 2.6.32 patch set:

> some unrelated patch for the edb9301

My set started from my EP93xx setup which I use for EDB9301 thats why this
patch is present. It does not hurt sim.one anyway.

> and the following patches which are not in the "series" file and not used:

Dropped them.

> Marcin, is it ok to delete these from the repository until they are
> used and [at least semi-]working?

I dropped all of them, left only used ones. And I do not plan to work on
getting DMA or sound working.


Regards,
--
JID: h...@jabber.org
Website: http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz


Marcin Juszkiewicz

unread,
Dec 6, 2009, 5:00:57 PM12/6/09
to si...@googlegroups.com
Dnia sobota, 5 grudnia 2009 o 19:29:23 Martin Guy napisał(a):
> Hi!
> I'm having some trouble compiling the patches for newer kernels.
> It looks like I'm missing something obvious.

You miss tracking of kernel history ;D

> Is there some step I'm missing to populate include/asm-arm during the
> build?

Include structure got changes some time ago. Check my 2.6.32 patches to get
idea how to fix it. Also names of some ep93xx registers got changed - look at
2.6.32 touchscreen patch.

BTW - did you booted 2.6.32 on sim.one? I do not have monitor plugged so
cannot check now does FB works but it should.

> Also, are people using simone_defconfig when building, or something else?

I use own config - included in 2.6.32 patchset.

Martin Guy

unread,
Dec 6, 2009, 6:26:40 PM12/6/09
to si...@googlegroups.com
On 12/6/09, Marcin Juszkiewicz <mar...@juszkiewicz.com.pl> wrote:
> BTW - did you booted 2.6.32 on sim.one? I do not have monitor plugged so
> cannot check now does FB works but it should.

Yes. I think audio is the only think missing now. The FB needed
initialising in simone board def to work - I uploaded the changes to
that patch earlier this evening. Unlike the CIrrus driver, fbset now
works so you can change resolution/depth/colour weights/timing etc
without having to recompile the kernel. It boots into 640x400x16bits
(the lowest res I guess) and X also starts as 640x400, whatever you
fbset before. There is a doc on how to provide a smaller range of
available resolutions and how to set a default resolution in
Documentation/fb/ep93xx* - I guess we should look into that.

M

Florian Fainelli

unread,
Dec 7, 2009, 8:33:53 AM12/7/09
to si...@googlegroups.com, Marcin Juszkiewicz
Hi all,

On Sunday 06 December 2009 23:01:17 Marcin Juszkiewicz wrote:
> Dnia niedziela, 6 grudnia 2009 o 17:26:55 Martin Guy napisał(a):
> > On 12/5/09, marcus <cmp...@gmail.com> wrote:
> > > asm/hardware.h seem invalid. I think it went split into several files
> > > in arch/arm/inclues/asm/hardware
> > >
> > > linux/gpio.h should be used.
> > > mach/hardware should be used.
> > >
> > > Still not compiling?
> >
> > Like I say: missing headers and floodgating on undefined symbols for
> > all > 2.6.24.7 < 2.6.32
> > I would like people to be able to download the sources from
> > kernel.org, apply the patchset, make simone_defconfig and make uImage
> > and modules. This doesn't work for me, but I don't see what I'm
> > missing.
>
> So you need to have patchset for each kernel version. Waste of time. We
> have 2.6.24.7 which works and should concentrate on getting Sim.One
> support merged into mainline. For start merge basic support for board so
> you will not have to worry about it and then merge Cirrus Logic drivers
> one by one. Otherwise you will need lot of time after each release.

Yes this is definitively the direction to go. Since it can take a lot of time,
we can/should share this workload with the ep93xx ARM kernel people.

>
> > > I use simone_defconfig to reset to a good starting point when I have
> > > gone lost in too many changes. :)
> >
> > I'm not sure it's useful to store personal config settings in the
> > public patch directory - custom configs are more of a personal need,
> > different for each use.
>
> There is no such thing as config which fits all. My config supports all
> EP93xx boards which use same memory bank setup (did not tested on others
> anyway).
>
> > The Debian config I cooked up follows the Debian settings for the
> > iop32x - another similar ARM box, with the following changes:
> > - building in all drivers for the card's on-board hardware (i.e.
> > modules that wuold always be loaded anyway), including SD/MMC card,
> > USB storage and nfsroot, with ext2 and 3 filesystems, so that the
> > kernel can be booted without a Debian initrd, as well as being able to
> > boot other filesystems to a usable state without extra modules from
> > those three kinds of rootfs storage
>
> Kernel should have everything inside which is required to get board booted.
> So NFSroot, Ethernet, MMC, USB (host/storage), SCSI multiLUN scanning (for
> multiport card readers), serial port drivers + basic filesystems
> (ext2/3/4, cramfs, ubifs, jffs2, squashfs).

Indeed

>
> > (Question: do USB CDROM readers/writers use the SCSI cdrom layer?)
>
> Yes, they use - there is no other CDROM layer in kernel now (I do not count
> deprecated IDE subsystem). SCSI/SATA/PATA/USB/FW use scsi subsystem for
> handling drives.
>
> > I see some strange stuff in the 2.6.32 patch set:
> >
> > some unrelated patch for the edb9301
>
> My set started from my EP93xx setup which I use for EDB9301 thats why this
> patch is present. It does not hurt sim.one anyway.
>
> > and the following patches which are not in the "series" file and not
> > used:
>
> Dropped them.
>
> > Marcin, is it ok to delete these from the repository until they are
> > used and [at least semi-]working?
>
> I dropped all of them, left only used ones. And I do not plan to work on
> getting DMA or sound working.

I will work on getting the missing patches working again.
--
Florian

Federico Briata

unread,
Dec 20, 2009, 1:54:38 PM12/20/09
to si...@googlegroups.com
hi, i'm tring to compile 2.6.30.9,
i made my .config from makeoldconfig starting from
config-2.6.24.7-20091220 posted few minute ago.

CC drivers/video/ep93xxfb.o
drivers/video/ep93xxfb.c: In function ‘ep93xxfb_cursor’:
drivers/video/ep93xxfb.c:541: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c: In function ‘ep93xxfb_ioctl’:
drivers/video/ep93xxfb.c:1336: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c:1340: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c:1344: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c:1348: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c:1352: warning: ignoring return value of
‘copy_from_user’, declared with attribute warn_unused_result
drivers/video/ep93xxfb.c: At top level:
drivers/video/ep93xxfb.c:1372: warning: initialization from
incompatible pointer type
LD drivers/video/built-in.o
CC drivers/watchdog/ep93xx_wdt.o
LD drivers/watchdog/built-in.o
LD drivers/built-in.o
CC sound/sound_core.o
LD sound/soundcore.o


CC sound/arm/ep93xx-ac97.o
In file included from sound/arm/ep93xx-ac97.c:12:
include/sound/driver.h:1:2: warning: #warning "This file is deprecated"
sound/arm/ep93xx-ac97.c:21:27: error: asm/semaphore.h: No such file or directory
sound/arm/ep93xx-ac97.c:22:26: error: asm/hardware.h: No such file or directory
sound/arm/ep93xx-ac97.c:24:26: error: asm/arch/dma.h: No such file or directory

In file included from sound/arm/ep93xx-ac97.c:25:
sound/arm/ep93xx-ac97.h:78: error: expected specifier-qualifier-list
before ‘ep93xx_dma_dev_t’
sound/arm/ep93xx-ac97.c:54: error: expected ‘)’ before ‘DMAInt’
sound/arm/ep93xx-ac97.c:57: error: expected ‘)’ before ‘DMAInt’
sound/arm/ep93xx-ac97.c:93: error: unknown field ‘output_dma’
specified in initializer
sound/arm/ep93xx-ac97.c:93: error: ‘DMATx_AAC1’ undeclared here (not
in a function)
sound/arm/ep93xx-ac97.c:94: error: unknown field ‘output_id’ specified
in initializer
sound/arm/ep93xx-ac97.c:94: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:94: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:97: error: unknown field ‘input_dma’ specified
in initializer
sound/arm/ep93xx-ac97.c:97: error: ‘DMARx_AAC1’ undeclared here (not
in a function)
sound/arm/ep93xx-ac97.c:97: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:97: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:98: error: unknown field ‘input_id’ specified
in initializer
sound/arm/ep93xx-ac97.c:98: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:98: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:100: error: unknown field ‘sem’ specified in initializer
sound/arm/ep93xx-ac97.c:100: error: implicit declaration of function
‘__SEMAPHORE_INIT’
sound/arm/ep93xx-ac97.c:100: error: ‘audio_state_t’ has no member named ‘sem’
sound/arm/ep93xx-ac97.c:100: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:100: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:101: error: unknown field
‘codec_set_by_playback’ specified in initializer
sound/arm/ep93xx-ac97.c:101: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:101: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:102: error: unknown field
‘codec_set_by_capture’ specified in initializer
sound/arm/ep93xx-ac97.c:102: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:102: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:103: error: unknown field ‘DAC_bit_width’
specified in initializer
sound/arm/ep93xx-ac97.c:103: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:103: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c:104: error: unknown field ‘bCompactMode’
specified in initializer
sound/arm/ep93xx-ac97.c:104: warning: excess elements in struct initializer
sound/arm/ep93xx-ac97.c:104: warning: (near initialization for ‘audio_state’)
sound/arm/ep93xx-ac97.c: In function ‘peek’:
sound/arm/ep93xx-ac97.c:151: error: ‘AC97S1DATA’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:151: error: (Each undeclared identifier is
reported only once
sound/arm/ep93xx-ac97.c:151: error: for each function it appears in.)
sound/arm/ep93xx-ac97.c:153: error: ‘AC97RGIS’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:158: error: ‘AC97RGIS_SLOT1TXCOMPLETE’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:159: error: ‘AC97RGIS_SLOT2RXVALID’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:165: error: ‘AC97S2DATA’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c: In function ‘poke’:
sound/arm/ep93xx-ac97.c:195: error: ‘AC97_0E_MIC_VOL’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:195: error: ‘AC97_10_LINE_IN_VOL’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:209: error: ‘AC97S2DATA’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:210: error: ‘AC97S1DATA’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:216: error: ‘AC97RGIS’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:221: error: ‘AC97RGIS_SLOT1TXCOMPLETE’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘ep93xx_audio_enable’:
sound/arm/ep93xx-ac97.c:247: error: ‘AC97TXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:248: error: ‘AC97TXCR_TEN’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c:252: error: ‘AC97RXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:253: error: ‘AC97RXCR_REN’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_audio_disable’:
sound/arm/ep93xx-ac97.c:272: error: ‘AC97TXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:273: error: ‘AC97TXCR_TEN’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c:277: error: ‘AC97RXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:278: error: ‘AC97RXCR_REN’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_setup_src’:
sound/arm/ep93xx-ac97.c:300: error: ‘AC97_2A_EXT_AUDIO_POWER’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:306: error: ‘AC97_60_MISC_CRYSTAL_CONTROL’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘ep93xx_set_samplerate’:
sound/arm/ep93xx-ac97.c:352: error: ‘AC97_2C_PCM_FRONT_DAC_RATE’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:353: error: ‘AC97_64_DAC_SRC_PHASE_INCR’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:358: error: ‘AC97_32_PCM_LR_ADC_RATE’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:359: error: ‘AC97_66_ADC_SRC_PHASE_INCR’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘ep93xx_set_hw_format’:
sound/arm/ep93xx-ac97.c:417: error: ‘AC97RXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:418: error: ‘AC97TXCR1’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:426: error: ‘audio_state_t’ has no member
named ‘DAC_bit_width’
sound/arm/ep93xx-ac97.c:427: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c:445: error: ‘audio_state_t’ has no member
named ‘DAC_bit_width’
sound/arm/ep93xx-ac97.c:446: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_stop_loop’:
sound/arm/ep93xx-ac97.c:464: error: ‘AC97_0E_MIC_VOL’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:470: error: ‘AC97_10_LINE_IN_VOL’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘ep93xx_init_ac97_controller’:
sound/arm/ep93xx-ac97.c:490: error: ‘EP93XX_SYSCON_DEVICE_CONFIG’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:492: error:
‘EP93XX_SYSCON_DEVCFG_CONFIG_I2SONAC97’ undeclared (first use in this
function)
sound/arm/ep93xx-ac97.c:493: error: ‘EP93XX_SYSCON_DEVCFG_A1onG’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:494: error: ‘EP93XX_SYSCON_DEVCFG_A2onG’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:496: error: implicit declaration of function
‘SysconSetLocked’
sound/arm/ep93xx-ac97.c:502: error: ‘AC97GCR’ undeclared (first use in
this function)
sound/arm/ep93xx-ac97.c:508: error: ‘AC97GSR_IFE’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c:514: error: ‘AC97RESET’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:514: error: ‘AC97RESET_TIMEDRESET’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:526: error: ‘AC97RGIS’ undeclared (first use
in this function)
sound/arm/ep93xx-ac97.c:526: error: ‘AC97RGIS_CODECREADY’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c: At top level:
sound/arm/ep93xx-ac97.c:661: error: ‘AC97_02_MASTER_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:665: error: ‘AC97_18_PCM_OUT_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:666: error: ‘AC97_0A_PC_BEEP_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:667: error: ‘AC97_10_LINE_IN_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:668: error: ‘AC97_0E_MIC_VOL’ undeclared here
(not in a function)
sound/arm/ep93xx-ac97.c:669: error: ‘AC97_12_CD_VOL’ undeclared here
(not in a function)
sound/arm/ep93xx-ac97.c:671: error: ‘AC97_04_HEADPHONE_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:673: error: ‘AC97_1C_RECORD_GAIN’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:675: error: ‘AC97_16_AUX_VOL’ undeclared here
(not in a function)
sound/arm/ep93xx-ac97.c:681: error: ‘AC97_0C_PHONE_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c:682: error: ‘AC97_06_MONO_VOL’ undeclared here
(not in a function)
sound/arm/ep93xx-ac97.c:683: error: ‘AC97_14_VIDEO_VOL’ undeclared
here (not in a function)
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_init_mixer’:
sound/arm/ep93xx-ac97.c:862: error: ‘AC97_00_RESET’ undeclared (first
use in this function)
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_set_recsource’:
sound/arm/ep93xx-ac97.c:930: error: ‘AC97_1A_RECORD_SELECT’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_dma_free’:
sound/arm/ep93xx-ac97.c:2358: error: implicit declaration of function
‘ep93xx_dma_free’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_dma_config’:
sound/arm/ep93xx-ac97.c:2375: error: implicit declaration of function
‘ep93xx_dma_request’
sound/arm/ep93xx-ac97.c:2378: error: ‘audio_state_t’ has no member
named ‘output_dma’
sound/arm/ep93xx-ac97.c:2378: error: ‘audio_state_t’ has no member
named ‘input_dma’
sound/arm/ep93xx-ac97.c:2383: error: implicit declaration of function
‘ep93xx_dma_config’
sound/arm/ep93xx-ac97.c:2384: error: ‘IGNORE_CHANNEL_ERROR’ undeclared


(first use in this function)

sound/arm/ep93xx-ac97.c:2387: error: ‘snd_ep93xx_dma_tx_callback’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c:2387: error: ‘snd_ep93xx_dma_rx_callback’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_dma_start’:
sound/arm/ep93xx-ac97.c:2406: error: implicit declaration of function
‘ep93xx_dma_start’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_dma_pause’:
sound/arm/ep93xx-ac97.c:2420: error: implicit declaration of function
‘ep93xx_dma_pause’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_dma_flush’:
sound/arm/ep93xx-ac97.c:2434: error: implicit declaration of function
‘ep93xx_dma_flush’
sound/arm/ep93xx-ac97.c: At top level:
sound/arm/ep93xx-ac97.c:2550: error: expected ‘)’ before ‘DMAInt’
sound/arm/ep93xx-ac97.c:2609: error: expected ‘)’ before ‘DMAInt’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_release’:
sound/arm/ep93xx-ac97.c:2673: error: ‘audio_state_t’ has no member named ‘sem’
sound/arm/ep93xx-ac97.c:2677: error: ‘audio_state_t’ has no member named ‘sem’
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_ac97_pcm_startup’:
sound/arm/ep93xx-ac97.c:2690: error: ‘AC97_1A_RECORD_SELECT’


undeclared (first use in this function)

sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_prepare_playback’:
sound/arm/ep93xx-ac97.c:2786: error: ‘audio_state_t’ has no member
named ‘codec_set_by_capture’
sound/arm/ep93xx-ac97.c:2787: error: ‘audio_state_t’ has no member
named ‘codec_set_by_playback’
sound/arm/ep93xx-ac97.c:2810: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_prepare_capture’:
sound/arm/ep93xx-ac97.c:2871: error: ‘audio_state_t’ has no member
named ‘codec_set_by_playback’
sound/arm/ep93xx-ac97.c:2872: error: ‘audio_state_t’ has no member
named ‘codec_set_by_capture’
sound/arm/ep93xx-ac97.c:2902: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_trigger’:
sound/arm/ep93xx-ac97.c:2950: error: implicit declaration of function
‘ep93xx_dma_add_buffer’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_open’:
sound/arm/ep93xx-ac97.c:3028: error: ‘audio_state_t’ has no member named ‘sem’
sound/arm/ep93xx-ac97.c:3037: error: ‘audio_state_t’ has no member named ‘sem’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_close’:
sound/arm/ep93xx-ac97.c:3057: error: ‘audio_state_t’ has no member
named ‘codec_set_by_playback’
sound/arm/ep93xx-ac97.c:3059: error: ‘audio_state_t’ has no member
named ‘codec_set_by_capture’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_copy_playback’:
sound/arm/ep93xx-ac97.c:3083: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c: In function ‘snd_ep93xx_pcm_copy_capture’:
sound/arm/ep93xx-ac97.c:3111: error: ‘audio_state_t’ has no member
named ‘bCompactMode’
sound/arm/ep93xx-ac97.c: In function ‘ep93xx_ac97_probe’:
sound/arm/ep93xx-ac97.c:3367: warning: ‘snd_card_new’ is deprecated
(declared at include/sound/core.h:306)
sound/arm/ep93xx-ac97.c: At top level:
sound/arm/ep93xx-ac97.c:3453: warning: initialization from
incompatible pointer type
sound/arm/ep93xx-ac97.c:3454: warning: initialization from
incompatible pointer type
make[2]: *** [sound/arm/ep93xx-ac97.o] Error 1
make[1]: *** [sound/arm] Error 2
make: *** [sound] Error 2


should I try with simone_defconfig?

thanks in advance,
federico

Florian Fainelli

unread,
Dec 21, 2009, 2:57:37 AM12/21/09
to si...@googlegroups.com, Federico Briata
Hello Federico,

[snip]


>
>
> should I try with simone_defconfig?

You will have the same error with the defconfig. Some EP93xx DMA code was added
between 2.6.25 and 2.6.30 and thus the sound driver which uses DMA broke as it
used the "old" (not mainlined) DMA API. As a temporary solution I will
probably add back the "old" DMA code to make the sound driver compile again.
--
Florian

Federico Briata

unread,
Dec 23, 2009, 4:16:38 AM12/23/09
to Florian Fainelli, si...@googlegroups.com
2009/12/21 Florian Fainelli <f.fai...@gmail.com>:
> Hello Federico,

Hi Florian,

> You will have the same error with the defconfig. Some EP93xx DMA code was added
> between 2.6.25 and 2.6.30 and thus the sound driver which uses DMA broke as it
> used the "old" (not mainlined) DMA API. As a temporary solution I will
> probably add back the "old" DMA code to make the sound driver compile again.

thanks for the tip! I tried to disable the audio driver (EP93XX_AC97)
and errors decreased

drivers/built-in.o: In function `ep93xx_rtc_set_mmss':
led-triggers.c:(.text+0x76710): undefined reference to `ds1337_do_command'
drivers/built-in.o: In function `ep93xx_rtc_read_time':
led-triggers.c:(.text+0x76728): undefined reference to `ds1337_do_command'
drivers/built-in.o: In function `i2c_ep93xx_init':
led-triggers.c:(.init.text+0x3de4): undefined reference to `i2c_bit_add_bus'
make: *** [.tmp_vmlinux1] Error 1

look like there is still some problem with calls in LEDS_TRIGGERS.

Now I'm focus on check if sd card working better with this kernel
version, then if you know which files are involved with DMA api, I can
test with the old code from 2.6.24

federico

Florian Fainelli

unread,
Dec 23, 2009, 4:30:13 AM12/23/09
to Federico Briata, si...@googlegroups.com
Hi Federico,

On Wednesday 23 December 2009 10:16:38 Federico Briata wrote:
> 2009/12/21 Florian Fainelli <f.fai...@gmail.com>:
> > Hello Federico,
>
> Hi Florian,
>
> > You will have the same error with the defconfig. Some EP93xx DMA code was
> > added between 2.6.25 and 2.6.30 and thus the sound driver which uses DMA
> > broke as it used the "old" (not mainlined) DMA API. As a temporary
> > solution I will probably add back the "old" DMA code to make the sound
> > driver compile again.
>
> thanks for the tip! I tried to disable the audio driver (EP93XX_AC97)
> and errors decreased
>
> drivers/built-in.o: In function `ep93xx_rtc_set_mmss':
> led-triggers.c:(.text+0x76710): undefined reference to `ds1337_do_command'
> drivers/built-in.o: In function `ep93xx_rtc_read_time':
> led-triggers.c:(.text+0x76728): undefined reference to `ds1337_do_command'
> drivers/built-in.o: In function `i2c_ep93xx_init':
> led-triggers.c:(.init.text+0x3de4): undefined reference to
> `i2c_bit_add_bus' make: *** [.tmp_vmlinux1] Error 1

I could not forward port the RTC driver correctly since I do not understand
why we just do not use the plain rtc-ds13707 (which also supports ds1337)
driver. Also, the ep93xx-rtc seems weird to me but I will look into this after
the Audio/DMA stuff.

>
> look like there is still some problem with calls in LEDS_TRIGGERS.
>
> Now I'm focus on check if sd card working better with this kernel
> version, then if you know which files are involved with DMA api, I can
> test with the old code from 2.6.24

--
Florian

Martin Guy

unread,
Dec 23, 2009, 8:49:46 AM12/23/09
to si...@googlegroups.com
On 12/23/09, Florian Fainelli <f.fai...@gmail.com> wrote:
> I could not forward port the RTC driver correctly since I do not understand
> why we just do not use the plain rtc-ds13707 (which also supports ds1337)
> driver. Also, the ep93xx-rtc seems weird to me but I will look into this after
> the Audio/DMA stuff.

Me neither. Although the ds1307 config is enabled in both 2.6.24.7
and 2.6.32, the device does not appear. Mainline uses separate drivers
for the two, so if you configure both you should get both as /dev/rtc0
and /dev/rtc1 (the TS7250 card has a similar arrangement with a
different external TC chip, and configuring both options you get both
RTC devices)

In 2.6.24.7 the code is strange: instead of having 2 separate drivers,
it has an extra config option to redirect the ep93xx's RTC calls into
the ds1337 i2c driver.
Also, in the Sim.One, the 32768Hz crystal goes into the DS1337, and a
clock output pin from that chip goes to the EP9307 to drive *its* RTC.
In 2.6.24.7 there is a hack to drivers/i2c/chips/ds1337.c to enable
the DS1337 clock output. That file has disappeared completely in
2.6.32 (!) and there is no RTC stuff in our 2.6.32 patches, but the
EP93xx RTC is still moving forward ("hwclock -r") so I guess either
u-boot initialises the DS1337 and enables its 32kHz output or that is
its default state on power-on.

I've tried compiling 2.6.24.7 with only the ep93xx RTC driver
(disabling both the DS1307 RTC driver and Device
drivers->i2c->Hardware support->DS1337, where the Sim.One-specific
clock initilization code is) and the EP93xx clock continues to run
correctly, so I guess that hack to enable the DS1337 clock output is
not necessary.

M

Federico Briata

unread,
Dec 23, 2009, 4:17:54 PM12/23/09
to si...@googlegroups.com
2009/12/23 Martin Guy <marti...@gmail.com>:

> On 12/23/09, Florian Fainelli <f.fai...@gmail.com> wrote:
>> I could not forward port the RTC driver correctly since I do not understand
>>  why we just do not use the plain rtc-ds13707 (which also supports ds1337)
>> driver. Also, the ep93xx-rtc seems weird to me but I will look into this after
>> the Audio/DMA stuff.

> I've tried compiling 2.6.24.7 with only the ep93xx RTC driver


> (disabling both the DS1307 RTC driver and Device
> drivers->i2c->Hardware support->DS1337, where the Sim.One-specific
> clock initilization code is) and the EP93xx clock continues to run
> correctly, so I guess that hack to enable the DS1337 clock output is
> not necessary.

i've removed too DS1337 rtc and left only ep93xx RTC
than i removed also:
- EP93XX_AC97
- LEDS_TRIGGERS
- MAC80211_LEDS

but there is still issue with `ds1337_do_command` now against mmc_spi :((

LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `ep93xx_rtc_set_mmss':
mmc_spi.c:(.text+0x75e08): undefined reference to `ds1337_do_command'
drivers/built-in.o: In function `ep93xx_rtc_read_time':
mmc_spi.c:(.text+0x75e20): undefined reference to `ds1337_do_command'
drivers/built-in.o: In function `i2c_ep93xx_init':
mmc_spi.c:(.init.text+0x3dd4): undefined reference to `i2c_bit_add_bus'

Martin Guy

unread,
Dec 24, 2009, 5:58:01 AM12/24/09
to si...@googlegroups.com
On 12/23/09, Federico Briata <federic...@gmail.com> wrote:
> mmc_spi.c:(.text+0x75e08): undefined reference to `ds1337_do_command'
>
> drivers/built-in.o: In function `ep93xx_rtc_read_time':

Try finding the lines in the source where those functions are called
from to see what other options you have to change so that it isn't
needed.
Or use 2.6.32, which compiles ok.

M

Federico Briata

unread,
Dec 24, 2009, 5:52:29 PM12/24/09
to si...@googlegroups.com
2009/12/24 Martin Guy <marti...@gmail.com>:

Ok, I will try.

> Or use 2.6.32, which compiles ok.

I tried to compile it and i'm stuck on

machine record defined hacking

Can you share us your .config for 2.6.3x?
Thanks!

Merry Christmas,
Federico

Martin Guy

unread,
Dec 24, 2009, 6:53:04 PM12/24/09
to si...@googlegroups.com
On 12/24/09, Federico Briata <federic...@gmail.com> wrote:
> I tried to compile it and i'm stuck on
>
> machine record defined hacking
?

> Can you share us your .config for 2.6.3x?

I used "make simone_defconfig"

M

Reply all
Reply to author
Forward
0 new messages