This backs out James' sysfs support for fbdev again. It introduces a
big, race for every driver not converted to framebuffer_{alloc,release}
(that is every driver but Ben's new radeonfb).
I've left in framebuffer_{alloc,release} as stubs so drivers can be
converted to it gradually and once all drivers are done it can be
enabled again.
Anton Blanchard [Fri, 13 Feb 2004 23:30:34 +0000 (15:30 -0800)]
[PATCH] cleanup debugger hooks
Theres still more to do here, but at least the ifdef mess is gone. No
more checking for NULL before calling functions, that was playing with
fire. Oh yeah and lots more deletions :)
Clean up the debugger hooks, it was way too easy to screw up.
And we did. And Linus hit it.
- create CONFIG_DEBUGGER so we can enable kernel debugging options but not
have any trace of debugger gunk.
- remove a bunch of xmon prototypes so no one gets the urge to call them
- Use die() instead of panic in a number of places, it gives us much better
debug information.
- Get rid of the ifdef madness
Anton Blanchard [Fri, 13 Feb 2004 23:30:14 +0000 (15:30 -0800)]
[PATCH] various xmon cleanups
Heres a patch I've had for a while, it removes a bunch of debugger code
which is good :) The next patch will sanitise it (and the rest of the
debugger hooks).
Various xmon cleanups
- recover from bad SPR read/write (we get a program check)
- remove some old code (bat and segment register stuff)
- update the help text to match reality
- add a "press ? for help" when xmon first appears to make rusty happy
- protect against flushing bad parts of memory from Milton
- dont print iseries specific stuff on pseries in SPR dump (S)
- add code to dump the segment table or SLB
- remove a number of functions that wouldnt work on LPAR
Anton Blanchard [Fri, 13 Feb 2004 23:29:59 +0000 (15:29 -0800)]
[PATCH] add thread_info to oops output
- Add thread_info to pointer, its a useful piece of information.
- Do the kallsyms lookup on the link register
- Remove extra newline on one call to die()
Anton Blanchard [Fri, 13 Feb 2004 23:29:48 +0000 (15:29 -0800)]
[PATCH] Fix ppc64 build problem
From: Paul Mackerras <paulus@samba.org>
Recent changes in include/linux/*.h meant that likely()
isn't defined here (since we don't set __KERNEL__), and thus
we don't get some prototypes and we can't use do_div. This
fixes the resulting compile errors and warnings.
Remove %L handling from sprintf - we don't need it, and it
meant we needed do_div from asm/div64.h, which gives problems
when __KERNEL__ isn't defined. Also add a prototype for
strlen to kill a warning.
Andrew Morton [Fri, 13 Feb 2004 07:48:11 +0000 (23:48 -0800)]
[PATCH] ppc32: IBM 40x and 4xx fixes
From: Tom Rini <trini@kernel.crashing.org>
On IBM 40x and IBM 4xx (or more specifically, all Book E processors), the
Save/Restor Registers 2 and 3 Critical Save and Restore Registers 0 and 1
are logically and functionally equivalent. And since the 40x is the early
variant on the Book E model, make generic 4xx/BookE code refer to
CSRR0/CSRR1, and map these to SRR2/SRR3 on 40x.
Andrew Morton [Fri, 13 Feb 2004 07:47:41 +0000 (23:47 -0800)]
[PATCH] ppc32: boot and platform fixes
From: Tom Rini <trini@kernel.crashing.org>
From: Randy Vinson <rvinson@mvista.com>
- Fixup IBM Spruce support (GEN550, general fixes and cleanups).
- Forward-port the INTERACTIVE_CONSOLE bits from 2.4.
- Forward-port the bootinfo code.
- Add a weak get_mem_size() function.
Andrew Morton [Fri, 13 Feb 2004 07:47:31 +0000 (23:47 -0800)]
[PATCH] Suppress reiserfs page allocation wanring
From: Nikita Danilov <Nikita@Namesys.COM>
Some stage in reiserfs balancing (fix_nodes() function) has to be performed
without ever scheduling. If it schedules, it has to be restarted. As we
don't want to restart often, we first try to do atomic allocation, and if
it fails, GFP_NOFS allocation is done, and fix_nodes() restarted.
Andrew Morton [Fri, 13 Feb 2004 07:47:12 +0000 (23:47 -0800)]
[PATCH] Make serial console work for any port
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
The current serial console code only works for ports that are either
defined in SERIAL_PORT_DFNS (and set up by serial8250_isa_init_ports()) or
registered by early_serial_setup().
On ia64, SERIAL_PORT_DFNS is empty because we discover everything via ACPI
and PCI. And we only use early_serial_setup() for one port described by
the HCDP firmware table.
This patch against 2.6.3-rc2 makes it work for any valid port. If we don't
know about the port early, we just return -ENODEV from the setup()
function, which leaves the serial console disabled. After the driver has
found all the ports, we try to register the serial console again if it
hasn't been enabled already.
I think the "port->type == PORT_UNKNOWN" test is cleaner than the
"port->ops" test -- it more clearly gets to the point of "do we know about
this port".
Andrew Morton [Fri, 13 Feb 2004 07:46:43 +0000 (23:46 -0800)]
[PATCH] sh: pvr2fb updates
From: Paul Mundt <lethal@linux-sh.org>
Sanity fixes in pvr2fb_check_var() so we don't constantly report an invalid
pixclock.. also fixup FB_SYNC_BROADCAST setting so this doesn't get
improperly assigned in the VO_VGA case.
Andrew Morton [Fri, 13 Feb 2004 07:46:34 +0000 (23:46 -0800)]
[PATCH] sh: hitfb updates (and accel)
From: Paul Mundt <lethal@linux-sh.org>
This updates hitfb, and also adds basic accel support. Also as we don't need
the generic cfb_copyarea anymore, we no longer link cfbcopyarea.o in at build
time.
Andrew Morton [Fri, 13 Feb 2004 07:45:19 +0000 (23:45 -0800)]
[PATCH] sh: Wrap fb_read/writeX() to __raw_read/writeX()
From: Paul Mundt <lethal@linux-sh.org>
This adds sh to the list of platforms that wrap fb_readX/fb_writeX() to
__raw_readX/__raw_writeX(). This is needed so that the generic fb read/write
routines will wrap properly through the sh machvec and use the appropriate
board-specific I/O routines.
Andrew Morton [Fri, 13 Feb 2004 07:45:01 +0000 (23:45 -0800)]
[PATCH] selinux: Fix bugs in policy loading code
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch fixes a couple of bugs in the SELinux policy loading code. The
first bug was reported by Magosanyi Arpad; kernel panic upon feeding the
kernel a policy with an empty avtab due to cleanup code trying to free the
avtab twice. The other bugs were reported by Frank Mayer; failure to
properly validate certain values read from the policy.
Jeff Garzik [Fri, 13 Feb 2004 07:27:20 +0000 (02:27 -0500)]
[libata] catch, and ack, spurious DMA interrupts
Hardware issue on Intel ICH5 requires an additional ack sequence
over and above the normal IDE DMA interrupt ack requirements. Issue
described in post to freebsd list:
http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html
Since the bug workaround only requires a single additional PIO or
MMIO read in the interrupt handler, it is applied to all chipsets
using the standard libata interrupt handler.
Credit for research the issue, creating the patch, and testing the
patch all go to Jon Burgess.
This is needed to avoid kmalloc()'s 128K limit when an association is
initialized with a large no. of streams(more than 65000 inbound +
outbound streams).
Linus Torvalds [Thu, 12 Feb 2004 05:00:34 +0000 (21:00 -0800)]
Fix "bus_for_each_dev()" and "bus_for_each_drv()", which did not
correctly handle the "restart from this device/driver" case, and
caused oopses with ieee1394.
This just uses "list_for_each_entry_continue()" instead.
Add helper macro to make usage of "list_for_each_entry_continue()"
a bit more readable.
Here is the new radeonfb. It doesn't remove the old one, just in case,
though CONFIG_FB_RADEON now builds the new one.
The new driver supports recent cards, has better monitor detection,
including DDC2, fixes a couple of constants in the old driver, and a lot
more.
I had to add an empty fb_set_suspend() function to fbmem.c (the real
implementation is in James tree and will be here soon). That means that
Power Management on Apple laptops isn't completely right yet until the
core fbdev fixes get in, but it's good enough for now.
ppc64: Add pciconfig_iobase syscall for 32 bits apps only
This syscall is used by XFree to retreive the IO base of the
bus where the video card is plugged. This is only implemented
for compatibility with existing XFree86, I don't plan to do
a 64 bits version, XFree shall be fixed to use proper PCI access
methods
ppc64: Add support for z85c30 SCCs for low level console (PowerMac G5)
This is only used with the "sccdbg" kernel command line option, as
you need a special adapter (www.geethree.com) to get access to the
serial port on those machines.
This involves moving the final fixup to a function pointer in machdep,
turning all the PCI DMA routines into function pointers in a separate
structure and a bit of renaming work. The PowerMac currently use
"direct" PCI DMA bypassing the iommu. The driver for the IOMMU will
come later, allowing us to lift the limitation to 2Gb of RAM
ppc64: Add support for PowerMacs in the OF client interface code (prom.c)
Also move some of the init cruft into separate function to make
things slightly more readable. We sill need to significantly
cleanup that file, but that will come later...
Properly export the OF device-tree accessors to modules