Bug 11430 - Selecting CONFIG_RTC_CLASS excludes CONFIG_SND_RTCTIMER
Summary: Selecting CONFIG_RTC_CLASS excludes CONFIG_SND_RTCTIMER
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-26 05:55 UTC by William
Modified: 2012-05-22 13:36 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.26.3
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description William 2008-08-26 05:55:12 UTC
Latest working kernel version:   2.6.25.6
Earliest failing kernel version: 2.6.26
Distribution:                    Slackware 12
Hardware Environment:            AMD K8 on Asus M2NPV-VM
Software Environment:            Using GNU Make 3.81
Problem Description:

During kernel config, selecting CONFIG_RTC_CLASS (rtc-core) excludes
CONFIG_SND_RTCTIMER (snd-rtctimer)

Both options were independently available in 2.6.25.6, the changed
behaviour described below first appeared in 2.6.26 and is repeated
in 2.6.26.1 and 2.6.26.3

If the intention was that the two options should be exclusive then
could a note be provided in the help text/documentaion to that
effect, OR if the that was not the intention is it possible to
revert to the previous behaviour?


Steps to reproduce:

  Untar kernel 2.6.26.3 source.
  Start off without any ".config" file.
  make menuconfig

  First confirm that
  "Device Drivers -> Sound -> ALSA -> RTC Timer support"
  option is available.

  Next select "Device Drivers -> Real Time Clock". This results in the option
  "Device Drivers -> Sound ALSA -> RTC Timer support" no longer being
  shown.


The area of interest on the menu :-

  Linux Kernel v2.6.26.3 Configuration

    Device Drivers  --->
      Sound  --->
        Advanced Linux Sound Architecture  --->
          < >   RTC Timer support (NEW)              <----
                                                          |  Exclusive
                                                          |  in 2.6.26.x
      < > Real Time Clock  --->                      <----
Comment 1 Alessandro Zummo 2008-08-26 11:10:13 UTC
Let me find what happened. I believe ALSA still doesn't support the
new kernel interface for rtc based interrupts. So either this will be
added to ALSA or we'll have to describe it in the Kconfig.
Comment 2 David Brownell 2008-08-26 11:41:09 UTC
IMO it's overdue for ALSA to support the more portable timer calls; it should not be depending on the legacy (== avoid using it) RTC driver for that functionality.

Although there's also something to be said for a more general interface to hardware timers, which doesn't depend on any flavor of RTC.  Such timers are more common than RTCs which can issue periodic IRQs at frequencies that can help audio playback.
Comment 3 Takashi Iwai 2008-10-07 07:11:46 UTC
ALSA timer code itself is written to be generic, but it requires a backend.  CONFIG_SND_RTCTIMER is the legacy backend using the old RTC interface.  So, if we have any good generic timer API, then the best would be to switch to that, indeed.  Do we have such?

Anyway, I think this is no real bug (but a feature :)
I'll add a description to sound/core/Kconfig mentioning that the option is exclusive with new RTC drivers.
Comment 4 David Brownell 2008-10-07 09:49:43 UTC
We have no generic timer interface as yet.  Which is too bad; it seems like ALSA could happily use one (a clear use case!) on *lots* of platforms which don't have an RTC capable of issuing, say, 1024 Hz interrupts.
Comment 5 Andy Whitcroft 2009-01-20 04:39:37 UTC
It does appear that an HR Timer based backend for the ALSA timers has been merged into v2.6.29-rc1.  See commit:

commit bbaf5e97337287479eb78dbc3822d9560bbfd2e2
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri Oct 24 18:16:50 2008 +0200

    ALSA: Add hrtimer backend for ALSA timer interface
    
    Added the hrtimer backend for ALSA timer interface.
    It can be used for the sequencer timer source.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

Note You need to log in before you can comment on or make changes to this bug.