ChangeSet@1.2067, 2004-10-19 09:36:24-07:00, dtor_core@ameritech.net [PATCH] ieee1394: SBP-2 - rename some constants to fix clash with new SCSI core defines. Acked by Ben Collins. Signed-off-by: Dmitry Torokhov Signed-off-by: Linus Torvalds ChangeSet@1.2066, 2004-10-19 09:10:04-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1997.39.260, 2004-10-19 08:30:26-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: message conversion fix for le32_to_cpu parameters - fixed incorrect parameters to le32_to_cpu which was introduced with the I2O message conversion patch Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.259, 2004-10-19 08:30:14-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: correct error code if bus is busy in i2o_scsi - corrected the error code in i2o_scsi_reply to return the correct error code DID_BUS_BUSY if bus is busy (original from Alan Cox) Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.258, 2004-10-19 08:24:08-07:00, nacc@us.ibm.com [PATCH] net/mac89x0: replace schedule_timeout() with msleep_interruptible() Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.257, 2004-10-19 08:23:55-07:00, janitor@sternwelten.at [PATCH] janitor: __FUNCTION__ string concatenation deprecated __FUNCTION__ string concatenation is deprecated Signed-off-by: Clemens Buchacher Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.256, 2004-10-19 08:23:43-07:00, janitor@sternwelten.at [PATCH] janitor: replace dprintk with pr_debug in microcode.c Replaced dprintk with pr_debug from kernel.h Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.255, 2004-10-19 08:23:30-07:00, janitor@sternwelten.at [PATCH] drivers/isdn: replace milliseconds() with msecs_to_jiffies() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.254, 2004-10-19 08:23:18-07:00, janitor@sternwelten.at [PATCH] janitor: isdn/icn: change units of ICN_BOOT_TIMEOUT1 Change units of ICN_BOOT_TIMEOUT1 to msecs instead of jiffies for msleep_interruptible() in icn.c. Also, remove unused constant ICN_CHANLOCK_DELAY. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.253, 2004-10-19 08:23:05-07:00, janitor@sternwelten.at [PATCH] janitor: replace dprintk with pr_debug in drivers/scsi/tpam/ Replaced dprintk, and deleted it out of tpam.h. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.252, 2004-10-19 08:22:53-07:00, janitor@sternwelten.at [PATCH] ieee1394: replace schedule_timeout() with msleep_interruptible() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.251, 2004-10-19 08:22:40-07:00, janitor@sternwelten.at [PATCH] drivers/md: replace schedule_timeout() with msleep_interruptible() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.250, 2004-10-19 08:22:28-07:00, janitor@sternwelten.at [PATCH] janitor: drivers/message: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() under drivers/message. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.249, 2004-10-19 08:22:16-07:00, janitor@sternwelten.at [PATCH] janitor: drivers/media: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.248, 2004-10-19 08:22:03-07:00, janitor@sternwelten.at [PATCH] janitor: video/radeonfb: remove MS_TO_HZ() Removes definition of MS_TO_HZ() in favor of msecs_to_jiffies(). Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.247, 2004-10-19 08:21:51-07:00, janitor@sternwelten.at [PATCH] janitor: video/radeon_base: replace MS_TO_HZ() with msecs_to_jiffies() Replace MS_TO_HZ() with msecs_to_jiffies(). Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.246, 2004-10-19 08:21:39-07:00, janitor@sternwelten.at [PATCH] janitor: kill KERNEL_VERSION duplicate in videocodec.c Kill KERNEL_VERSION duplicate. Funny that it insn't even used in here Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.245, 2004-10-19 08:21:27-07:00, janitor@sternwelten.at [PATCH] janitor: fix-typo-arm-dma arch/arm26/machine/dma.c caught by Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.244, 2004-10-19 08:21:15-07:00, janitor@sternwelten.at [PATCH] janitor: mark __init/__exit static drivers/net/bsd_comp Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.243, 2004-10-19 08:21:02-07:00, janitor@sternwelten.at [PATCH] janitor: mark __init/__exit static drivers/net/ppp_deflate Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.242, 2004-10-19 08:20:50-07:00, janitor@sternwelten.at [PATCH] janitor: remove check_region from drivers/char/esp.c Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.241, 2004-10-19 08:20:38-07:00, janitor@sternwelten.at [PATCH] drivers/char: replace schedule_timeout() with msleep_interruptible() Replace lots of open-coded sleeps with msleep_interruptible() under drivers/char. Signed-off-by: Maximilian Attems Signed-off-by: Nishanth Aravamudan Signed-off-by: Rogier Wolff Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.240, 2004-10-19 08:20:24-07:00, janitor@sternwelten.at [PATCH] janitor: char/sx: replace direct assignment with set_current_state() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.239, 2004-10-19 08:20:11-07:00, janitor@sternwelten.at [PATCH] janitor: char/ipmi_si_intf: add set_current_state() Add set_current_state() before schedule_timeout() so a delay is achieved. Without the addition, schedule_timeout() returns immediately. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.238, 2004-10-19 08:19:59-07:00, janitor@sternwelten.at [PATCH] janitor: char/fdc-io: replace direct assignment with set_current_state() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.237, 2004-10-19 08:19:47-07:00, janitor@sternwelten.at [PATCH] janitor: char/sis-agp: replace schedule_timeout() with msleep() Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.236, 2004-10-19 08:19:34-07:00, janitor@sternwelten.at [PATCH] janitor: char/rio_linux: replace schedule_timeout() with msleep()/msleep_interruptible() Use msleep()/msleep_interruptible() [as appropriate] instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.235, 2004-10-19 08:19:22-07:00, janitor@sternwelten.at [PATCH] janitor: list_for_each: drivers-char-drm-radeon_mem.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.234, 2004-10-19 08:19:10-07:00, janitor@sternwelten.at [PATCH] janitor: remove old ifdefs fasttimer Patches to remove some old ifdefs. remove most of the #include kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.233, 2004-10-19 08:18:58-07:00, janitor@sternwelten.at [PATCH] janitor: remove old ifdefs dmascc Patches to remove some old ifdefs. remove most of the #include kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.232, 2004-10-19 08:18:46-07:00, janitor@sternwelten.at [PATCH] janitor: cpqarray remove unused include remove unused #include Old ifdefs were removed that used it's definition. Signed-off-by: Maximilian Attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.231, 2004-10-19 08:18:33-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: quieten sparse 1-bit-bitfield warnings in i2o.h - Single-bit bitfields should be unsigned. Quell sparse warnings for these. (from Randy Dunlap) Signed-off-by: Randy Dunlap Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.230, 2004-10-19 08:18:19-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: new functions to convert messages to a virtual address - added new function i2o_msg_in_to_virt and i2o_msg_out_to_virt, to turn an I2O message to a virtual address (original from Alan Cox) - replaced readl with le32_to_cpu where it is not necessary (original from Alan Cox) Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.229, 2004-10-19 08:18:07-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: added support for Promise controllers - added support for Promise I2O controllers, which need a different initialization sequence (original from Alan Cox) Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.228, 2004-10-19 08:17:55-07:00, Markus.Lidel@shadowconnect.com [PATCH] i2o: code beautifying and cleanup - added KERN_* to printk where it was missing (original from Alan Cox) - removed unused code which was commented out already (original from Alan Cox) - make error messages more sane in i2o_block (original from Alan Cox) Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.227, 2004-10-19 08:17:43-07:00, wli@holomorphy.com [PATCH] sparc32: early tick_ops The zaphod scheduler likes to call scheduler_tick() before time_init(). sparc32 oopses. Perhaps a scheduler bug, but this robustifies things. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.226, 2004-10-19 08:17:30-07:00, wli@holomorphy.com [PATCH] profile: 512x Altix timer interrupt livelock fix I've been informed that /proc/profile livelocks some systems in the timer interrupt, usually at boot. The following patch attempts to amortize the atomic operations done on the profile buffer to address this stability concern. This patch has nothing to do with performance; kernels using periodic timer interrupts are under realtime constraints to complete whatever work they perform within timer interrupts before the next timer interrupt arrives lest they livelock, performing no work whatsoever apart from servicing timer interrupts. The latency of the cacheline bounce for prof_buffer contributes to the time spent in the timer interrupt, hence it must be amortized when remote access latencies or deviations from fair exclusive cacheline acquisition may cause cacheline bounces to take longer than the interval between timer ticks. What this patch does is to create a pair of per-cpu open-addressed hashtables indexed by profile buffer slot holding values representing the number of pending profile buffer hits for the profile buffer slot. When this hashtable overflows, one iterates over the hashtable accounting each of the pairs of profile buffer slots and hit counts to the global profile buffer. Zero is a legitimate profile buffer slot, so zero hit counts represent unused hashtable entries. The hashtable is furthermore protected from flush IPI's by interrupt disablement. In order to flush the pending profile hits for read_profile(), this patch flips betweeen the pairs of per-cpu profile buffer by signalling all cpus to flip via IPI at the time of read_profile(), followed by doing all the work to flush the profile hits from the older per-cpu buffers in the context of the caller of read_profile(), with exclusion provided by a semaphore ensuring that only one caller of profile_flip_buffers() may execute at a time, and using interrupt disablement to prevent buffer flip IPI's from altering the hashtables or flip state while an update is in progress. The flip state is per-cpu so that remote cpus need only disable interrupts locally for synchronization, which is both simple and busywait-free for remote cpus. The flip states all change in tandem when some cpu requests the hashtables be flipped, and the requester waits for the completion of smp_call_function() for notification that all cpus have finished flipping between their hashtables. The IPI handler merely toggles the flip state (which is an array index) between 0 and 1. This is expected to be a much stronger amortization than merely reducing the frequency of profile buffer access by a factor of the size of the hashtable because numerous hits may be held for each of its entries. This reduces what was before the patch a number of atomic increments equal to what after the patch becomes the sum of the hits held for each entry in the hashtable, to a number of atomic_add()'s equal to the number of entries in the per_cpu hashtable. This is nondeterministic, but as the profile hits tend to be concentrated in a very small number of profile buffer slots during any given timing interval, is likely to represent a very large number of atomic increments. This amortization of atomic increments does not depend on the hash function, only the sharp peakedness of the distribution of profile buffer hits. This algorithm has two advantages over full-size per-cpu profile buffers. The first is that the space footprint is much smaller. Per-cpu profile buffers would increase the space requirements by a factor of num_online_cpus(), where this algorithm only requires one page per cpu. The second is that reading the profile state is much faster, because the state that must be traversed is exactly the above space consumers, and the relative reduction in size concomitantly reduces the time required for a read operation. I also took the liberty of adding some commentary to the comments at the beginning of the file reflecting the major work done on profile.c in recent months and describing what the file implements. The reporters of this issue have verified that this resolves their timer interrupt livelock on 512x Altixen. In my own testing on 4x logical x86-64, this patch saw a rate of about 18 flushes per minute under load, or about one flush every 3 seconds, for about 38.4 atomic accesses to the profile buffer per second per cpu in one of the algorithm's worst cases, about 3.84% of the number of atomic profile buffer accesses per second per cpu as a normal kernel would commit. This represents a twenty-six-fold increase in the scalability on SMP systems with 4KB PAGE_SIZE, i.e. with a 4KB PAGE_SIZE, the number of atomic profile buffer accesses per second per cpu is reduced by a factor of 26, thereby increasing the number of cpus a system must have before it would experience a timer interrupt livelock by a factor of 26, with the proviso that cacheline bounces must take the same amount of time to service. This increase in the scalability of the kernel is expected to be much larger for ia64, which has a large PAGE_SIZE, because the distribution of profile buffer hits is so sharply peaked that doubling the hashtable size will much more than double the amortization factor. In fact, only 19 flushes were observed on a 64x Altix over an approximately 10 minute AIM7 run, and 1 flush on a 512x Altix over the course of an entire AIM7 run, for truly vast effective amortization factors. A prior version of this patch, which did not include the node-local hashtable allocation and bounded collision chains has been successfully tested on 64x and 512x ia64 vs 2.6.9-rc2, 8x ia64 vs. 2.6.9-rc2-mm1, 4x x86-64 vs. 2.6.9-rc2-mm1, and 6x sparc64 vs. 2.6.9-rc2-mm1. This patch minus the hashtable initialization fix has been successfully tested on 2x ppc64, 2x alpha, 8x ia64, 6x sparc64, and 4x x86-64, all vs. 2.6.9-rc2-mm1. This precise version of the patch has been successfully tested on 8x ia32 against 2.6.9-rc2-mm1 and 6x sparc64 vs. both 2.6.9-rc2-mm1 and 2.6.9-rc2-mm2. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.225, 2004-10-19 08:17:18-07:00, jmorris@redhat.com [PATCH] SELinux: allow all filesystems to specify fscreate mount option The patch below allows all types of filesystems to specify the fscreate mount option (which is used to specify the security context of the filesystem itself). This was previously only available for filesystems with full xattr security labeling, but is also potentially required for filesystems with e.g. psuedo xattr labeling such as devpts and tmpfs. An example of use is to specify at mount time the fs security context of a tmpfs filesystem, overriding the default specified in policy for that filesystem. This patch has been in the Fedora kernel for some weeks with no problems. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.224, 2004-10-19 08:17:06-07:00, agruen@suse.de [PATCH] xattr: re-introduce validity check before xattr cache insert * ext[23]_xattr_list(): - Before inserting an xattr block into the cache, make sure that the block is not corrupted. The check got moved after inserting into the cache in the xattr consolidation patches, so corrupted blocks could become visible to cache users. - Take a variable out of the loop that calls the ->list handlers. * A few cosmetic changes. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.223, 2004-10-19 08:16:53-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - tmpfs This patch adds xattr support to tmpfs, and a security xattr handler. The purpose of this is to allow udev to be mounted on tmpfs, as used currently by Fedora. Original patch from: Luke Kenneth Casson Leighton . Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.222, 2004-10-19 08:16:41-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - devpts This patch updates the devpts xattr handler code to the generic xattr API, also adds a GPL notice, author and copyright details. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.221, 2004-10-19 08:16:28-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - ext2 This patch converts ext2 xattr and acl code to the new generic xattr API. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.220, 2004-10-19 08:16:16-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - ext3 This patch converts the ext3 xattr and acl code to the generic xattr API. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.219, 2004-10-19 08:16:03-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - LSM This patch replaces the dentry parameter with an inode in the LSM inode_{set|get|list}security hooks, in keeping with the ext2/ext3 code. dentries are not needed here. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.218, 2004-10-19 08:15:51-07:00, jmorris@redhat.com [PATCH] xattr consolidation v3 - generic xattr API This patch consolidates common xattr handling logic into the core fs code, with modifications suggested by Christoph Hellwig (hang off superblock, remove locking, use generic code as methods), for use by ext2, ext3 and devpts, as well as upcoming tmpfs xattr code. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.217, 2004-10-19 08:15:39-07:00, medaglia@undl.org.br [PATCH] Fix types.h This patch fixes troubles when compiling some applications that include , like xmms. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.216, 2004-10-19 08:15:27-07:00, drepper@redhat.com [PATCH] Simplify last lib/idr.c change The last change to alloc_layer in lib/idr.c unnecessarily complicates the code and depending on the definition of spin_unlock will cause worse code to be generated than necessary. The following patch should improve the situation. Signed-off-by: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.215, 2004-10-19 08:15:14-07:00, haroldo.gamal@infolink.com.br [PATCH] smbfs does not honor uid, gid, file_mode and dir_mode supplied by user mount This patch fixes "Samba Bugzilla Bug 999". The last version (2.6.8.1) of smbfs kernel module do not honor uid, gid, file_mode and dir_mode supplied by user during mount. This bug is also logged as "Kernel Bug Tracker Bug 3330". To fully work, some modifications are needed to samba smbmount.c and smbmnt.c files. Those patches are available at Samba and Kernel Bug Tracker pages. After those patches, if the user do not supply any of the parameters above, the uid, gid, file_mode and dir_mode on the server will be used by the client. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.214, 2004-10-19 08:15:02-07:00, nickpiggin@yahoo.com.au [PATCH] taint on bad_page Hugh and I both thought this would be generally useful. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.213, 2004-10-19 08:14:50-07:00, nickpiggin@yahoo.com.au [PATCH] taint: fix forced rmmod This taint didn't appear to be reported. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.212, 2004-10-19 08:14:38-07:00, ak@muc.de [PATCH] x86-64/i386: add mce tainting This patch adds machine check tainting. When a handled machine check occurs the oops gets a new 'M' flag. This is useful to ignore machines with hardware problems in oops reports. On i386 a thermal failure also sets this flag. Done for x86-64 and i386 so far. Signed-off-by: Andi Kleen Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.211, 2004-10-19 08:14:25-07:00, dipankar@in.ibm.com [PATCH] Document RCU based dcache lookup Finally some in-tree documentation for RCU-based dcache look-up. Signed-off-by: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.210, 2004-10-19 08:14:13-07:00, dipankar@in.ibm.com [PATCH] Remove d_bucket Tested using dcachebench and hevy rename test. http://lse.sourceforge.net/locking/dcache/rename_test/ While going over dcache code, I realized that d_bucket which was introduced to prevent hash chain traversals from going into an infinite loop earlier, is no longer necessary. Originally, when RCU based lock-free lookup was first introduced, dcache hash chains used list_head. Hash chain traversal was terminated when dentry->next reaches the list_head in the hash bucket. However, if renames happen during a lock-free lookup, a dentry may move to different bucket and subsequent hash chain traversal from there onwards may not see the list_head in the original bucket at all. In fact, this would result in the list_head in the bucket interpreted as a list_head in dentry and bad things will happen after that. Once hlist based hash chains were introduced in dcache, the termination condition changed and lock-free traversal would be safe with NULL pointer based termination of hlists. This means that d_bucket check is no longer required. There still exist some theoritical livelocks like a dentry getting continuously moving and lock-free look-up never terminating. But that isn't really any worse that what we have. In return for these changes, we reduce the dentry size by the size of a pointer. That should make akpm and mpm happy. Signed-off-by: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.209, 2004-10-19 08:14:01-07:00, dipankar@in.ibm.com [PATCH] Fix dcache lookup __d_lookup() has leftover stuff from earlier code to protect it against rename. The smp_rmb() there was needed for the sequence counter logic. Original dcache_rcu had : + move_count = dentry->d_move_count; + smp_rmb(); + if (dentry->d_name.hash != hash) continue; if (dentry->d_parent != parent) continue; This was to make sure that comparisons didn't happen before before the sequence counter was snapshotted. This logic is now gone and memory barrier is not needed. Removing this should also improve performance. The other change is the leftover smp_read_barrier_depends(), later converted to rcu_dereference(). Originally, the name comparison was not protected against d_move() and there could have been a mismatch of allocation size of the name string and dentry->d_name.len. This was avoided by making the qstr update in dentry atomic using a d_qstr pointer. Now, we do ->d_compare() or memcmp() with the d_lock held and it is safe against d_move(). So, there is no need to rcu_dereference() anything. In fact, the current code is meaningless. Signed-off-by: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.208, 2004-10-19 08:13:49-07:00, schwidefsky@de.ibm.com [PATCH] cleanup: time.h, times.h, timex.h and jiffies.h This patch moves some definitions among time.h, times.h, timex.h and jiffies.h. The purpose is to sort all jiffies related functions to jiffies.h, to get rid of the cyclic dependency between time.h & timex.h and to move all #include lines to the start of the header files. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.207, 2004-10-19 08:13:35-07:00, schwidefsky@de.ibm.com [PATCH] cleanup: remove unused definitions from timex.h The CLOCK_TICK_FACTOR and FINETUNE defines from are not used anywhere. Kill them. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.206, 2004-10-19 08:13:23-07:00, schwidefsky@de.ibm.com [PATCH] cleanup: move call to update_process_times. For non-smp kernels the call to update_process_times is done in the do_timer function. It is more consistent with smp kernels to move this call to the architecture file which calls do_timer. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.205, 2004-10-19 08:13:09-07:00, hch@lst.de [PATCH] don't include in security.h gets pulled in in lots of places, so use forward declarations for struct ctl_table instead of pulling sysctl in everywhere. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.204, 2004-10-19 08:12:57-07:00, hch@lst.de [PATCH] mark inter_module_* deprecated These had been officially deprecated since Rusty's module rewrite, but never got the __deprecated marker. The only remaining users are drm and mtd, so we'll get some warnings for common builds. But maybe that's the only way to get the drm people to fix the mess :) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.203, 2004-10-19 08:12:45-07:00, hch@lst.de [PATCH] remove MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT They've been marked deprecated since 2.5.x and there's no more users. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.202, 2004-10-19 08:12:33-07:00, agruen@suse.de [PATCH] Replace hard-coded MODVERDIR in modpost When building external modules, MODVERDIR is relative to the external module instead of in the kernel source tree. Use the MODVERDIR environment variable instead of the hard-coded path in modpost. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.201, 2004-10-19 08:12:21-07:00, stelian@popies.net [PATCH] A simple FIFO implementation A simple ringbuffer implementation for various character drivers. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.200, 2004-10-19 08:12:08-07:00, wli@holomorphy.com [PATCH] report per-process pagetable usage Andi Kleen requested that the number of pagetable pages in use by a process be reported in /proc/$PID/status; this patch implements that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.199, 2004-10-19 08:11:56-07:00, wli@holomorphy.com [PATCH] make console_conditional_schedule() __sched and use cond_resched() Relatively minor add-on (not necessarily tied to it or required to be taken or a fix for any bug). Since cond_resched() is using PREEMPT_ACTIVE now, it may be useful to update the open-coded instance of cond_resched() to use the generic call. Also, it should probably be __sched so the caller shows up in wchan. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.198, 2004-10-19 08:11:44-07:00, wli@holomorphy.com [PATCH] procfs: fix task_mmu.c text size reporting Not all binfmts page align ->end_code and ->start_code, so the task_mmu statistics calculations need to perform this alignment themselves. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.197, 2004-10-19 08:11:32-07:00, Natalie.Protasevich@unisys.com [PATCH] Incorrect PCI interrupt assignment on ES7000 for platform GSI In arch/i386/kernel/acpi/boot.c, platform GSI does not propagate back from mp_register_gsi() to a calling routine which results in IRQ to be set for wrong GSI. This causes most of the PCI slots on the first PCI module to fail. This patch fixes the problem by returning new GSI back to acpi_register_gsi(). Signed-off-by: Natalie Protasevich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.196, 2004-10-19 08:11:20-07:00, raven@themaw.net [PATCH] autofs4: allow map update recognition Having recently repaired autofs' ability to recognise updates to maps dynamically I found I needed to reintroduce the directory inode lookup method (I broke the update recognition several versions ago, oops). This patch does this and applies cleanly against 2.6.9-rc1-mm4. As far as I can tell from testing it doesn't introduce any backward incompatibilities. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.195, 2004-10-19 08:11:08-07:00, zwane@linuxpower.ca [PATCH] Allow multiple inputs in alternative_input I had to use the following patch to allow multiple arguments to be passed down to the asm stub for alternative_input whilst writing alternatives for mwait code, it seems like a simple enough fix. Signed-off-by: Zwane Mwaikambo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.194, 2004-10-19 08:10:55-07:00, wli@holomorphy.com [PATCH] pidhashing: enforce PID_MAX_LIMIT in sysctls The pid_max sysctl doesn't enforce PID_MAX_LIMIT or sane lower bounds. RESERVED_PIDS + 1 is the minimum pid_max that won't break alloc_pidmap(), and PID_MAX_LIMIT may not be aligned to 8*PAGE_SIZE boundaries for unusual values of PAGE_SIZE, so this also rounds up PID_MAX_LIMIT to it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.193, 2004-10-19 08:10:43-07:00, wli@holomorphy.com [PATCH] pidhashing: lower PID_MAX_LIMIT for 32-bit machines /proc/ breaks when PID_MAX_LIMIT is elevated on 32-bit, so this patch lowers it there. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.192, 2004-10-19 08:10:31-07:00, wli@holomorphy.com [PATCH] pidhashing: retain older vendor copyright I was informed that the vendor component of the copyright can't be clobbered without more care, so this patch retains the older vendor, updating it only to reflect the appropriate time period. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.191, 2004-10-19 08:10:19-07:00, wli@holomorphy.com [PATCH] pidhashing: rewrite alloc_pidmap() Rewrite alloc_pidmap() to clarify control flow by eliminating all usage of goto, honor pid_max and first available pid after last_pid semantics, make only a single pass over the used portion of the pid bitmap, and update copyrights to reflect ongoing maintenance by Ingo and myself. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.190, 2004-10-19 08:10:06-07:00, suresh.b.siddha@intel.com [PATCH] no exec: i386 and x86_64 cleanups Sync x86_64 noexec behaviour with i386. And remove all the confusing noexec related boot parameters. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.189, 2004-10-19 08:09:53-07:00, vandrove@vc.cvut.cz [PATCH] Add VIDIOC_S_CTRL_OLD to matroxfb For several months I'm receiving complaints from matroxfb users that v4lctl suddenly stops working for them on kernel upgrade. Problem is that VIDIOC_S_CTRL was renumbered, but all distros still use old VIDIOC_S_CTRL value (f.e. even xawtv-3.94 in Debian unstable still uses old VIDIOC_S_CTRL definition). So let's add this old VIDIOC_S_CTRL value (now named VIDIOC_S_CTRL_OLD) to matroxfb's v4l handling. Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.188, 2004-10-19 08:09:41-07:00, adaplas@hotpop.com [PATCH] fbdev: trivial fb_get_options fix for cyber2000fb and bw2fb Trivial fb_get_options fix for - cyber200fb - bw2fb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.187, 2004-10-19 08:09:29-07:00, geert@linux-m68k.org [PATCH] FrameMaster II build fix fm2fb: Trivial fix for the breakage introduced by the addition of fb_get_options(). Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.186, 2004-10-19 08:09:17-07:00, benh@kernel.crashing.org [PATCH] rework radeonfb blanking This patch cleans up some old cruft in the manipulation of the LVDS interface registers and fixes the blanking code to work with various DVI flat panels. Since this is all very sensitive stuff, I'm posting the patch here for testing before submitting it upstream, though Andrew is welcome to put it in -mm. It also fix some problems with getting the right PLL setup on recent Mac laptops, replacing the old hard coded list of values with cleaner code that "probes" the PLL setup done by the firmware. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.185, 2004-10-19 08:09:05-07:00, vandrove@vc.cvut.cz [PATCH] Assorted matroxfb fixes This small change does: (1) Properly document 'outputs' option. (2) Properly use accelerated characters drawing. fbcon used depth == 0 for character painting long ago, but it is fixed for several months. (3) Provide correct hints for fbcon about matroxfb/matroxfb_crtc2 hardware capabilities. Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.184, 2004-10-19 08:08:53-07:00, vandrove@vc.cvut.cz [PATCH] Remove big-endian mode from matroxfb One of the PowerPC developers, Kostas Georgiou, pointed out to me discussion back from 2001 that they would prefer little endian mode as majority of users runs XF4.x and not Xpmac. And apparently nobody runs Xpmac now, so we can safely remove big-endian mode from matroxfb completely. So let's simplify matroxfb a bit: Accelerator and ILOAD fifo is now always in little endian mode. This is what XFree does. Due to this change all #ifdefs based on endianness was removed from driver - except one which selects framebuffer endinaness (but there is no code in matroxfb which writes to framebuffer directly). It seems that while I was not looking m68k got ioremap, and all architectures now offer ioremap and ioremap_nocache. Let's kill code which mapped ioremap_nocache to ioremap, and ioremap to bus_to_virt for architectures which did not provide them. And this also fixes small typo - M_C2CTL should be 0x3C10 and not 0x3E10. Apparently Matrox notes about need to program this register during initialization are not so important... Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.183, 2004-10-19 08:08:40-07:00, adaplas@hotpop.com [PATCH] fbdev: split vesafb option vram into vtotal and vremap From: Gerd Knorr : "IMHO the the only sane thing is to have two options for total + remapped memory as well. Otherwise we'll end up changing that back and forth like it happened for the size calculation stuff for quite some time ... The patch below does just that and also has the other vmode fix (vmode = yres * linelength /* instead of yres * xres * depth >> 3 */)." Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.182, 2004-10-19 08:08:28-07:00, adaplas@hotpop.com [PATCH] fbdev: fix framebuffer memory calculation for vesafb - use vesafb_fix.line_length * vesafb_defined.yres to calculate the minimum memory required for a video mode. From Aurelien Jacobs . - separately calculate the memory required for a video mode, memory to be remapped, and total memory (for MTRR). From Gerd Knorr . - the 'vram' option is for memory to be remapped, not total memory. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.181, 2004-10-19 08:08:16-07:00, venkatesh.pallipadi@intel.com [PATCH] Fix EDID_INFO in zero-page EDID_INFO is encroaching on the space meant for E820 map in zero-page. This will result in E820 map corruption on any system that has more=20 than 18 E820 entries and CONFIG_VIDEO_SELECT. Not sure how this bug=20 managed to hide for more than a year. Attached patch should fix the bug. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.180, 2004-10-19 08:08:05-07:00, adaplas@hotpop.com [PATCH] fbcon unimap fix fbcon doesn't set a unimap at boot time, so special characters come out wrongly. This is the code sequence in take_over_console(). newcon->startup() oldcon->deinit() newcon->init() The previous console driver (ie, vgacon), via its deinit method, may release the unimap allocated by fbcon in fbcon_startup. This is the reason why calling con_set_default_unimap() in fbcon_init() works, but not in fbcon_startup(). Check if the default display has an allocated unimap, and if it has none, call con_set_default_unimap(). And if the target display has no allocated unimap, then call con_copy_unimap(), where the source unimap is from the default display. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.179, 2004-10-19 08:07:53-07:00, tiwai@suse.de [PATCH] VGA console font problems on 2.6 kernel From: Egbert Eich I would like to utilize kernel ioctls to save/restore console fonts in VGA text mode when running X. So far the Xserver takes care of this however there more and more problems with this: 1. On some platforms (IA64) we need to POST the BIOS before we even have a chance to access the hardware ourselves. This POSTing will usually undo any changes to the graphics hardware that the kernel may have done. 2. More and more drivers fully rely on BIOS support however the BIOS functions which could be used to save/restore register settings may be broken so the only way of mode save/restore is getting/setting the BIOS mode ID. I've hacked up some code for X however I ran into two problems: 1. con_font_get() in linux/drivers/char/vt.c seems to be broken as the font parameters (height, width, charcount) are never reported back. Therefore this function seems to be pretty useless. The fix is simple (please see below). 2. fb consoles seem to allow to install fonts per vt so that the user can have a different font on every console. The text console driver doesn't support this: the font is downloaded to the video card and will be used for all systems. Still the vga_con driver stores the font parameters per console with the effect that setting a font with different parameters on one console will result in the wron values when this font information is read back from another console. Appearantly this broken feature has been introduced in 2.6 as in the 2.4 kernel the vga_con font information is stored in one single global variable. The IA64 platform at least still heavily relies on the VGA text console. To be able to fix some VT switching issues with X on this platform I need these two issues resolved. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.178, 2004-10-19 08:07:41-07:00, adaplas@hotpop.com [PATCH] fbdev: Add iomem annotations to vga16fb.c Add iomem annotations to vga16fb.c Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.177, 2004-10-19 08:07:29-07:00, adaplas@hotpop.com [PATCH] fbdev: Add iomem annotations to i810fb Add iomem annotations to i810fb. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.176, 2004-10-19 08:07:17-07:00, adaplas@hotpop.com [PATCH] fbdev: Add iomem annotations to fbmem.c Add iomem annotations to fbmem.c Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.175, 2004-10-19 08:07:05-07:00, andreas@fjortis.info [PATCH] fbdev: Remove i810fb explicit agp initialization hack. When Antonino A. Daplas posted his "fbdev: Initialize i810fb after agpgart" patch he said that the ugly agp initialization hack for intel agp shouldn't be needed but that he couldn't test it. I have tested the framebuffer updates and additionally removed the initialization hack and it does indeed work. Signed-off-by: Andreas Henriksson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.174, 2004-10-19 08:06:52-07:00, benh@kernel.crashing.org [PATCH] radeonfb: Fix monitor probe logic Fix a small logic error in the monitor probe code when nothing was found. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.173, 2004-10-19 08:06:40-07:00, adaplas@hotpop.com [PATCH] fbdev: fix scrolling corruption This patches fixes the following: - scrolling corruption if scrolling mode is SCROLL_PAN_MOVE. This bug was introduced by the tile blitting patch. - flashing cursor even when console is blanked Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.172, 2004-10-19 08:06:28-07:00, adaplas@hotpop.com [PATCH] fbdev: Add Tile Blitting support Hopefully, this patch fixes one last major regression for one particular driver, namely matroxfb. This drier has 2 versions, one for the kernel and another as a '2.4 backport' patch. This patch adds a tileblitting extension to fbcon. This extension, in summary, is basically a forward-port of the 2.4 fbdev/fbcon framework to 2.6 but without the fbcon dependency. Tile blitting is similar to bitblit, except that the basic unit is a tile (a bitmap of x-by-y dimensions). The display, instead of being described in terms of pixels and scanlines, are described as a region further subdivided into rectangular sections. In fbcon parlance, a tile is a character. Besides a possible fix for matroxfb, tileblitting can be advantageous for hardware that supports some kind of fontcaching mechanism. Also, in the unlikely chance that the console begins supporting multicolored fonts, tileblitting is probably more optimal than bitblitting because bitblitting will need to push more data through the bus. To enable support for this extension, a driver needs to: - enable CONFIG_FB_TILEBLITTING - set FBINFO_MISC_TILEBLITTING in info->flags - set the required function pointers in struct fb_tileops. The required operations are: - void (*fb_settile)(struct fb_info *info, struct fb_tilemap *map); tells driver about the tile characteristics (dimensions, bitdepth) and about the tilemap which is an array of bitmaps: display->fontdata - void (*fb_tilecopy)(struct fb_info *info, struct fb_tilearea *area); move a rectangular section of tiles (bmove) - void (*fb_tilefill)(struct fb_info *info, struct fb_tilerect *rect); fill a rectangular section with a tile (clear) - void (*fb_tileblit)(struct fb_info *info, struct fb_tileblit *blit); copy an array of tiles to a rectangular section (putcs) - void (*fb_tilecursor)(struct fb_info *info, struct fb_tilecursor *cursor); cursor function Changes: Addition of this extension necessitates cleanup of fbcon.c. The basic drawing functions in fbcon are bmove, clear, putcs and cursor (the fbcon_* set). The fbcon_* set are just wrappers to accel_* set. However, usage is not consistent, some functions call the fbcon_* set, others call the accel_* set. With this patch, a new fbcon-specific structure (struct fbcon_ops) is created. Depending on the setting of the hardware, this struct contains pointers to either the tileblitting set or the bitblitting set (formerly the accel_* set). The tileblitting set is new in this patch. The vast majority of functions in fbcon will need to only call the fbcon_* set. In turn, it calls functions in struct fbcon_ops. Knowledge of the blitting type is not required. The accel_* set is renamed to bit_* and is moved into a separate file, bitblit.c. The tile blitting set is in tileblit.c. In my case at least, the cleanup did produce an unexpected but beneficial side effect, a little more speedup. Not much, < 5%. Petr, if you have comments, suggestions, or you think this is a bad idea, let me know. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.171, 2004-10-19 08:06:15-07:00, adaplas@hotpop.com [PATCH] fbdev: Pass struct device to class_simple_device_add Swsusp turns off the display when a power-management-enabled framebuffer driver is used. According to Nigel Cunningham , the fix may involve the following: "...I thought the best approach would be to use device classes to find the struct dev for the frame buffer driver, and then use the same code I use for storage devices to avoid suspending the frame buffer until later..." Changes: - pass info->device to class_simple_device_add() - add struct device *device to struct fb_info - store struct device in framebuffer_alloc() - for drivers not using framebuffer_alloc(), store the struct during initalization - port i810fb and rivafb to use framebuffer_alloc() Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1997.39.170, 2004-10-19 08:06:02-07:00, adaplas@hotpop.com [PATCH] fbcon: Fix setup boot options of fbcon This patch fixes the 'fbcon=map: