All of lore.kernel.org
 help / color / mirror / Atom feed
From: ralf@linux-mips.org
To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-mips@linux-mips.org
Subject: [patch 00/14] Sort out i8253 and PC speaker locking and headers
Date: Wed, 01 Jun 2011 19:04:56 +0100	[thread overview]
Message-ID: <20110601180456.801265664@duck.linux-mips.net> (raw)

No longer terribly relevant these days but still broken and just an eyesore
mess of neglience just as I've already raised it a few days ago.  Time to
sort this.

drivers/input/misc/pcspkr.c:

#if defined(CONFIG_MIPS) || defined(CONFIG_X86)
/* Use the global PIT lock ! */
#include <asm/i8253.h>
#else
#include <asm/8253pit.h>
static DEFINE_RAW_SPINLOCK(i8253_lock);
#endif

sound/drivers/pcsp/pcsp.h:

#if defined(CONFIG_MIPS) || defined(CONFIG_X86)
/* Use the global PIT lock ! */
#include <asm/i8253.h>
#else
#include <asm/8253pit.h>
static DEFINE_RAW_SPINLOCK(i8253_lock);

$ git grep -F pcsp.h sound/drivers/pcsp
sound/drivers/pcsp/pcsp.c:#include "pcsp.h"
sound/drivers/pcsp/pcsp_input.c:#include "pcsp.h"
sound/drivers/pcsp/pcsp_lib.c:#include "pcsp.h"
sound/drivers/pcsp/pcsp_mixer.c:#include "pcsp.h"
$ git grep -w i8253_lock sound/drivers/pcsp/
sound/drivers/pcsp/pcsp.h:static DEFINE_RAW_SPINLOCK(i8253_lock);
sound/drivers/pcsp/pcsp_input.c:        raw_spin_lock_irqsave(&i8253_lock, flags
sound/drivers/pcsp/pcsp_input.c:        raw_spin_unlock_irqrestore(&i8253_lock, 
sound/drivers/pcsp/pcsp_lib.c:          raw_spin_lock_irqsave(&i8253_lock, flags
sound/drivers/pcsp/pcsp_lib.c:          raw_spin_unlock_irqrestore(&i8253_lock, 
sound/drivers/pcsp/pcsp_lib.c:  raw_spin_lock(&i8253_lock);
sound/drivers/pcsp/pcsp_lib.c:  raw_spin_unlock(&i8253_lock);
sound/drivers/pcsp/pcsp_lib.c:  raw_spin_lock(&i8253_lock);
sound/drivers/pcsp/pcsp_lib.c:  raw_spin_unlock(&i8253_lock);

Locks are great, everybody should have their own lock!

$ find . -name 8253pit.h
./arch/powerpc/include/asm/8253pit.h
./arch/alpha/include/asm/8253pit.h
$ cat arch/*/include/asm/8253pit.h
/*
 * 8253/8254 Programmable Interval Timer
 */
/*
 * 8253/8254 Programmable Interval Timer
 */
$

Eh...

$ git grep -w PCSPKR_PLATFORM 
arch/mips/Kconfig:      select PCSPKR_PLATFORM
arch/mips/Kconfig:      select PCSPKR_PLATFORM
arch/mips/Kconfig:      select PCSPKR_PLATFORM
arch/powerpc/platforms/amigaone/Kconfig:        select PCSPKR_PLATFORM
drivers/input/misc/Kconfig:     depends on PCSPKR_PLATFORM
init/Kconfig:config PCSPKR_PLATFORM
sound/drivers/Kconfig:  depends on PCSPKR_PLATFORM && X86 && HIGH_RES_TIMERS

So the status is:

 Alpha:		There is no PCSPKR_PLATFORM so while a platform device is
		being installed no drivers will be built.  I don't know
		which Alpha platforms or even if all of Alpha should be
		doing a PCSPKR_PLATFORM so I haven't even tried to sort
		this.
 ARM:		No PC speaker supported, yeah :)
 PowerPC:	Should compile but the locking is wrong but only the AmigaOne
   		platforms should be affected.
 MIPS:		Ok.
 x86:		Ok.
 All others:	No PC speaker supported

Also only the plain old IBM PC XT was using a i8253; every later system
had i8254.  So maybe this is the time for renaming the support code?

  Ralf


             reply	other threads:[~2011-06-01 19:47 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-01 18:04 ralf [this message]
2011-06-01 18:04 ` [patch 01/14] i8253: Create <linux/i8253.h> and make all in kernel users to use it ralf
2011-06-09 11:16   ` [tip:timers/cleanup] i8253: Create linux/i8253.h and use it in all 8253 related files tip-bot for Ralf Baechle
2011-06-09 13:04   ` tip-bot for Ralf Baechle
2011-06-01 18:04 ` [patch 02/14] i8253: Unify all kernel declarations of i8253_lock in <linux/i8253.h> ralf
2011-06-01 18:04   ` ralf at linux-mips.org
2011-06-09 11:16   ` [tip:timers/cleanup] i8253: Unify all kernel declarations of i8253_lock tip-bot for Ralf Baechle
2011-06-09 13:04   ` tip-bot for Ralf Baechle
2011-06-01 18:04 ` [patch 03/14] i8253: Consolidate all kernel definitions of i8253_lock in lib/i8253-lock.c ralf
2011-06-09 11:17   ` [tip:timers/cleanup] i8253: Consolidate all kernel definitions of i8253_lock tip-bot for Ralf Baechle
2011-06-09 13:04   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 04/14] i8253: Make MIPS use the shared i8253_lock ralf
2011-06-01 18:05 ` [patch 05/14] i8253: Make x86 " ralf
2011-06-01 18:05 ` [patch 06/14] i8253: Make pcspkr input driver " ralf
2011-06-09 11:17   ` [tip:timers/cleanup] " tip-bot for Ralf Baechle
2011-06-09 13:05   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 07/14] i8253: Make pcsp sound " ralf
2011-06-01 18:05   ` ralf
2011-06-03  9:53   ` [alsa-devel] " Takashi Iwai
2011-06-03  9:53     ` Takashi Iwai
2011-06-09 11:18   ` [tip:timers/cleanup] " tip-bot for Ralf Baechle
2011-06-09 13:05   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 08/14] i8253: Alpha: Cleanup remaining users of i8253pit.h ralf
2011-06-09 11:19   ` [tip:timers/cleanup] alpha: i8253: " tip-bot for Ralf Baechle
2011-06-09 13:06   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 09/14] i8253: Alpha, PowerPC: Remove unused <asm/8253pit.h> header ralf
2011-06-01 18:05   ` ralf
2011-06-09  5:07   ` Benjamin Herrenschmidt
2011-06-09  5:07     ` Benjamin Herrenschmidt
2011-06-09 11:19   ` [tip:timers/cleanup] i8253: Alpha, PowerPC: Remove unused asm/8253pit.h tip-bot for Ralf Baechle
2011-06-09 13:07   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 10/14] i8253: x86: Consolidate definitions of global_clock_event ralf
2011-06-09 11:19   ` [tip:timers/cleanup] x86: i8253: " tip-bot for Ralf Baechle
2011-06-09 13:07   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 11/14] i8253: Consolidate definitions of PIT_LATCH ralf
2011-06-01 18:05   ` ralf at linux-mips.org
2011-06-01 18:05   ` ralf
2011-06-09 11:20   ` [tip:timers/cleanup] " tip-bot for Ralf Baechle
2011-06-09 13:07   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 12/14] i8253: Move remaining content and delete <asm/i8253.h> ralf
2011-06-01 18:05   ` ralf at linux-mips.org
2011-06-01 18:05   ` ralf
2011-06-02 11:29   ` Sergei Shtylyov
2011-06-02 11:29     ` Sergei Shtylyov
2011-06-09 11:20   ` [tip:timers/cleanup] i8253: Move remaining content and delete asm/i8253.h tip-bot for Ralf Baechle
2011-06-09 13:08   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 13/14] PCSPKR: Cleanup Kconfig dependencies ralf
2011-06-01 18:05   ` ralf
2011-06-09  5:09   ` Benjamin Herrenschmidt
2011-06-09  5:09     ` Benjamin Herrenschmidt
2011-06-09 11:21   ` [tip:timers/cleanup] pcspkr: " tip-bot for Ralf Baechle
2011-06-09 13:08   ` tip-bot for Ralf Baechle
2011-06-01 18:05 ` [patch 14/14] PCSPKR: MIPS: Make config dependencies finer grained ralf
2011-06-09 11:21   ` [tip:timers/cleanup] pcpskr: " tip-bot for Ralf Baechle
2011-06-09 13:09   ` tip-bot for Ralf Baechle
2011-06-02 19:11 ` [patch 00/14] Sort out i8253 and PC speaker locking and headers Gerhard Pircher
2011-06-03 18:00   ` Ralf Baechle
2011-06-03 18:00     ` Ralf Baechle
2011-06-03 19:22     ` Gerhard Pircher
2011-06-03 19:22       ` Gerhard Pircher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110601180456.801265664@duck.linux-mips.net \
    --to=ralf@linux-mips.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.