1. 03 3月, 2015 1 次提交
    • T
      ALSA: hda - Allocate hda_pcm objects dynamically · bbbc7e85
      Takashi Iwai 提交于
      So far, the hda_codec object kept the hda_pcm list in an array, and
      the codec driver was expected to assign the array.  However, this
      makes the object life cycle management harder, because the assigned
      array is freed at the codec driver detach while it might be still
      accessed by the opened streams.
      
      In this patch, we allocate each hda_pcm object dynamically and manage
      it as a linked list.  Each object has a kref refcount, and both the
      codec driver binder and the PCM open/close touches it, so that the
      object won't be freed while in use.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      bbbc7e85
  2. 23 2月, 2015 1 次提交
    • T
      ALSA: hda - Bind codecs via standard bus · d8a766a1
      Takashi Iwai 提交于
      Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind
      the codec driver with the codec device over there.  This is the first
      step of the whole transition so that the changes to each codec driver
      are kept as minimal as possible.
      
      Each codec driver needs to register hda_codec_driver struct containing
      the currently existing preset via the new helper macro
      module_hda_codec_driver().  The old hda_codec_preset_list is replaced
      with this infrastructure.  The generic parsers (for HDMI and other)
      are also included in the preset with the special IDs to bind
      uniquely.
      
      In HD-audio core side, the device binding code is split to
      hda_bind.c.  It provides the snd_hda_bus_type implementation to match
      the codec driver with the given codec vendor ID.  It also manages the
      module auto-loading by itself like before: when the matching isn't
      found, it tries to probe the corresponding codec modules, and finally
      falls back to the generic drivers.  (The special ID mentioned above is
      set at this stage.)
      
      The only visible change to outside is that the hdaudio sysfs entry now
      appears in /sys/bus/devices, not as a sound class device.
      
      More works to move the suspend/resume and remove ops will be
      (hopefully) done in later patches.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d8a766a1
  3. 25 2月, 2014 1 次提交
    • T
      ALSA: hda - Replace with standard printk · 4e76a883
      Takashi Iwai 提交于
      Use dev_err() and co for messages from HD-audio controller and codec
      drivers.  The codec drivers are mostly bound with codec objects, so
      some helper macros, codec_err(), codec_info(), etc, are provided.
      They merely wrap the corresponding dev_xxx().
      
      There are a few places still calling snd_printk() and its variants
      as they are called without the codec or device context.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4e76a883
  4. 01 11月, 2011 1 次提交
  5. 02 5月, 2011 1 次提交
  6. 15 12月, 2009 1 次提交
  7. 27 11月, 2008 1 次提交
    • T
      ALSA: hda - Modularize HD-audio driver · 1289e9e8
      Takashi Iwai 提交于
      Split the monolithc HD-audio driver into several pieces:
       - snd-hda-intel   HD-audio PCI controller driver; loaded via udev
       - snd-hda-codec   HD-audio codec bus driver
       - snd-hda-codec-* Specific HD-audio codec drivers
      
      When built as modules, snd-hda-codec (that is invoked by snd-hda-intel)
      looks up the codec vendor ID and loads the corresponding codec module
      automatically via request_module().
      
      When built in a kernel, each codec drivers are statically hooked up
      before probing the PCI.
      
      This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module
      information for each driver, and driver-linking codes between
      codec-bus and codec drivers.
      
      TODO:
        - Avoid EXPORT_SYMBOL*() when built-in kernel
        - Restore __devinit appropriately depending on the condition
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1289e9e8
  8. 24 4月, 2008 2 次提交
    • H
      [ALSA] sound: hda: missing includes of hda_patch.h · 3c9a3203
      Harvey Harrison 提交于
      Move the array declaration to hda_codec.c where it is used and add includes
      where the individual presets are declared.
      
      Fixes the following sparse warnings:
      sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static?
      sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static?
      sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static?
      sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static?
      sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static?
      sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static?
      sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static?
      sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static?
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      3c9a3203
    • T
      [ALSA] hda-intel - Fix PCM device number assignment · 7ba72ba1
      Takashi Iwai 提交于
      In the current scheme, PCM device numbers are assigned incrementally
      in the order of codecs.  This causes problems when the codec number
      is irregular, e.g. codec #0 for HDMI and codec #1 for analog.  Then
      the HDMI becomes the first PCM, which is picked up as the default
      output device.  Unfortuantely this doesn't work well with normal
      setups.
      
      This patch introduced the fixed device numbers for the PCM types,
      namely, analog, SPDIF, HDMI and modem.  The PCM devices are assigned
      according to the corresponding PCM type.  After this patch, HDMI will
      be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
      to PCM #0, etc.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7ba72ba1
  9. 01 2月, 2008 2 次提交
  10. 16 10月, 2007 2 次提交
  11. 20 7月, 2007 2 次提交
  12. 31 5月, 2007 1 次提交
  13. 03 5月, 2007 1 次提交
    • J
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare 提交于
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
  14. 20 12月, 2006 1 次提交
  15. 07 10月, 2006 1 次提交
  16. 23 9月, 2006 1 次提交
  17. 01 2月, 2006 1 次提交
  18. 03 1月, 2006 2 次提交
  19. 04 11月, 2005 1 次提交
  20. 12 9月, 2005 2 次提交
    • T
      [ALSA] Replace with kzalloc() - pci stuff · e560d8d8
      Takashi Iwai 提交于
      AD1889 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver
      BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver
      ES1938 driver,ES1968 driver,FM801 driver,Intel8x0 driver
      Intel8x0-modem driver,Maestro3 driver,SonicVibes driver,VIA82xx driver
      VIA82xx-modem driver,AC97 Codec,AK4531 codec,au88x0 driver
      CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
      HDA generic driver,HDA Intel driver,ICE1712 driver,ICE1724 driver
      KORG1212 driver,MIXART driver,NM256 driver,Trident driver,YMFPCI driver
      Replace kcalloc(1,..) with kzalloc().
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e560d8d8
    • T
      [ALSA] hda-codec - Assign audio PCMS first · ec9e1c5c
      Takashi Iwai 提交于
      HDA Codec driver,HDA Intel driver,HDA generic driver
      Assign audio PCMs first before modem PCMs.
      The modem stream is assigned up to device #6, to be consistent over
      different models.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ec9e1c5c
  21. 30 8月, 2005 1 次提交