Commit graph

226 commits

Author SHA1 Message Date
Linus Torvalds
3cb904caa9 Merge refs/heads/drm-latest from master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 2005-08-30 07:45:15 -07:00
Linus Torvalds
8bc2bee26b Merge HEAD from master.kernel.org:/pub/scm/linux/kernel/git/paulus/ppc64-2.6 2005-08-29 21:44:33 -07:00
Stephen Rothwell
fb120da678 [PATCH] Make MODULE_DEVICE_TABLE work for vio devices
Make MODULE_DEVICE_TABLE work for vio devices.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2005-08-30 13:31:56 +10:00
Arnaldo Carvalho de Melo
c4365c9235 [RANDOM]: Introduce secure_dccp_sequence_number
Code contributed by Stephen Hemminger.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 15:49:40 -07:00
Paul Mackerras
f786648b89 [PATCH] Remove race between con_open and con_close
[ Same race and same patch also by Steven Rostedt <rostedt@goodmis.org> ]

I have a laptop (G3 powerbook) which will pretty reliably hit a race
between con_open and con_close late in the boot process and oops in
vt_ioctl due to tty->driver_data being NULL.

What happens is this: process A opens /dev/tty6; it comes into
con_open() (drivers/char/vt.c) and assign a non-NULL value to
tty->driver_data.  Then process A closes that and concurrently process
B opens /dev/tty6.  Process A gets through con_close() and clears
tty->driver_data, since tty->count == 1.  However, before process A
can decrement tty->count, we switch to process B (e.g. at the
down(&tty_sem) call at drivers/char/tty_io.c line 1626).

So process B gets to run and comes into con_open with tty->count == 2,
as tty->count is incremented (in init_dev) before con_open is called.
Because tty->count != 1, we don't set tty->driver_data.  Then when the
process tries to do anything with that fd, it oopses.

The simple and effective fix for this is to test tty->driver_data
rather than tty->count in con_open.  The testing and setting of
tty->driver_data is serialized with respect to the clearing of
tty->driver_data in con_close by the console_sem.  We can't get a
situation where con_open sees tty->driver_data != NULL and then
con_close on a different fd clears tty->driver_data, because
tty->count is incremented before con_open is called.  Thus this patch
eliminates the race, and in fact with this patch my laptop doesn't
oops.

Signed-off-by: Paul Mackerras <paulus@samba.org>
[ Same patch
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  in http://marc.theaimsgroup.com/?l=linux-kernel&m=112450820432121&w=2 ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-27 18:03:42 -07:00
Al Viro
a238b56350 [PATCH] Kconfig fix (sparc32 drivers/char dependencies)
since sparc32 Kconfig includes drivers/char/Kconfig (instead of duplicating
its parts) we need several new dependencies there to exclude the stuff
broken on sparc32 and not excluded by existing dependencies.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:43 -07:00
Al Viro
253a9c3308 [PATCH] Kconfig fix (m32r genrtc)
genrtc is not for m32r; marked as such.  Probably ought to put that into
arch/* - list of "don't build it on <platform>" is getting too long.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:40 -07:00
Al Viro
e9bcb173dd [PATCH] Kconfig fix (epca on 64bit)
epca is broken on 64bit; marked as such

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-23 18:43:39 -07:00
Dave Airlie
7a9aff3cff drm: fix a bad VERSION check.
I found why my G5 was crashing when using the linux-2.6 version of the
DRM + git-drm.patch from 2.6.13-rc6-mm1, but not with the CVS DRM.
The reason was that dev->agp->cant_use_aperture wasn't getting set,
and the reason for that was that <linux/version.h> no longer gets
included and the #if LINUX_VERSION_CODE < 0x020408 in drm_agpsupport.c
was going the wrong way.  With this patch (and a few others) a 32-bit
server works correctly, as does DRI.

From: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-23 12:15:43 +10:00
Dave Airlie
88f399cd0a drm: fixes for powerpc
Remove a bogus check on whether an area is memory (we need a better interface)
also change pgprot flags for powerpc
don't check on x86-64 either

From: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20 17:43:33 +10:00
Dave Airlie
ffbbf7a3cc drm: add new texture upload code from r300 project
Paul Mackerras did some new upload code for r300, I forgot to add it
to the kernel with r300 merge.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-20 17:40:04 +10:00
Dave Airlie
c8b432dc0c drm: update pci ids for savage and via
Fixup savage and via pci ids

From: Dave Airlie <airlied@linux.ie>
2005-08-16 20:54:18 +10:00
Dave Airlie
414ed53799 drm: add initial r300 3D support.
This adds initial r300 3D support to the radeon DRM.

From: Nicolai Haehnle, Vladimir Dergachev, and others.
Signed-off-by: David Airlie <airlied@linux.ie>
2005-08-16 20:43:16 +10:00
Linus Torvalds
4bb82551e1 Fix up mmap of /dev/kmem
This leaves the issue of whether we should deprecate the whole thing (or
if we should check the whole mmap range, for that matter) open. Just do
the minimal fix for now.
2005-08-13 14:22:59 -07:00
Wim Van Sebroeck
01df0e3a79 [PATCH] i8xx_tco.c: arm watchdog only when started
i8xx_tco.c v0.08: only "arm" the watchdog when the watchdog has been
started.  (Kernel Bug 4251: system reset when battery is read and i8xx_tco
driver loaded)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-09 12:08:21 -07:00
Dave Airlie
282a16749b drm: add savage driver
Add driver for savage chipsets.

From: Felix Kuehling
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-07 15:43:54 +10:00
Dave Airlie
d27c9b548a drm: remove version.h and any version checks..
This patch removes all the drm kernel conditionals from the kernel DRM tree.

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-07 15:19:58 +10:00
Marcel Selhorst
f9abb02040 [PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI
This patch includes support for the new Infineon Trusted Platform Module
SLB 9635 TT 1.2 and does further include ACPI-support for both chip
versions (SLD 9630 TT 1.1 and SLB9635 TT 1.2).  Since the ioports and
configuration registers are not correctly set on some machines, the
configuration is now done via PNPACPI, which reads out the correct values
out of the DSDT-table.  Note that you have to have CONFIG_PNP,
CONFIG_ACPI_BUS and CONFIG_PNPACPI enabled to run this driver (assuming
that mainboards including a TPM do have the need for ACPI anyway).

Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-05 12:22:37 -07:00
Petr Vandrovec
403fe5ae57 [PATCH] rtc: msleep() cannot be used from interrupt
Since the beginning of July my Opteron box was randomly crashing and
being rebooted by hardware watchdog.  Today it finally did it in front
of me, and this patch will hopefully fix it.

The problem is that at the end of June (the 28th, to be exact: commit
47f176fdaf, "[PATCH] Using msleep()
instead of HZ") rtc_get_rtc_time was converted to use msleep() instead
of busy waiting.  But rtc_get_rtc_time is used by hpet_rtc_interrupt,
and scheduling is not allowed during interrupt.  So I'm reverting this
part of original change, replacing msleep() back with busy loop.

The original code was busy waiting for up to 20ms, but on my hardware in
the worst case update-in-progress bit was asserted for at most 363
passes through loop (on 2GHz dual Opteron), much less than even one
jiffie, not even talking about 20ms.  So I changed code to just wait
only as long as necessary.  Otherwise when RTC was set to generate
8192Hz timer, it stopped doing anything for 20ms (160 pulses were
skipped!) from time to time, and this is rather suboptimal as far as I
can tell.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-05 06:57:44 -07:00
Dave Airlie
aa0ca6b4bb drm: fix warning in drm_pci.c
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 23:09:14 +10:00
Dave Airlie
1fad99499a drm: remove the gamma driver
The gamma driver has been broken for quite a while, it doesn't build,
we don't have a userspace, mine is in Ireland etc...

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:40:34 +10:00
Dave Airlie
db215327c6 drm: switch drm_handle_t to unsigned int
This converts the drm_handle_t to unsigned int.
This is currently safe to do as we don't pass these across the kernel/user
boundary, but userspace does use these, but no-one builds userspace against
the kernel headers at present so it is okay to switch over the kernel copy
of drm.h at this point. (The CVS tree will switch over soon in sync with
some Mesa changes)

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:13:15 +10:00
Dave Airlie
d1f2b55ad2 drm: updated DRM map patch for 32/64 bit systems
I basically combined Paul's patches with additions that I had made
for PCI scatter gather.
I also tried more carefully to avoid problems with the same token
assigned multiple times while trying to use the base address in the
token if possible to gain as much backward compatibility as possible
for broken DRI clients.

From: Paul Mackerras <paulus@samba.org> and Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:11:22 +10:00
Dave Airlie
c73681e77b drm: copy the right data back to userspace for getreserved contexts ioctl
This fixes the information copied back to userspace by the get reserved
contexts ioctl.

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 22:02:48 +10:00
Dave Airlie
24d1094227 drm: fix ioctl direction in r128 getparam
Set the IOWR correctly for r128 getparam.

From: Egbert Eich <eich@suse.de>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-08-05 21:52:18 +10:00
Ian Campbell
9bbd037589 [PATCH] ARM: 2833/2: Remove support for WDIOF_MAGICCLOSE from sa1100-wdt
Patch from Ian Campbell

On PXA255 there is no way to disable the watchdog. Turning off OIER[E3]
as suggested in the existing comment does not work.

I posted a note to the ARM mailing list a little while ago asking for
opinions from people using SA1100. There was one reponse from Nico who
believes that the SA1100 is the same as the PXA255 in this respect.

You also asked me to involve the watchdog maintainer which I tried to
do but didn't hear anything back. There are only a couple of other
drivers which can't stop the watchdog and there seems to be no
consistancy regarding printing an error etc. I decided to print
something since that matches the case for all the other drivers when
NOWAYOUT is turned on.

Also, I changed the device .name to "watchdog" like most of the other
watchdogs. udev uses it as the device name (by default) and spaces etc.
get in the way.

Superceded 2833/1 because 2.6.13-rc4 caused rejects.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2005-08-03 20:34:52 +01:00
Dave Airlie
bdf242eeb0 Merge ../linux-2.6/ 2005-07-30 14:37:43 +10:00
Matthew Garrett
b0825488a6 [PATCH] agp: restore APBASE after setting APSIZE
When leaving S3 state, the AGP bridge may not have all PCI configuration
registers set in the same way as they were at boot.  This should be fixed
by pci_restore_state - however, the APBASE register cannot be set to
conflict with the APSIZE register.  If APSIZE is larger than it was before
suspend, pci_restore_state will not restore APBASE correctly.  The attached
patch adds an extra item to the agp_bridge_data structure and uses it to
store the value of APBASE.  On resume, this is then written after APSIZE
has been set.  This patch only touches the path used for Intel chipsets
without integrated graphics, and may need to be extended to work with the
others.

Without this patch, I get the symptoms described in bug 4921 - APBASE ends
up overlapping various PCI devices, and as a result they fail to work after
resume.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 15:01:15 -07:00
Linus Torvalds
e0d7ff168a Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2005-07-29 09:48:34 -07:00
Jesper Juhl
77933d7276 [PATCH] clean up inline static vs static inline
`gcc -W' likes to complain if the static keyword is not at the beginning of
the declaration.  This patch fixes all remaining occurrences of "inline
static" up with "static inline" in the entire kernel tree (140 occurrences in
47 files).

While making this change I came across a few lines with trailing whitespace
that I also fixed up, I have also added or removed a blank line or two here
and there, but there are no functional changes in the patch.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:20 -07:00
Olaf Hering
44456d37b5 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string
turn many #if $undefined_string into #ifdef $undefined_string to fix some
warnings after -Wno-def was added to global CFLAGS

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:08 -07:00
Andrew Morton
3dcce8e22b [PATCH] ppc64: tpm_infineon build fix
ppc64 uses symbol `DAR', as does the TPM driver, causing a build failure.
Change the TPM name.

Cc: Marcel Selhorst <selhorst@crypto.rub.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:07 -07:00
Marcel Selhorst
ebb81fdb3d [PATCH] tpm: Support for Infineon TPM
This patch provides a new device driver for the Infineon SLD 9630 TT Trusted
Platform Module (TPM 1.1b) [1] which is embedded on Intel- mainboards or in
HP/ Fujitsu-Siemens / Toshiba-Notebooks.  A nearly complete list where this
module is integrated in can be found in [2].

This kernel module acts as a communication gateway between the linux kernel
and the hardware chip and fits the TPM-specific interfaces created by IBM in
drivers/char/tpm/tpm.h

Further information about this module and a list of succesfully tested and
therefore supported hardware can be found at our project page [3].

[1]
http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/public_download.jsp?oid=114135&parent_oid=29049

[2]
http://www.tonymcfadden.net/tpmvendors.htm

[3]
http://www.prosec.rub.de/tpm

Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de>
Acked-by: Kylene Jo Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:26:06 -07:00
Andrew Morton
62b662a309 [PATCH] ppc64: genrtc build fix
genrtc.c won't compile on ppc64.  Seems that ppc32 does support it though?

We do this wrong btw - we should be selecting GEN_RTC in each
arch/xxx/Kconfig.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:57 -07:00
Andrey Panin
4bfdf37830 [PATCH] consolidate CONFIG_WATCHDOG_NOWAYOUT handling
Attached patch removes #ifdef CONFIG_WATCHDOG_NOWAYOUT mess duplicated in
almost every watchdog driver and replaces it with common define in
linux/watchdog.h.

Signed-off-by: Andrey Panin <pazke@donpac.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:54 -07:00
Alexey Dobriyan
bbaf364103 [PATCH] drm: via: fix sparse warnings
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:54 -07:00
Rolf Eike Beer
b7343f01e3 [PATCH] watchdog: add missing 0x in alim1535_wdt.c
Usually the device IDs are given in hex.  This one is a bit strange: it is
without 0x in the first place and used with it some lines later.  I suspect
the first one to be the wrong.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-27 16:25:51 -07:00
Andrew Morton
479d0f41e5 [PATCH] softdog build fix
drivers/char/watchdog/softdog.c:94: too many arguments to function `emergency_restart'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 21:48:54 -07:00
Andrew Morton
cc1d3a9a78 [PATCH] eurotechwdt build fix
drivers/char/watchdog/eurotechwdt.c:165: too many arguments to function `emergency_restart'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 21:48:54 -07:00
Eric W. Biederman
68acc05d01 [PATCH] pcwd.c: Call kernel_power_off not machine_power_off
The call appears to come from process context so kernel_power_off
should be safe.  And acpi_power_off won't necessarily work if you just
call machine_power_off.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:44 -07:00
Eric W. Biederman
970d32443e [PATCH] In hangcheck-timer.c call emergency_restart()
If we've hung a clean reboot does not sound like a real
option.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:44 -07:00
Eric W. Biederman
f82567e55f [PATCH] Fix watchdog drivers to call emergency_reboot()
If a watchdog driver has decided it is time to reboot the system
we know something is wrong and we are in interrupt context
so emergency_reboot() is what we want.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:43 -07:00
Eric W. Biederman
4de8b9b760 [PATCH] Update sysrq-B to use emergency_restart()
sysrq calls into the reboot path from an interrupt handler
we can either push the code do into process context and
call kernel_restart and get a clean reboot or we can simply
reboot the machine, and increase our chances of actually
rebooting.  emergency_reboot() seems like the closest match
to what we have previously done, and what we want.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-26 14:35:43 -07:00
Vojtech Pavlik
5ac7ba3ff5 Input: check keycodesize when adjusting keymaps
When changing key mappings we need to make sure that the new
keycode value can be stored in dev->keycodesize bytes.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2005-07-24 00:50:03 -05:00
Michal Ostrowski
a1287ba1ba [PATCH] rocket.c: Fix ldisc ref count handling
If bailing out because there is nothing to receive in rp_do_receive(),
tty_ldisc_deref is not called.  Failure to do so increases the ref count
and causes release_dev() to hang since it can't get the ref count to 0.

Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 09:54:51 -07:00
Nishanth Aravamudan
030babac6a [PATCH] vt.c build fix
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-15 09:54:50 -07:00
Yoichi Yuasa
6e498c1080 [PATCH] TB0219: add PCI IRQ initialization
This patch adds PCI IRQ initialization to TB0219 driver.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-12 16:01:02 -07:00
Dmitry Torokhov
e0d21d9cca Merge rsync://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2005-07-11 00:58:04 -05:00
Dave Airlie
836cf0465c drm: cleanup buffer/map code
This is a patch from DRM CVS that cleans up some code that was in CVS
that I never moved to the kernel, this patch produces the result of the
cleanups and puts it into the kernel drm.

From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 19:27:04 +10:00
Dave Airlie
d01cff4080 drm: add mga driver callbacks
Add some missing driver callback for the PCI support

Signed-off-by: Dave Airlie <airlied@linux.ie>
2005-07-10 19:24:35 +10:00