05 Jan, 2020
1 commit
-
Apply const prefix to each possible place: the static tables for rate,
volume, etc.Just for minor optimization and no functional changes.
Link: https://lore.kernel.org/r/20200105144823.29547-18-tiwai@suse.de
Signed-off-by: Takashi Iwai
03 Jan, 2020
1 commit
-
Most of snd_kcontrol_new definitions are read-only and passed as-is.
Let's declare them as const for further optimization.There should be no functional changes by this patch.
Link: https://lore.kernel.org/r/20200103081714.9560-39-tiwai@suse.de
Signed-off-by: Takashi Iwai
31 May, 2019
1 commit
-
Based on 1 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version this program is distributed in the
hope that it will be useful but without any warranty without even
the implied warranty of merchantability or fitness for a particular
purpose see the gnu general public license for more details you
should have received a copy of the gnu general public license along
with this program if not write to the free software foundation inc
59 temple place suite 330 boston ma 02111 1307 usaextracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 1334 file(s).
Signed-off-by: Thomas Gleixner
Reviewed-by: Allison Randal
Reviewed-by: Richard Fontana
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de
Signed-off-by: Greg Kroah-Hartman
20 Feb, 2019
1 commit
-
We forgot to unreference the node when aborting from the loop of
for_each_child_of_node() in snd_pmac_tumbler_init(). This leads to
unbalanced node refcount. Fix it by adding the missing of_node_put()
call.Signed-off-by: Takashi Iwai
06 Dec, 2018
1 commit
-
Convert string compares of DT node names to use of_node_name_eq helper
instead. This removes direct access to the node name pointer.A couple of open coded iterating thru the child node names are converted
to use for_each_child_of_node() instead.Signed-off-by: Rob Herring
Signed-off-by: Takashi Iwai
30 May, 2017
1 commit
-
Declare snd_kcontrol_new structures as const as they are only passed an
argument to the function snd_ctl_new1. This argument is of type const,
so snd_kcontrol_new structures having this property can be made const.
Done using Coccinelle:@r disable optional_qualifier@
identifier x;
position p;
@@
static struct snd_kcontrol_new x@p={...};@ok@
identifier r.x;
position p;
@@
snd_ctl_new1(&x@p,...)@bad@
position p != {r.p,ok.p};
identifier r.x;
@@
x@p@depends on !bad disable optional_qualifier@
identifier r.x;
@@
+const
struct snd_kcontrol_new x;Cross compiled these files:
sound/aoa/codecs/tas.c - powerpc
sound/mips/{hal2.c/sgio2audio.c} - mips
sound/ppc/{awacs.c/beep.c/tumbler.c} - powerpc
sound/soc/sh/siu_dai.c - sh
Could not find an architecture to compile sound/sh/aica.c.Signed-off-by: Bhumika Goyal
Acked-by: Mark Brown
Signed-off-by: Takashi Iwai
20 Sep, 2016
1 commit
-
NO_IRQ has been == 0 on powerpc for just over ten years (since commit
0ebfff1491ef ("[POWERPC] Add new interrupt mapping core and change
platforms to use it")). It's also 0 on most other arches.Although it's fairly harmless, every now and then it causes confusion
when a driver is built on powerpc and another arch which doesn't define
NO_IRQ. There's at least 6 definitions of NO_IRQ in drivers/, at least
some of which are to work around that problem.So we'd like to remove it. This is fairly trivial in the arch code, we
just convert:if (irq == NO_IRQ) to if (!irq)
if (irq != NO_IRQ) to if (irq)
irq = NO_IRQ; to irq = 0;
return NO_IRQ; to return 0;And a few other odd cases as well.
At least for now we keep the #define NO_IRQ, because there is driver
code that uses NO_IRQ and the fixes to remove those will go via other
trees.Note we also change some occurrences in PPC sound drivers, drivers/ps3,
and drivers/macintosh.Signed-off-by: Michael Ellerman
28 Jan, 2015
1 commit
-
Nowadays it's recommended. Replace all in a shot.
Signed-off-by: Takashi Iwai
21 Oct, 2014
1 commit
-
... and reduce the open codes. Also add missing const to the text array.
Signed-off-by: Takashi Iwai
10 Oct, 2013
1 commit
-
Powerpc is a mess of implicit includes by prom.h. Add the necessary
explicit includes to drivers in preparation of prom.h cleanup.Signed-off-by: Rob Herring
Acked-by: Grant Likely
07 Dec, 2012
1 commit
-
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.Signed-off-by: Bill Pemberton
Signed-off-by: Takashi Iwai
22 Apr, 2011
1 commit
-
Correct lineout (Pro Speaker) detection on PowerMac G4 Digital Audio (Tumbler).
Signed-off-by: Risto Suominen
Signed-off-by: Takashi Iwai
14 Sep, 2010
1 commit
-
Modifying an object twice without an intervening sequence point is
undefined.Signed-off-by: Andreas Schwab
Signed-off-by: Takashi Iwai
07 Apr, 2010
1 commit
-
machine_is_compatible() was renamed to of_machine_is_compatible().
Signed-off-by: Takashi Iwai
04 Apr, 2010
3 commits
-
Add some debug log in tumbler.c.
Signed-off-by: Risto Suominen
Signed-off-by: Takashi Iwai -
Lineout (Pro Speaker) detection on PowerMac G4 Digital Audio (Tumbler).
Signed-off-by: Risto Suominen
Signed-off-by: Takashi Iwai -
Reverse headphone detection bit on PowerMac G4 Digital Audio (Tumbler).
Signed-off-by: Risto Suominen
Signed-off-by: Takashi Iwai
05 Nov, 2009
1 commit
-
To unify control names, rename "PC Speaker" to "Speaker" for PPC ALSA drivers.
Signed-off-by: Jaroslav Kysela
Signed-off-by: Takashi Iwai
03 Jun, 2009
2 commits
-
All __initdata should be __devinitdata as platform device is hotpluggable.
Signed-off-by: Takashi Iwai
-
[I am not sure if this is the correct approach as I don't know if any of
this actual hardware or drivers are really hot pluggable.]Gets rid of these build warnings:
WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_new().
If .snd_pmac_new is only used by .snd_pmac_probe then
annotate .snd_pmac_new with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_burgundy_init().
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then
annotate .snd_pmac_burgundy_init with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_daca_init().
If .snd_pmac_daca_init is only used by .snd_pmac_probe then
annotate .snd_pmac_daca_init with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_tumbler_init().
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then
annotate .snd_pmac_tumbler_init with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_tumbler_post_init().
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then
annotate .snd_pmac_tumbler_post_init with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_awacs_init().
If .snd_pmac_awacs_init is only used by .snd_pmac_probe then
annotate .snd_pmac_awacs_init with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_pcm_new().
If .snd_pmac_pcm_new is only used by .snd_pmac_probe then
annotate .snd_pmac_pcm_new with a matching annotation.WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_attach_beep().
If .snd_pmac_attach_beep is only used by .snd_pmac_probe then
annotate .snd_pmac_attach_beep with a matching annotation.Signed-off-by: Stephen Rothwell
Signed-off-by: Takashi Iwai
09 Mar, 2009
1 commit
-
Signed-off-by: Takashi Iwai
12 Nov, 2008
1 commit
-
PCM Playback Volume:1 is actually assigned to a mic loopback volume
on iBook G4. Let's rename it.Signed-off-by: Takashi Iwai
13 Aug, 2008
1 commit
-
Kill snd_assert() in other places, either removed or replaced with
if () with snd_BUG_ON().Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
10 Jul, 2008
1 commit
-
A bunch of things in alsa depend on CONFIG_KMOD,
use CONFIG_MODULES instead where the dependency
is needed at all.Signed-off-by: Johannes Berg
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
15 Feb, 2008
1 commit
-
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.Signed-off-by: Jan Blunck
Acked-by: Christoph Hellwig
Cc: Bjorn Helgaas
Cc: Jaroslav Kysela
Acked-by: Takashi Iwai
Cc: Al Viro
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
01 Feb, 2008
3 commits
-
This header file exists only for some hacks to adapt alsa-driver
tree. It's useless for building in the kernel. Let's move a few
lines in it to sound/core.h and remove it.
With this patch, sound/driver.h isn't removed but has just a single
compile warning to include it. This should be really killed in
future.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
The kernel build fails, with following error
CC sound/ppc/tumbler.o
sound/ppc/tumbler.c: In function ‘snapper_get_capture_source’:
sound/ppc/tumbler.c:812: error: ‘union ’ has no member named ‘value’
sound/ppc/tumbler.c: In function ‘snapper_put_capture_source’:
sound/ppc/tumbler.c:824: error: ‘union ’ has no member named ‘enuemerated’
make[2]: *** [sound/ppc/tumbler.o] Error 1
make[1]: *** [sound/ppc] Error 2
make: *** [sound] Error 2Signed-off-by: Kamalesh Babulal
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Check the value ranges in ctl put callbacks properly in snd-powermac
driver.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
07 May, 2007
1 commit
-
for consistency with other Open Firmware interfaces (and Sparc).
This is just a straight replacement.
This leaves the compatibility define in place.
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras
24 Apr, 2007
1 commit
-
Replace uses with of_find_node_by_name and for_each_node_by_name.
Signed-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras
13 Apr, 2007
1 commit
-
Signed-off-by: Stephen Rothwell
Acked-by: Benjamin Herrenschmidt
Signed-off-by: Paul Mackerras
22 Nov, 2006
1 commit
-
Fix up for make allyesconfig.
Signed-Off-By: David Howells
05 Oct, 2006
1 commit
-
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around. On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).Where appropriate, an arch may override the generic storage facility and do
something different with the variable. On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions. Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller. A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.I've build this code with allyesconfig for x86_64 and i386. I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.This will affect all archs. Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:struct pt_regs *old_regs = set_irq_regs(regs);
And put the old one back at the end:
set_irq_regs(old_regs);
Don't pass regs through to generic_handle_irq() or __do_IRQ().
In timer_interrupt(), this sort of change will be necessary:
- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().Some notes on the interrupt handling in the drivers:
(*) input_dev() is now gone entirely. The regs pointer is no longer stored in
the input_dev struct.(*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
something different depending on whether it's been supplied with a regs
pointer or not.(*) Various IRQ handler function pointers have been moved to type
irq_handler_t.Signed-Off-By: David Howells
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
23 Sep, 2006
1 commit
-
When booting with line out or headphone plugged, you won't hear anything.
The problem is that after reset all channels are muted, but the actual
value of the gpio port doesn't exactly match the active_val settings as
expected by check_audio_gpio. For example, the line_mute port is set to
7, but check_audio_gpio would expect 0xd or 0xf, thus its return value
indicates that it is not active, even though it is. AFAICS only looking
at the low bit is enough to determine whether the port is active.Signed-off-by: Andreas Schwab
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
08 Aug, 2006
1 commit
03 Aug, 2006
1 commit
-
sound: Conversions from kmalloc+memset to k(c|z)alloc.
Signed-off-by: Panagiotis Issaris
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
31 Jul, 2006
1 commit
-
Now that get_property() returns a void *, there's no need to cast its
return value. Also, treat the return value as const, so we can
constify get_property later.powerpc-specific sound driver changes.
Signed-off-by: Jeremy Kerr
Signed-off-by: Paul Mackerras
03 Jul, 2006
1 commit
-
This adds the new irq remapper core and removes the old one. Because
there are some fundamental conflicts with the old code, like the value
of NO_IRQ which I'm now setting to 0 (as per discussions with Linus),
etc..., this commit also changes the relevant platform and driver code
over to use the new remapper (so as not to cause difficulties later
in bisecting).This patch removes the old pre-parsing of the open firmware interrupt
tree along with all the bogus assumptions it made to try to renumber
interrupts according to the platform. This is all to be handled by the
new code now.For the pSeries XICS interrupt controller, a single remapper host is
created for the whole machine regardless of how many interrupt
presentation and source controllers are found, and it's set to match
any device node that isn't a 8259. That works fine on pSeries and
avoids having to deal with some of the complexities of split source
controllers vs. presentation controllers in the pSeries device trees.The powerpc i8259 PIC driver now always requests the legacy interrupt
range. It also has the feature of being able to match any device node
(including NULL) if passed no device node as an input. That will help
porting over platforms with broken device-trees like Pegasos who don't
have a proper interrupt tree.Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Paul Mackerras
21 Apr, 2006
1 commit
-
This fixes an oops in 2.6.16.X when loading the snd_powermac module. The
name of the requested module changed during the 2.6.16 development cycle
from i2c-keylargo to i2c-powermac.Signed-off-by: Guido Guenther
Signed-off-by: Benjamin Herrenschmidt
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: Paul Mackerras
24 Mar, 2006
1 commit
-
Several media/video and sound drivers include i2c-dev.h while they
don't need it at all. Clean it up.This header file is really only needed by i2c-dev.c and
compat_ioctl.c, other drivers should never need it.Signed-off-by: Jean Delvare
Signed-off-by: Greg Kroah-Hartman