commit fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 Author: Adrian Bunk Date: Fri Jul 25 02:55:49 2008 +0300 fix fs/nfs/nfsroot.c compilation This fixes the following compile error caused by commit f9247273cb69ba101877e946d2d83044409cc8c5 ("UFS: add const to parser token table"): CC fs/nfs/nfsroot.o /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/nfs/nfsroot.c:130: error: tokens causes a section type conflict make[3]: *** [fs/nfs/nfsroot.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 4b9f12a3779c548b68bc9af7d94030868ad3aa1b Author: Linus Torvalds Date: Thu Jul 24 17:29:00 2008 -0700 x86/oprofile/nmi_int: add Nehalem to list of ppro cores ..otherwise oprofile will fall back on that poor timer interrupt. Also replace the unreadable chain of if-statements with a "switch()" statement instead. It generates better code, and is a lot clearer. Signed-off-by: Linus Torvalds commit b30f3ae50cd03ef2ff433a5030fbf88dd8323528 Author: Linus Torvalds Date: Thu Jul 24 15:43:44 2008 -0700 x86-64: Clean up 'save/restore_i387()' usage Suresh Siddha wants to fix a possible FPU leakage in error conditions, but the fact that save/restore_i387() are inlines in a header file makes that harder to do than necessary. So start off with an obvious cleanup. This just moves the x86-64 version of save/restore_i387() out of the header file, and moves it to the only file that it is actually used in: arch/x86/kernel/signal_64.c. So exposing it in a header file was wrong to begin with. [ Side note: I'd like to fix up some of the games we play with the 32-bit version of these functions too, but that's a separate matter. The 32-bit versions are shared - under different names at that! - by both the native x86-32 code and the x86-64 32-bit compatibility code ] Acked-by: Suresh Siddha Signed-off-by: Linus Torvalds commit b5684b83b1e1579bbbc80e703e990c0cccf5892c Merge: 1481b91... 1b8ebad... Author: Linus Torvalds Date: Thu Jul 24 14:55:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits) ide: use proper printk() KERN_* levels in ide-probe.c ide: fix for EATA SCSI HBA in ATA emulating mode ide: remove stale comments from drivers/ide/Makefile ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase ide-scsi: remove kmalloced struct request ht6560b: remove old history ht6560b: update email address ide-cd: fix oops when using growisofs gayle: release resources on ide_host_add() failure palm_bk3710: add UltraDMA/100 support ide: trivial sparse annotations ide: ide-tape.c sparse annotations and unaligned access removal ide: drop 'name' parameter from ->init_chipset method ide: prefix messages from IDE PCI host drivers by driver name it821x: remove DECLARE_ITE_DEV() macro it8213: remove DECLARE_ITE_DEV() macro ide: include PCI device name in messages from IDE PCI host drivers ide: remove for some archs ide-generic: remove ide_default_{io_base,irq}() inlines (take 3) ide-generic: is no longer needed on ppc32 ... commit 1481b9109fe771ec8b035d7760f42e36d2bed5d4 Merge: 5042d99... f88133d... Author: Linus Torvalds Date: Thu Jul 24 13:57:37 2008 -0700 Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6 * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: acpi: fix crash in core ACPI code, triggered by CONFIG_ACPI_PCI_SLOT=y ACPI: thinkpad-acpi: don't misdetect in get_thinkpad_model_data() on -ENOMEM ACPI: thinkpad-acpi: bump up version to 0.21 ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support ACPI: thinkpad-acpi: WLSW overrides other rfkill switches ACPI: thinkpad-acpi: prepare for bluetooth and wwan rfkill support ACPI: thinkpad-acpi: consolidate wlsw notification function ACPI: thinkpad-acpi: minor refactor on radio switch init Revert "ACPI: don't walk tables if ACPI was disabled" Revert "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled." Revert "Fix FADT parsing" ACPI : Set FAN device to correct state in boot phase ACPI: Ignore _BQC object when registering backlight device ACPI: stop complaints about interrupt link End Tags and blank IRQ descriptors commit 5042d99795d3d817bef2f4cc46e953bee9bf7398 Merge: 5c40235... f17a077... Author: Linus Torvalds Date: Thu Jul 24 13:57:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fixup sparse endianness warnings in proc.c PCI PM: make more PCI PM core functionality available to drivers PCI/DMAR: don't assume presence of RMRRs PCI hotplug: fix error path in pci_slot's register_slot commit 1b8ebad87b459e2e1333fbf28005977245ff5402 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: use proper printk() KERN_* levels in ide-probe.c While at it: - fixup printk() messages in save_match() and hwif_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 52f3a771feafe3e9c56f8d00c8eb53fd8f578f2d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: fix for EATA SCSI HBA in ATA emulating mode IDE probing code used to skip devices attached to EATA SCSI HBA in ATA emulating mode but because of warm-plug support port I/O resources are no longer freed if no devices are detected on a port and the decision about the driver to use is left up to the user. Remove no longer valid EATA SCSI HBA quirk from do_identify(). Noticed-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit d0b53f6866fa185da94968e62ae97923db18298c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: remove stale comments from drivers/ide/Makefile Signed-off-by: Bartlomiej Zolnierkiewicz commit 90d2c6bc68745d67cdbf00bab43818d90aa0dfb6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:36 2008 +0200 ide: enable local IRQs in all handlers for TASKFILE_NO_DATA data phase It is already done by task_no_data_intr() and there is no reason not to do it in other TASKFILE_NO_DATA data phase handlers. Signed-off-by: Bartlomiej Zolnierkiewicz commit e27420d046600cd3e4139ea1b6cba59a8b4050eb Author: FUJITA Tomonori Date: Thu Jul 24 22:53:35 2008 +0200 ide-scsi: remove kmalloced struct request This converts ide-scsi to use blk_get/put_request instead of kmalloc/kfree. Signed-off-by: FUJITA Tomonori Signed-off-by: Bartlomiej Zolnierkiewicz commit 216f9a88feabf5ed574c3aa78447a6bd872910bc Author: Jan Evert van Grootheest Date: Thu Jul 24 22:53:35 2008 +0200 ht6560b: remove old history Remove the ancient version history. Git does a better job. From: Jan Evert van Grootheest Signed-off-by: Bartlomiej Zolnierkiewicz commit eb34b2d90e71380ad19695188934230b06a3668b Author: Jan Evert van Grootheest Date: Thu Jul 24 22:53:35 2008 +0200 ht6560b: update email address Update email address. From: Jan Evert van Grootheest Signed-off-by: Bartlomiej Zolnierkiewicz commit e8e7b9eb11c34ee18bde8b7011af41938d1ad667 Author: Jens Axboe Date: Thu Jul 24 22:53:35 2008 +0200 ide-cd: fix oops when using growisofs cdrom_read_capacity() will blindly return the capacity from the device without sanity-checking it. This later causes code in fs/buffer.c to oops. Fix this by checking that the device is telling us sensible things. From: Jens Axboe Cc: Michael Buesch Cc: Jan Kara Cc: Arnd Bergmann Cc: Cc: Borislav Petkov Signed-off-by: Andrew Morton [bart: print device name instead of driver name] Signed-off-by: Bartlomiej Zolnierkiewicz [harvey: blocklen is a big-endian value] Signed-off-by: Harvey Harrison Signed-off-by: Bartlomiej Zolnierkiewicz commit 96cc112c09b3c6674da01ef8b377f7a916883ea2 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:34 2008 +0200 gayle: release resources on ide_host_add() failure "gayle: reserve memory resources at once" patch temporary removed freeing of resources on failure (to ease convertion to ide_host_add() interface). This patch fixes it. Thanks to Geert for noticing the issue. Noticed-by: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit a0f403bc58dcaa118f02ec70c3ecfec1bc26e445 Author: Sergei Shtylyov Date: Thu Jul 24 22:53:34 2008 +0200 palm_bk3710: add UltraDMA/100 support This controller supports UltraDMA up to mode 5 but it should be clocked with at least twice the data strobe frequency, so enable mode 5 for 100+ MHz IDECLK. While at it, start passing the correct device to clk_get() -- it worked anyway but WTF? :-/ Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7fa897b91a3ea0f16c2873b869d7a0eef05acff4 Author: Harvey Harrison Date: Thu Jul 24 22:53:34 2008 +0200 ide: trivial sparse annotations Signed-off-by: Harvey Harrison Signed-off-by: Bartlomiej Zolnierkiewicz commit cd740ab0f69f6c94d9c7f916758e308f30a439fa Author: Harvey Harrison Date: Thu Jul 24 22:53:33 2008 +0200 ide: ide-tape.c sparse annotations and unaligned access removal If this is actually unaligned the access of speed/max_speed above is already broken and needs a get_unaligned. Otherwise it is aligned and they can be removed. Signed-off-by: Harvey Harrison Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a326b02b0c576001353dbc489154959b0889c6bf Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:33 2008 +0200 ide: drop 'name' parameter from ->init_chipset method There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ced3ec8aa7d0fa3300187ee47c144a22ccfc974e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 ide: prefix messages from IDE PCI host drivers by driver name Prefix messages from IDE PCI host drivers by driver name instead of marketed chipset name (it is still possible to exactly identify the particular chipset basing on driver messages). As a bonus this provides nice code savings for some drivers: text data bss dec hex filename 3826 112 8 3946 f6a drivers/ide/pci/amd74xx.o.before 2786 112 8 2906 b5a drivers/ide/pci/amd74xx.o.after 764 108 0 872 368 drivers/ide/pci/cs5520.o.before 680 108 0 788 314 drivers/ide/pci/cs5520.o.after 1680 112 4 1796 704 drivers/ide/pci/generic.o.before 1155 112 4 1271 4f7 drivers/ide/pci/generic.o.after 7128 792 0 7920 1ef0 drivers/ide/pci/hpt366.o.before 6984 792 0 7776 1e60 drivers/ide/pci/hpt366.o.after 2800 148 0 2948 b84 drivers/ide/pci/pdc202xx_new.o.before 2523 148 0 2671 a6f drivers/ide/pci/pdc202xx_new.o.after 2831 148 0 2979 ba3 drivers/ide/pci/pdc202xx_old.o.before 2683 148 0 2831 b0f drivers/ide/pci/pdc202xx_old.o.after 3776 112 4 3892 f34 drivers/ide/pci/piix.o.before 2804 112 4 2920 b68 drivers/ide/pci/piix.o.after 4693 116 0 4809 12c9 drivers/ide/pci/siimage.o.before 4600 116 0 4716 126c drivers/ide/pci/siimage.o.after Signed-off-by: Bartlomiej Zolnierkiewicz commit 04ba6e739e9c0623c25f94b191fd20dfbd1b26e3 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 it821x: remove DECLARE_ITE_DEV() macro While at it: * it821x_chipsets[] -> it821x_chipset. * Fix it821x_chipset's name field (as it is used for IT8211/8212). Signed-off-by: Bartlomiej Zolnierkiewicz commit 29f1ca920cb8d65b979f7edf2fc7d11095461306 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:32 2008 +0200 it8213: remove DECLARE_ITE_DEV() macro While at it: * it8213_chipsets[] -> it8213_chipset. Signed-off-by: Bartlomiej Zolnierkiewicz commit 28cfd8af52a9ed4e5bd1751ea6bc0b8c870f68ec Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide: include PCI device name in messages from IDE PCI host drivers While at it: * Apply small fixes to messages (s/dma/DMA/, remove trailing '.', etc). * Fix printk() call in ide_setup_pci_baseregs() to use KERN_INFO. * Move printk() call from ide_pci_clear_simplex() to the caller. * Cleanup do_ide_setup_pci_device() a bit. * amd74xx.c: remove superfluous PCI device revision information. * hpt366.c: fix two printk() calls in ->init_chipset to use KERN_INFO. * pdc202xx_new.c: fix printk() call in ->init_chipset to use KERN_INFO. * pdc202xx_old.c: fix driver message in pdc202xx_init_one(). * via82cxxx.c: fix driver warning message in via_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a8f7450f828eaee49d66f41f99ac2e54f1160a6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide: remove for some archs * Remove include from ( includes which is enough). * Remove for alpha/blackfin/h8300/ia64/m32r/sh/x86/xtensa (this leaves us with arm/frv/m68k/mips/mn10300/parisc/powerpc/sparc[64]). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f01d35d87f39ab794ddcdefadb79c11054bcbfbc Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:31 2008 +0200 ide-generic: remove ide_default_{io_base,irq}() inlines (take 3) Replace ide_default_{io_base,irq}() inlines by legacy_{bases,irqs}[]. v2: Add missing zero-ing of hws[] (caught during testing by Borislav Petkov). v3: Fix zero-oing of hws[] for _real_ this time. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 35bbac9a2f73a7e0967d0a1d3e3673e2590ef716 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide-generic: is no longer needed on ppc32 Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit ffed0b6e1a6f5132681d4b521531d992f893190b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide-generic: remove broken PPC_PREP support PPC_PREP has been depending on BROKEN for some time now. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit d83b8b85cd56a083d30df73f3fd5e4714591b910 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:30 2008 +0200 ide: define MAX_HWIFS in * Now that ide_hwif_t instances are allocated dynamically the difference between MAX_HWIFS == 2 and MAX_HWIFS == 10 is ~100 bytes (x86-32) so use MAX_HWIFS == 10 on all archs except these ones that use MAX_HWIFS == 1. * Define MAX_HWIFS in instead of . [ Please note that avr32/cris/v850 have no and alpha/ia64/sh always define CONFIG_IDE_MAX_HWIFS. ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 2c9d86438a0104800da2a8ecdc1e27baf38ba6a4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:29 2008 +0200 ide: remove Remove and . This has been a broken code for some time now and needs rewrite to match IDE core code / host driver model anyway. Cc: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Bartlomiej Zolnierkiewicz commit b6cd7da5be2522b62bbc48d41b36c828b88e02fe Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:28 2008 +0200 ide-generic: remove "no_pci_devices()" quirk from ide_default_io_base() Since the decision to probe for ISA ide2-6 is now left to the user "no_pci_devices()" quirk is no longer needed and may be removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit dbdec839c4c2bfc8f2da8e50c06b9947e5ad0394 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:28 2008 +0200 ide-generic: minor fix for mips Move ide_probe_legacy() call to ide_generic_init() so it fails early if necessary and returns the proper error value (nowadays ide_default_io_base() is used only by ide-generic). Cc: Ralf Baechle Signed-off-by: Bartlomiej Zolnierkiewicz commit ac32f3238c1d95a6ebea2c312160dbdbd61bf91c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 ide-generic: fix ide_default_io_base() for m32r Fix ide_default_io_base() to match ide_default_irq(). Cc: Hirokazu Takata Signed-off-by: Bartlomiej Zolnierkiewicz commit b0a62817961796f6dcef5f316134d8bc7279bf6e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 ide: fix * Add missing include. While at it: * Remove needless ide_default_{irq,io_base}() inlines. Cc: Chris Zankel Signed-off-by: Bartlomiej Zolnierkiewicz commit 37c5ef56989717d871d048f98fb6411e7a17c43d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 rapide: add module_exit() Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e27cb1135de4cc69bf358209f91e1f7ba81eca1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:27 2008 +0200 icside: add module_exit() Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 585f67e736eece4cdf96b628042170273221e770 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 via82cxxx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit fc2c32b737fa370683f8c44d74f41febe33b9c23 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 trm290: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 29d72f2df933ea5ecf294b170b2f02af2af88120 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 triflex: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit ea881d6d6c58aa6d56105d1faba7432243ea7118 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:26 2008 +0200 tc86c001: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 64b0fed31d6704e4e2e42e9a1ac5995b0a1b54e4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 slc90e66: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ce7199897bcbad05ecd06a4df22795fb37f4d0a Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 sl82c105: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1ceb906b4062954e92295191402e9214345ee0e9 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 sis5513: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit fe3825808ad67af02bd826a0d2ca6831e947e80e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 siimage: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit bc2c9a8025921972f0774859b8f19b324734e824 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:25 2008 +0200 serverworks: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 991f5e69c512b284aaec81432dff0440b2a2f418 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 sc1200: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 0fd188047ca75df85191cc55f929cb2889631430 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 rz1000: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit da8c3e0d21c5dbb2815d7c8f1f09e0c68f626ed1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 piix: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 574a1c24b63fdb584935b4924a38b451eeb0880e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:24 2008 +0200 pdc202xx_old: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit d69c8f8c0068b9fc7f5a5082d8a891618b732e2d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 pdc202xx_new: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit adc7f85ae68bd2e8db2e0136dcd4679891e5c321 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 opti621: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit aa6e518d75742fd3ac3d2cb4c2bcbae850319fc1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:23 2008 +0200 ns87415: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1bcaaba7749dce7c0506cff0e811c9bed8121f38 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 jmicron: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 87d8b61356108835f5e91c0fb32b830ec585978c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 it821x: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 5102f768570b3486979afb68c595b71cfb7f026f Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:22 2008 +0200 it8213: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit a6c43a2be9721d00ef9d6ef5b7b0e8113444577b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 hpt366: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 741ac62f6fca55ddbef52513fbc687ba6b04f99e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 hpt34x: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit f566bcae9fb39b108e39a2f31594c028d6ee2e77 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 ide/pci/generic: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit cd68841b854e24076d41c32eae3ccfce6ae60a59 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:21 2008 +0200 cy82c693: add ->remove method and module_exit() Fix the refcounting for dev2 while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 40c8a7f67d38de87f97a548b81b6cd0621a3ff9a Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cs5535: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit d16492a9789982955e627a7ffdcd1c3b945f7e85 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cs5530: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit e2b15b4765ca032d0837dfc8c195ecd3bc56a433 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 cmd64x: add ->remove method and module_exit() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f354fbc4b45a730aa0f876322ea4f096b47d1013 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:20 2008 +0200 atiixp: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit b2509ac1d9dbe7a9d3a9915afbe108978002c95b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 amd74xx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ee3f3b69d9c37f86a45862f53451699ec77fe12 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 alim15x3: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit eb7cb98b1cc8be1d4395d9accf49ae3924cd68f1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 aec62xx: add ->remove method and module_exit() Signed-off-by: Bartlomiej Zolnierkiewicz commit ef0b04276d8f719d754c092434fbd62c2aeb5307 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:19 2008 +0200 ide: add ide_pci_remove() helper * Add 'unsigned long host_flags' field to struct ide_host. * Set ->host_flags in ide_host_alloc_all(). * Always set PCI dev's ->driver_data in ide_pci_init_{one,two}(). * Add ide_pci_remove() helper (the default implementation for struct pci_driver's ->remove method). Signed-off-by: Bartlomiej Zolnierkiewicz commit 37525bebcfc15a1fe5a9cb50bf49b21bf43559c1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:18 2008 +0200 via82cxxx: cleanup ->init_chipset method * Move the boot message and via_clock setup from init_chipset_via82cxxx() to via_init_one(). * Set vdev->via_config in via_init_one() and cleanup init_chipset_via82cxxx() accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0794230fd4b1bf61af8aabd7e987a595d6dbc430 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 cmd64x: cleanup ->init_chipset method Remove verbose reporting for CMD646 (PCI device revision is always logged by IDE PCI layer). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d51f19c86583ca70468883d8137a92689f1a80c1 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 amd74xx: cleanup ->init_chipset method Move amd_clock setup from init_chipset_amd74xx() to amd74xx_probe(). Signed-off-by: Bartlomiej Zolnierkiewicz commit b16040b14e766d390138b04c8829c816f4c1d95b Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 tc86c001: remove ->init_chipset method * Reserve PCI BAR 5 in tc86c001_init_one() and remove no longer needed init_chipset_tc86c001(). While at it: * Add & use DRV_NAME define. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ee77325b074a73694b66ec9eca4f7e55dad58b84 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:17 2008 +0200 via82cxxx: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c674235d667d7ddc6b0c95a228a507eb94da2d6 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 siimage: convert to use ->host_priv While at it: * Reserve PCI BAR 5 in siimage_init_one() and remove no longer needed setup_mmio_siimage(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 96776f3b57eb7beb889a4368937cc9d74082a47e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 sc1200: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d76d9dc448d5a6fc7b49ba06c634aa6927bcc3d Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:16 2008 +0200 it821x: convert to use ->host_priv While at it: * Allocate both struct it821x_dev instances at once. * Don't leak itdevs on ide_pci_init_one() failure. Signed-off-by: Bartlomiej Zolnierkiewicz commit 74811f355f4f69a187fa74892dcf2a684b84ce99 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 hpt366: convert to use ->host_priv While at it: * Allocate both struct hpt_info instances at once. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 60e57ed7c12917932a01d1679d92a7a8735afbce Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 aec62xx: convert to use ->host_priv Signed-off-by: Bartlomiej Zolnierkiewicz commit 08da591e14cf87247ec09b17c350235157a92fc3 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:15 2008 +0200 ide: add ide_device_{get,put}() helpers * Add 'struct ide_host *host' field to ide_hwif_t and set it in ide_host_alloc_all(). * Add ide_device_{get,put}() helpers loosely based on SCSI's scsi_device_{get,put}() ones. * Convert IDE device drivers to use ide_device_{get,put}(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 6cdf6eb357c2681596b7b1672b92396ba82333d4 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:14 2008 +0200 ide: add ->dev and ->host_priv fields to struct ide_host * Add 'struct device *dev[2]' and 'void *host_priv' fields to struct ide_host. * Set ->dev[] in ide_host_alloc_all()/ide_setup_pci_device[s](). * Pass 'void *priv' argument to ide_setup_pci_device[s]() and use it to set ->host_priv. * Set PCI dev's ->driver_data to point to the struct ide_host instance if PCI host driver wants to use ->host_priv. * Rename ide_setup_pci_device[s]() to ide_pci_init_{one,two}(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c2eece50a368c7986bae0b3e52739558dd71b51 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:12 2008 +0200 ide: call ide_pci_setup_ports() before do_ide_setup_pci_device() * Call ide_pci_setup_ports() before do_ide_setup_pci_device() in ide_setup_pci_device[s](). While at it: * Remove stale FIXMEs. Signed-off-by: Bartlomiej Zolnierkiewicz commit a742d6cf0b37b1a96a1549b1fda0d6b19e0185c2 Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:12 2008 +0200 ide: move ide_setup_pci_controller() call to ide_setup_pci_device[s]() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit a95925a309cd9a2e7f5a5713fd70e0dadb09890c Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:11 2008 +0200 ide: respect dev->irq in do_ide_setup_pci_device() also if 'tried_config' * If device is in the PCI native mode respect dev->irq regardless of 'tried_config' in do_ide_setup_pci_device(). * Drop no longer needed 'config' argument from ide_setup_pci_controller(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 708e5f9eb68589b87724af3f0fb4e681dfdfd69f Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 24 22:53:11 2008 +0200 ide: always call ->init_chipset method in do_ide_setup_pci_device() Call ->init_chipset method also for 'tried_config' / '!pciirq' conditions. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c402355adf8f920531f02099f4ec0d2bccd4c64 Merge: ecc8b65... 2cc1773... Author: Linus Torvalds Date: Thu Jul 24 12:56:07 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: MAINTAINERS: Remove Glenn Streiff from NetEffect entry mlx4_core: Improve error message when not enough UAR pages are available IB/mlx4: Add support for memory management extensions and local DMA L_Key IB/mthca: Keep free count for MTT buddy allocator mlx4_core: Keep free count for MTT buddy allocator mlx4_code: Add missing FW status return code IB/mlx4: Rename struct mlx4_lso_seg to mlx4_wqe_lso_seg mlx4_core: Add module parameter to enable QoS support RDMA/iwcm: Remove IB_ACCESS_LOCAL_WRITE from remote QP attributes IPoIB: Include err code in trace message for ib_sa_path_rec_get() failures IB/sa_query: Check if sm_ah is NULL in ib_sa_remove_one() IB/ehca: Release mutex in error path of alloc_small_queue_page() IB/ehca: Use default value for Local CA ACK Delay if FW returns 0 IB/ehca: Filter PATH_MIG events if QP was never armed IB/iser: Add support for RDMA_CM_EVENT_ADDR_CHANGE event RDMA/cma: Add RDMA_CM_EVENT_TIMEWAIT_EXIT event RDMA/cma: Add RDMA_CM_EVENT_ADDR_CHANGE event commit ecc8b655b38a880b578146895e0e1e2d477ca2c0 Merge: 2528ce3... e338125... Author: Linus Torvalds Date: Thu Jul 24 12:55:01 2008 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well nohz: prevent tick stop outside of the idle loop commit 2528ce3237be4e900f5eaa455490146e1422e424 Merge: 8ffa5b6... 36bd53d... Author: Linus Torvalds Date: Thu Jul 24 12:54:26 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: arch/mips/kernel/stacktrace.c: Heiko can't type kthread: reduce stack pressure in create_kthread and kthreadd fix core/stacktrace changes on avr32, mips, sh commit 8ffa5b65968262ba6bb046329972791c0d960745 Merge: 6209ed9... 58838cf... Author: Linus Torvalds Date: Thu Jul 24 12:53:51 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: clean up compiler warning sched: fix hrtick & generic-ipi dependency commit 6209ed9d8443b63c36d340908530fa470c4d4fff Author: Linus Torvalds Date: Thu Jul 24 12:49:26 2008 -0700 x86-64: make BUILD_IRQ() also reset section back Commit 9d25d4db81833029d30b7b03cc1000cbbe09e192 ("x86: BUILD_IRQ say .text to avoid .data.percpu") added a ".text" specifier to make sure that BUILD_IRQ() builds the irq trampoline in the text segment rather than in some random left-over segment that the compiler happened to leave the asm in. However, we should also make sure that we switch back by adding a ".previous" at the end, so that there are no subtle issues with subsequent compiler-generated code. Signed-off-by: Linus Torvalds commit 6044110742bc2ae0577b962985e7c63e0634b2e9 Merge: 7540081... 04bbe43... Author: Linus Torvalds Date: Thu Jul 24 12:33:51 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix header export, asm-x86/processor-flags.h, CONFIG_* leaks x86: BUILD_IRQ say .text to avoid .data.percpu xen: don't use sysret for sysexit32 x86: call early_cpu_init at the same point commit 7540081c6b16dc941895bca840749cabfd0d3b48 Merge: 3fde80e... b552068... Author: Linus Torvalds Date: Thu Jul 24 12:24:40 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Remove __DECLARE_SEMAPHORE_GENERIC Remove asm/semaphore.h Remove use of asm/semaphore.h Add missing semaphore.h includes Remove mention of semaphores from kernel-locking commit 3fde80e94c2bbffbb13f5faa3340cf438440ebea Merge: ac9f80a... 9b0e741... Author: Linus Torvalds Date: Thu Jul 24 12:17:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: put ColdFire head code into .text.head section m68knommu: remove last use of CONFIG_FADS and CONFIG_RPXCLASSIC m68knommu: remove RPXCLASSIC from the m68k tree m68knommu: fec: remove FADS m68knommu: MCF5307 PIT GENERIC_CLOCKEVENTS support m68knommu: add read_barrier_depends() and irqs_disabled_flags() m68knommu: add byteswap assembly opcode for ISA A+ m68knommu: add ffs and __ffs plattform which support ISA A+ or ISA C m68knommu: add sched_clock() for the DMA timer m68knommu: complete generic time m68knommu: move code within time.c m68knommu: m68knommu: add old stack trace method m68knommu: Add Coldfire DMA Timer support m68knommu: defconfig for M5407C3 board m68knommu: defconfig for M5307C3 board m68knommu: defconfig for M5275EVB board m68knommu: defconfig for M5249EVB board m68knommu: change to a configs directory for board configurations commit ac9f80ad16e6e934b6c1f12f82d27889c0f9abcc Merge: c54554d... f6ec2d9... Author: Linus Torvalds Date: Thu Jul 24 12:16:40 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Fix missing kernel doc entry backlight: Add Nvidia-based Apple Macbook Pro backlight driver commit c54554d388369f7f88ddcbe285ca96f7fb8a2d4b Merge: 4378dcc... fe3025b... Author: Linus Torvalds Date: Thu Jul 24 12:16:02 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Ensure led->trigger is set earlier leds: Add support for Philips PCA955x I2C LED drivers leds: Fix sparse warnings in leds-h1940 driver leds: mark led_classdev.default_trigger as const leds: fix unsigned value overflow in atmel pwm driver leds: Add pca9532 platform data for Thecus N2100 leds: Add pca9532 led driver commit 4378dcca8578b0fd0fba883a3354ad4820d4f85f Merge: c3c2233... 7ae93f5... Author: Linus Torvalds Date: Thu Jul 24 12:15:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix cpufreq notifier registry. sparc64: Fix lockdep issues in LDC protocol layer. commit c3c2233d84bee397b8271923c007264eb3efa67b Merge: f924727... f867e6a... Author: Linus Torvalds Date: Thu Jul 24 12:14:58 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: pkt_sched: sch_sfq: dump a real number of flows atm: [fore200e] use MODULE_FIRMWARE() and other suggested cleanups netfilter: make security table depend on NETFILTER_ADVANCED tcp: Clear probes_out more aggressively in tcp_ack(). e1000e: fix e1000_netpoll(), remove extraneous e1000_clean_tx_irq() call net: Update entry in af_family_clock_key_strings netdev: Remove warning from __netif_schedule(). sky2: don't stop queue on shutdown commit f9247273cb69ba101877e946d2d83044409cc8c5 Author: Steven Whitehouse Date: Thu Jul 24 17:22:13 2008 +0100 UFS: add const to parser token table This patch adds a "const" to the parser token table. I've done an allmodconfig build to see if this produces any warnings/failures and the patch includes a fix for the only warning that was produced. Signed-off-by: Steven Whitehouse Acked-by: Alexander Viro Acked-by: Evgeniy Dushistov Signed-off-by: Linus Torvalds commit b340e8a57ef381e69c99a7a8ede61a6bf71a8014 Author: Akinobu Mita Date: Wed Jul 23 21:31:51 2008 -0700 auxdisplay: small cleanups - Use BUILD_BUG_ON for CFAG12864B_SIZE instead of runtime-check - Use get_zeroed_page() Signed-off-by: Akinobu Mita Cc: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bb49fcd501aa9fd3d321a22b7c01d9b0db7ab36 Author: Philippe De Muyter Date: Wed Jul 23 21:31:50 2008 -0700 video/fb: cleanup FB_MAJOR usage Currently, linux/major.h defines a GRAPHDEV_MAJOR (29) that nobody uses, and linux/fb.h defines the real FB_MAJOR (also 29), that only fbmem.c needs. Drop GRAPHDEV_MAJOR from major.h, move FB_MAJOR definition from fb.h to major.h, and fix fbmem.c to use major.h's definition. Signed-off-by: Philippe De Muyter Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba603bf514c101bf48f6adf393c3d00ed457a57 Author: Jan Beulich Date: Wed Jul 23 21:31:49 2008 -0700 fbcon: remove stray semicolons [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e074058d72486676f6fdf6fe803200c62dcb403 Author: Hans-Christian Egtvedt Date: Wed Jul 23 21:31:48 2008 -0700 fbdev: LCD backlight driver using Atmel PWM driver This patch adds a platform driver using the ATMEL PWM driver to control a backlight which requires a PWM signal and optional GPIO signal for discrete on/off signal. It has been tested on Favr-32 board from EarthLCD. The driver is configurable by supplying a struct with the platform data. See the include/linux/atmel-pwm-bl.h for details. The board code for Favr-32 will be submitted to the AVR32 kernel list. Signed-off-by: Hans-Christian Egtvedt Cc: Krzysztof Helt Cc: Haavard Skinnemoen Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d04a4a72d7e1519b4838f24bdd4b5d0f3f426dc Author: Stefano Stabellini Date: Wed Jul 23 21:31:48 2008 -0700 fbcon: bgcolor fix The fourth bit of the background color is the blink property bit, not the intensity bit, as for the foreground color. Therefore it shouldn't be included in the background color. Signed-off-by: Stefano Stabellini Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a25e41831ee851c1365d8b41decc22493b18e6d Author: Nobuhiro Iwamatsu Date: Wed Jul 23 21:31:46 2008 -0700 video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver Framebuffer driver for the SH7760/SH7763 integrated LCD controller. Signed-off-by: Manuel Lauss Signed-off-by: Nobuhiro Iwamatsu Reviewed-by: Paul Mundt Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Siegfried Schaefer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6b044d6bab5e2878d408666469362fc200a889a Author: Krzysztof Helt Date: Wed Jul 23 21:31:45 2008 -0700 neofb: drop the xtimings structure Remove the xtimings structure which only stored some values to be used later (mostly once). Calculate and use these values in places they are needed. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ca6b62f8ca668ccfab0da9112c0125ef82343bd Author: Krzysztof Helt Date: Wed Jul 23 21:31:45 2008 -0700 neofb: drop redundant code Drop structure which is only set but never read. Drop variables which are only set and never read. Convert one long switch into two shorter ones. Add cpu_relax() in busy waiting loop. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc80b7bd682b47825e806018cca8ff7dc6bb55a Author: Krzysztof Helt Date: Wed Jul 23 21:31:44 2008 -0700 neofb: simplify clock calculation There is nothing to gain by converting value in kHz to fixed point MHz. Just calculate everything in kHz. A reorder of the loop allows reducing number of iterations (check if frequency is not too high already). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5798712d608f5ebad994487748a2ccf3cc613d78 Author: Adrian Bunk Date: Wed Jul 23 21:31:43 2008 -0700 drivers/video/amifb.c cleanups This patch contains the following cleanups: - make the needlessly global amifb_init() static - rename cleanup_module() to amifb_exit(), make it static __exit, use module_exit(), there's no need to #ifdef MODULE it Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 104b198dd0b3b62a4fc4e9146f01f2abc718e926 Author: Jordan Crouse Date: Wed Jul 23 21:31:43 2008 -0700 lxfb: fix console blanking Simply enabling DAC blanking without turning off the CRT seems to be resulting in characters remaining on the screen when the monitor blanks. This patch turns off the CRT for all modes, and also powers down the DACs when vsync and/or hsync are disabled. Signed-off-by: Jordan Crouse Acked-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be935d5b6301865b4e9ec35d79d398cedb3c82b7 Author: Andres Salomon Date: Wed Jul 23 21:31:41 2008 -0700 lxfb: drop dead declarations from header We never sent the gamma stuff upstream, and don't really care about it. However, lx_[gs]_et_gamma prototypes snuck into lxfb.h anyways; there are no definitions for them. Drop the dead code. Signed-off-by: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18b095d4b847bb08bf8a1bace7711a93d27732c0 Author: Yoichi Yuasa Date: Wed Jul 23 21:31:41 2008 -0700 drivers/char: remove old broken Cobalt LCD driver Remove old broken Cobalt LCD driver. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5abe3b4063f16245b8fafbff37bd93814eb8e363 Author: Yoichi Yuasa Date: Wed Jul 23 21:31:40 2008 -0700 fbdev: add new Cobalt LCD framebuffer driver Add new Cobalt LCD framebuffer driver. [akpm@linux-foundation.org: fix build] Signed-off-by: Yoichi Yuasa Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b51d51a9d24719f905ba9657b29e04efd82a7ea Author: Timur Tabi Date: Wed Jul 23 21:31:39 2008 -0700 fsl-diu-fb: update Freescale DIU driver to use page_alloc_exact() Update the Freescale DIU driver to use page_alloc_exact() to allocate a DMA buffer. This also eliminates the rheap-based memory allocator. We can do this now because commit 6ccf61f9 allows us to allocate 8MB physically- contiguous memory blocks. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Timur Tabi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25826a7cf1c61b5c6e6db8365172eb97ef39ef3 Author: Ben Dooks Date: Wed Jul 23 21:31:38 2008 -0700 lcd: add platform_lcd driver Add a platform_lcd driver to allow boards with simple lcd power controls to register themselves easily. [akpm@linux-foundation.org: build fix] Signed-off-by: Ben Dooks Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c531360ed504aa0ce995fcb8ef08e82b6534d0b Author: Ben Dooks Date: Wed Jul 23 21:31:38 2008 -0700 lcd: add lcd_device to check_fb() entry in lcd_ops Add the lcd_device being checked to the check_fb entry of lcd_ops. This ensures that any driver using this to check against it's own state can do so, and also makes all the calls in lcd_ops more orthogonal in their arguments. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cccb6d3c149603b9c15d3c460dff317455df1766 Author: Ben Dooks Date: Wed Jul 23 21:31:37 2008 -0700 fb: add support for the ILI9320 video display controller Provide support for the ILI9320 display controller chip which is found in many LCD displays. Included with this is support for an example LCD using this chip, the VGG2432A4. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05254190dd1a4751284f4a51efb70fcc16c45a4 Author: Ben Dooks Date: Wed Jul 23 21:31:37 2008 -0700 sm501: fixup allocation code to be 64bit resource compliant As pointed out by Andrew Morton, we have a problem when setting the 64bit resources option. Alter the allocation routines to remove the need to use the start and end fields, use the proper HEAD_PANEL/HEAD_CRT and update the comments. Note, we also fix the bug where we failed to check the size of the CRT memory allocation. [akpm@linux-foundation.org: cleanup] Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b599fb2fc23386dfd2965bf7d10b2b0f628b208 Author: Ben Dooks Date: Wed Jul 23 21:31:36 2008 -0700 sm501: restructure init to allow only 1 fb on an SM501 Add the ability to register only one of the two possible main framebuffer devices on the SM501 by passing platform data for only the framebuffer that you are interested in having. As a side note, we update the init sequence to commonise the code that is executed twice, and fix a pair of missing frees that we didn't do on framebuffer exit, such as freeing the fb's cmap. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 206c5d69d0540024faffd423fc703f1e457332d7 Author: Ben Dooks Date: Wed Jul 23 21:31:35 2008 -0700 sm501: add inversion controls for VBIASEN and FPEN Add flags to allow the driver to invert the sense of both VBIASEN and FPEN signals comming from the SM501. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 968910bd03b226ed410d092c2da59dffe5bfe8de Author: Nicolas Ferre Date: Wed Jul 23 21:31:34 2008 -0700 atmel_lcdfb: avoid division by zero Avoid division by zero in atmel_lcdfb_check_var() function. If pixclock is not specified while passing a var structure in the check_var() funtion, a division by zero occurs (when translating pixclock to KHz). This patch adds a checking of this value and try to choose a video mode in the modelist. The mode found in the probe function in added to the modelist. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84c41ce83e9b2987ccef352f28ba0055b26c8f8e Author: Krzysztof Helt Date: Wed Jul 23 21:31:34 2008 -0700 skeletonfb: update to correct platform driver usage It updates skeletonfb to new platform driver API. The skeletonfb is templates for creating new drivers. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a882ef47c7156e8cc47e72f2aa396f2514569c48 Author: Akinobu Mita Date: Wed Jul 23 21:31:33 2008 -0700 aty: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c554ff9554d67b4db0fb5e2f78c7cb4b2e0d627 Author: Ville Syrjala Date: Wed Jul 23 21:31:32 2008 -0700 atyfb: fix a cast The argument to iounmap() is void __iomem *. Fix the cast. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89c69d2b8eb3ee2338fded9d70a0795b4712f112 Author: Ville Syrjala Date: Wed Jul 23 21:31:32 2008 -0700 atyfb: report probe errors Properly propagate errors to the probe function. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfafc15994ac2a2377b32b5a65cf62a90a80d49 Author: Ville Syrjala Date: Wed Jul 23 21:31:31 2008 -0700 atyfb: use a PCI device ID table Convert atyfb to use a PCI device ID table. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3880b0b5297ae9bf58a7662d13a46b5d5f0b2af6 Author: Ville Syrjala Date: Wed Jul 23 21:31:30 2008 -0700 atyfb: correct_chipset() can fail Atari probe code relies on correct_chipset() failing if the device is not a mach64 GX/CX. aty_chips[] array would be indexed with -1 in that case. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50cd0221c9062ec5dac8a3620f36f568df052ac1 Author: Olaf Hering Date: Wed Jul 23 21:31:29 2008 -0700 atyfb: remove dead code Remove dead code. This will slightly change the behaviour of the driver on systems that support backlight control. Previously they would just turn the backlight off using the backlight control but now the generic LCD code will also turn off the LCD using the POWER_MANAGEMENT register. Signed-off-by: Olaf Hering Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7572a1ea034a8fc45e57de28cc7573264975532a Author: Ville Syrjala Date: Wed Jul 23 21:31:28 2008 -0700 fbdev: xoffset, yoffset and yres are unsigned The xoffset, yoffset and yres members of fb_var_screeninfo are __u32. Make them unsigned in the code as well. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43a3abc6aca8505e708508e2c7c2f99a7f8f820b Author: Ville Syrjala Date: Wed Jul 23 21:31:27 2008 -0700 fbdev: width and height are unsigned The width and height members of fb_var_screeninfo are __u32. The code initializes them to -1 which seems wrong, and 0 seems like an equally good default value. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2870086e9f2032bdd95b8da9bd187e3c16fc6d49 Author: Krzysztof Helt Date: Wed Jul 23 21:31:26 2008 -0700 hgafb: convert to new platform driver API Convert the hgafb driver to use new platform driver API. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9689 Signed-off-by: Krzysztof Helt Cc: Anton Vorontsov Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b604838ac6d233fd6bffc0e758a818133a01ff22 Author: Frans Pop Date: Wed Jul 23 21:31:26 2008 -0700 vfb: only enable if explicitly requested when compiled in The Kconfig help for the vfb driver says: Do NOT enable it for normal systems! To protect the innocent, it has to be enabled explicitly at boot time using the kernel option `video=vfb:'. This change lets the code match the description. Support for vfb:disable is kept for backwards compatibility; vfb:off works because it is tested at a higher level. Note: any undefined option (e.g. vfb:enable) will also enable this driver. The relevant code has been unchanged since before the migration to git (2.6.12). This patch fixes bugzilla #9310 and was the root cause behind http://lkml.org/lkml/2008/5/31/220. Signed-off-by: Frans Pop Cc: Antonino A. Daplas Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfb4f5d1750e05f43902197713c50c29e7dfbc99 Author: Magnus Damm Date: Wed Jul 23 21:31:24 2008 -0700 fbdev: SuperH Mobile LCDC Driver This is the SuperH Mobile LCDC frame buffer driver V2, adding support for the LCDC block found in SuperH Mobile processors. The hardware supports up to two LCD panels per LCDC block, and both RGB and SYS interfaces can be used to hook up LCD panels/modules. The device driver is a regular platform driver, so LCD configuration and board specific hooks are passed to the driver using platform data. LCD modules using SYS interface often require special configuration using the SYS bus, and to solve this cleanly the driver provides SYS interface operations to the board code. Tested on sh7723 and sh7722 processors with a SYS16A QVGA panel and WVGA panels using RGB16 and RGB18 interfaces. Signed-off-by: Magnus Damm Acked-by: Paul Mundt Reviewed-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2c12155cf05bf3e25eeae5711beffc634505400 Author: Krzysztof Helt Date: Wed Jul 23 21:31:24 2008 -0700 tdfxfb: remove ypan checks done by a higher layer These checks and assignments are done by a higher layer so remove them from the driver. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98219374d9ed2d257e56e8e1fcd9d16a083397bb Author: Krzysztof Helt Date: Wed Jul 23 21:31:23 2008 -0700 vga16fb: source code improvement Use constants and functions from the vga.h file. Also add module description. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea9014bcacf236124d5e0ff971838049a98456cb Author: Krzysztof Helt Date: Wed Jul 23 21:31:22 2008 -0700 tdfxfb: add mode_option module parameter Small step toward unification of mode setting parameter. This is required to fix the Bugzilla's bug 9847 Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a90ed92ed852a3d4b8a6f20b10bba771997f5ede Author: Krzysztof Helt Date: Wed Jul 23 21:31:22 2008 -0700 tridentfb: documentation update Make the tridentfb documentation closer to current state of the tridentfb driver. Fix also some formatting. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012e26096b36bfeacaba2c9e31eaf32d6faa6567 Author: Krzysztof Helt Date: Wed Jul 23 21:31:21 2008 -0700 uvesafb: change mode parameter to mode_option Make more drivers use the "mode_option" parameter. This one is quite new so drop the old "mode" parameter before someone starts using it seriously. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49a1d28f57adc9cb064572f0373e26363b0a412f Author: Krzysztof Helt Date: Wed Jul 23 21:31:21 2008 -0700 fbcon: make logo_height a local variable Make logo_height variable local in the only function it is used. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d22579b837358cbef12ccca5adaf7e93ae09ab7a Author: Nicolas Ferre Date: Wed Jul 23 21:31:20 2008 -0700 atmel_lcdfb: FIFO underflow management Manage atmel_lcdfb FIFO underflow Resetting the LCD and DMA allows to fix screen shifting after a FIFO underflow. It follows reset sequence from errata "LCD Screen Shifting After a Reset". Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77a6e7abb09de0e85a15e2fe42c21ffc59847759 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:19 2008 -0700 vga16fb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0face9d4024bf942096297937759bdf0e1aeac Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:18 2008 -0700 atafb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Tim Schmielau Cc: Krzysztof Helt Cc: Antonino Daplas Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 091c82c01295719d47b89b38d24e41ad2066ead8 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:18 2008 -0700 amifb: test virtual screen range before subtraction on unsigned dx and dy are u32's, so the test should occur before the subtraction Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Antonino Daplas Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 816664f88707b03fde24fb09759d569ed42406cb Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Jul 23 21:31:17 2008 -0700 aty128fb: test below 0 on unsigned pll->post_divider pll->post_divider is unsigned, so the test fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Benjamin Herrenschmidt Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcea8030b3c2e71ad89f080901c63a04f07881c8 Author: Tony Breeds Date: Wed Jul 23 21:31:16 2008 -0700 drivers/video/aty/radeon_base.c: notify user if sysfs_create_bin_file() failed Current kernel builds warn about: drivers/video/aty/radeon_base.c: In function 'radeonfb_pci_register': drivers/video/aty/radeon_base.c:2334: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result drivers/video/aty/radeon_base.c:2336: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result Do minimal checking of these functions and issue a warning if either fails. They don't seem to be critical.. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Tony Breeds Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7951ac91c7d45b61f54f1cdabc24b52b40785de6 Author: Matthias Kaehlcke Date: Wed Jul 23 21:31:16 2008 -0700 sa1100fb: convert ctrlr_sem in a mutex The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b91dbce56a8dbf312f6255d5121b295553d2b4db Author: Matthias Kaehlcke Date: Wed Jul 23 21:31:14 2008 -0700 pxafb: convert ctrlr_sem in a mutex The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Daniel Mack Cc: Eric Miao Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14aefd1b49ff3bd13caa37fb06bd53488d5d1486 Author: Adrian Bunk Date: Wed Jul 23 21:31:12 2008 -0700 video/sis/: remove compat code This patch removes compat code for older kernel versions. Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b9cf3aa6b1e934807b40b4d478d7e11f7c43f55 Author: Roland Kletzing Date: Wed Jul 23 21:31:10 2008 -0700 mdacon messing up default vc's - set default to vc13-16 again mdacon incorrectly detects MDA hardware on systems without such graphics card. One may load this module by chance, for example when doing some systematical module-testing, and if there is no Monochrome Display Adapter attached , module init renders vc1-16 completely unusable. I and others have run into this more than once. see [Bug 224522 - modprobe mdacon freezes machine -> https://bugzilla.novell.com/show_bug.cgi?id=224522 ] for example Apparently proper MDA detection seems to be broken for a long time - seems to be related to those #ifdef TEST_MDA_B statements added by Edward Betts. this commit back in 2002 made things even worse : http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=c72757b49c88914433244757fb4967fc63546685 It changed default vc allocation from 13-16 to 1-16 for no apparent reason (!?) , and with that (and without X), mdacon grabs the vc you`re currently sitting on and locks you out. this is from Kconfig : >config MDA_CONSOLE > depends on !M68K && !PARISC && ISA > tristate "MDA text console (dual-headed) (EXPERIMENTAL)" > ---help--- > Say Y here if you have an old MDA or monochrome Hercules graphics > adapter in your system acting as a second head ( = video card). You > will then be able to use two monitors with your Linux system. Do not > say Y here if your MDA card is the primary card in your system; the > normal VGA driver will handle it. As we can see mdacon is just meant as an additional driver for dual-head setup, and since kernel 2.4.36 still defaults to vc13-16 , setting the default back to that value again shouldn`t do any harm. Hereby i'm reverting that change, setting default back to to vc13-16 again. Besides the fact that mdacon may be rarely or never be used these days and could perhaps put to trash anyway (pre-dinosaur hardware!), indeed this is not a real solution, but at least it removes the unfortunate side-effect of messing up the vc you`re working on. Signed-off-by: Roland Kletzing Cc: James Simmons Cc: "Antonino A. Daplas" Cc: Tim Schmielau Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 663b0e15877293451bdfea619db45eafae9dec54 Author: Krzysztof Helt Date: Wed Jul 23 21:31:09 2008 -0700 tridentfb: remove warning message that cyblafb driver should be used The tridentfb driver should handle now all chipsets handled by the cyblafb driver. Remove the message which claims that support will be removed. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0292be4a382957016e8b574dc292779cfb49e029 Author: Krzysztof Helt Date: Wed Jul 23 21:31:08 2008 -0700 tridentfb: add imageblit acceleration for Blade3D family Add imageblit acceleration for the Blade3D family of cores. The code is based on code from the cyblafb driver. It is a step toward assimilating back the cyblafb driver into the tridentfb driver. The cyblafb driver handles a subfamily of the Trident Blade3d cores. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6280fd4f9c2683a4d2f096320dd74ded4e5106ad Author: Krzysztof Helt Date: Wed Jul 23 21:31:08 2008 -0700 tridentfb: Blade3D clock fixes This patch fixes following problems: - does not allow the m parameter to reach 0 as it locks the graphics core (power cycle needed) - for the newer chips (with new clock registers) does not allow of n / m ratio below 4 as it gives unstable image on the Blade3D core - extend shift parameter (k) range to 2 for the newer chips to cope with the n /m >= 4 limit at low resolution (bandwidth) modes - prefer modes with higher n / m ratio (higher k values) Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f330c4b1961d730ef15ac184e4b7f1c25847d0ae Author: Krzysztof Helt Date: Wed Jul 23 21:31:07 2008 -0700 tridentfb: y-panning fixes The Trident cards uses only 20-bit address of screen start in double words. This allows addressing for only 4MB of video memory so check this. Also remove some redundant checks and assignments. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4af1798d768ab2f12ab623e21ad68dc8c248005 Author: Krzysztof Helt Date: Wed Jul 23 21:31:06 2008 -0700 tridentfb: fix 224 color logo at 8 bpp Fix depth setting for 8 bpp mode. The nice 224 color logo is not displayed in 8 bpp depth without this fix. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13b0de49f52ec8638b3e3e59192a959b35214d9e Author: Krzysztof Helt Date: Wed Jul 23 21:31:06 2008 -0700 tridentfb: fix console freeze when switching from X11 This patch fixes two problems when acceleration is enabled: - console switch from the Xorg locks up the computer because the Xorg code locks some registers and disables the mmio mode, so reenable these in the tridentfb_set_par() and enable_mmio() - blacklist the Image975 chipset from setting PCI burst mode. This helps with random lock ups of the framebuffer on this chip. The same fix is probably needed for the Xorg as well. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cf138457af20b0ef79d8c249381927718ca1417 Author: Krzysztof Helt Date: Wed Jul 23 21:31:05 2008 -0700 tridentfb: source code improvements This patch contains general source code improvments: - more simple functions are inline - removes some meaningless output and the VERSION string as it is no use - eng_par is moved into the tridentfb_par - removed small section of code for CyberBladeXPAi1 which is maybe right for only one resolution and refresh rate and is probably redundant now - other minor improvements Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01a2d9ed85c945fc8a672622780533a1a0b7caf5 Author: Krzysztof Helt Date: Wed Jul 23 21:31:04 2008 -0700 tridentfb: acceleration constants change This patch replaces deprecated constant FB_ACCELF_TEXT with FBINFO_HWACCEL_DISABLED and adds constants for Trident families of accelerators. The FBINFO_HWACCEL_DISABLED is correctly used so noaccel parameter works now. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34dec24317d6824b7db172bb0072b909a9c376f2 Author: Krzysztof Helt Date: Wed Jul 23 21:31:04 2008 -0700 tridentfb: various pixclock and timing improvements This patch fixes few issues related to timings and pixclock generation: - disallow the pixclocks with numerator lower than double denominator. This fixes display instability for some modes. - choose the pixelclock with the highest numerator and denominator values. This improve image quality and fixes display instability for some modes. - make interlaced modes work. - set synchronization pulses polarization correctly. - horizontal synchronization timing are now the same as generated by X. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c86a0c26fbe8ea218f7a267645679fb78aba8a3 Author: Krzysztof Helt Date: Wed Jul 23 21:31:03 2008 -0700 tridentfb: acceleration bug fixes This patch fixes two problems when acceleration is enabled: - bit for bitblt direction is corrected so scrolling down works as expected on 3DImage chips - initialization of acceleration is done later this helps with initial console malfuntion (on Blade3D chips) well documented here: http://marc.info/?l=linux-fbdev-users&m=111386953124478&w=2 Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49b1f4b44bcdc47a10d2b354b269305043ef2a32 Author: Krzysztof Helt Date: Wed Jul 23 21:31:02 2008 -0700 tridentfb: acceleration code improvements This patch brings various acceleration improvements: - set copyarea/fillrect for non-accelerated framebuffer (fix) - remove 15 bpp depth handling to simplify code as it hardly works (15 bpp handling was obviously missing in some switches) - add fb_sync call and move waiting before accelerated function to make acceleration more asynchronous to cpu (few % of speed improvement) - add cpu_relax() call in waiting loops - make longer register names and name more registers - move registers' definition to header - general code improvements (shortening, simplifying) Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcac2d5fe36238dcfc955b49f9db10ad3ae3e53c Author: Krzysztof Helt Date: Wed Jul 23 21:31:01 2008 -0700 tridentfb: add acceleration for TGUI families This patch adds acceleration for TGUI 9440 and 96xx chips. These chips requires line length to be power of 2, so this is also changed. It also moves the troubling enable_mmio() function to its final destination. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f019e54244fef0ad927ce5501927d9033492de Author: Krzysztof Helt Date: Wed Jul 23 21:31:01 2008 -0700 tridentfb: fix hi-color modes for TGUI 9440 The TGUI 9440 requires doubling clock for 16bpp (hi-color) modes. The patch also moves back enable_mmio() call to the right position. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65e93e038c8a6eb65b6907d6aed22a8ff1029d3a Author: Krzysztof Helt Date: Wed Jul 23 21:31:00 2008 -0700 tridentfb: preserve memory type settings Do not overwrite bits which contain memory type settings. It removes noise pixels ("snow") on Blade3D and 3DImage chips. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a933feaf13f705e6c798d87efe6a9d758b3ca0 Author: Krzysztof Helt Date: Wed Jul 23 21:31:00 2008 -0700 tridentfb: improve check_var function Do some additional checks (like pixelclock versus ramdac speed) to eliminate modes which do not work. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0aa8ab2f28d8985daa79ecab51970376e17157 Author: Krzysztof Helt Date: Wed Jul 23 21:30:59 2008 -0700 tridentfb: fix unitialized pseudo_palette Initialize the pseudo_palette pointer properly. This fixes crash when 16bpp or 32bpp mode is selected. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0d922562d56073f147a4de2983bee499dd2a10e Author: Krzysztof Helt Date: Wed Jul 23 21:30:58 2008 -0700 tridentfb: add TGUI 9440 support Add support for TGUI 9440 chip. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e73a47f094a919e2edeaa88e840cd0400adc423 Author: Krzysztof Helt Date: Wed Jul 23 21:30:58 2008 -0700 tridentfb: improved register values on TGUI 9680 Improved values for some registers after Xorg Trident driver. The main problem was that values set by BIOS have been ignored. This patch completely remove random pixels ("snow") on the TGUI 9680 and 9440 (not supported yet by the driver). It does not help with the "snow" on 3DImage and Blade3D cards. There is also small improvement in timing calculations (hblank start and vblank start) Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3876ae8beb2c7c19e21279b9603b1244fcd744dd Author: Krzysztof Helt Date: Wed Jul 23 21:30:57 2008 -0700 tridentfb: improve probe function Add missing release of allocated fb_info structure and move enable_mmio() to fix error path. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bdf1035602abf0564d24a7447eea1c149c4bcb1 Author: Krzysztof Helt Date: Wed Jul 23 21:30:56 2008 -0700 tridentfb: fix clock settings for older Trident 96XX chips The Xorg code shows that Trident models 9660, 9680 and 9682 require a different clock setting method. Add the second clock setting method for older models. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1724fecabfed504a4cfb87319ad3b9d3a8baa92 Author: Krzysztof Helt Date: Wed Jul 23 21:30:56 2008 -0700 tridentfb: use mmio access for clock setting Use the mmio outb function instead of direct one. The mmio registers are already mapped (in the probe function). Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f762d23e607af786bba8ff4a18059f43950c0e8 Author: Krzysztof Helt Date: Wed Jul 23 21:30:55 2008 -0700 tridentfb: fix timing calculations Fix broken timings calculations. This patch helps with following problems: - no left part of screen visible (up to half of the screen) - monitor's frequencies are not the ones intended for selected modes - if mode with resoultion y > 1024 is selected at least once then all modes with y < 1024 are "out of sync" (no display) Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10172ed6dc4d40ff42bf5ce2dd2f65f401a93696 Author: Krzysztof Helt Date: Wed Jul 23 21:30:54 2008 -0700 tridentfb: make use of functions and constants from the vga.h Make use of functions and constants from the vga.h header to compact the code and make it more readable. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9cad04bcde00411976402eda726199ac13b29ca Author: Krzysztof Helt Date: Wed Jul 23 21:30:54 2008 -0700 tridentfb: move global acceleration hooks into structure This patch moves acceleration hooks into the tridentfb_par structure and removes global hooks. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0759a5fbba12e0f2c9149d85bea1ec7df0178fd Author: Krzysztof Helt Date: Wed Jul 23 21:30:53 2008 -0700 tridentfb: convert is_blade and is_xp macros into functions This patch converts the is_blade() and is_xp() macros into local functions. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eed8e1ec8532a6cd10c8b27236bde023c52c56a Author: Krzysztof Helt Date: Wed Jul 23 21:30:53 2008 -0700 tridentfb: move global flat panel variable into structure This patch moves flat panel indicator into tridentfb_par structure and removes related global variables and macros. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122e8ad3cbf172043ea93f2db8e107fa9f9b0192 Author: Krzysztof Helt Date: Wed Jul 23 21:30:52 2008 -0700 tridentfb: move global chip_id into structure This patch moves the chip_id into tridentfb_par structure and removes global chip_id related constants. It also bumps version of the driver to 0.7.9 Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea8ee55c12f77cbbb6e067f91e0cd794baa692ab Author: Krzysztof Helt Date: Wed Jul 23 21:30:51 2008 -0700 tridentfb: move global pseudo palette into structure This patch moves pseudo palette int tridentfb_par structure and removes global default_var. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e09ed099d0169ac3a22b17cfeece0fa54a9e43eb Author: Krzysztof Helt Date: Wed Jul 23 21:30:51 2008 -0700 tridentfb: convert fb_info into allocated one This patch converts fb_info structure from global variable to allocatable one. The global default_par is moved into function variable. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 306fa6f60a2870b7a9827a64e1b45cd35a9549aa Author: Krzysztof Helt Date: Wed Jul 23 21:30:50 2008 -0700 tridentfb: replace macros with functions This patch replaces macros with static functions and puts tridentfb_par pointer as the first argument of these functions. These is a step toward multihead support. Additionally, bogus TRIDENT_MMIO define is removed as the driver supports graphics cards only through the mmio mode. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ece5f43b041b96fa2a05107a10a6b0ea0c03a3b Author: Sebastian Siewior Date: Wed Jul 23 21:30:49 2008 -0700 fbdev: add the carmine FB driver Basic FB driver for the carmine chip. The driver registers two FB devices for the two possible screens. The DRAM settings can be be switched via Kconfig (between eval board and custom). Signed-off-by: Sebastian Siewior Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cad4431fcd872a1b2efc093b0db6df943f5a898 Author: Yoichi Yuasa Date: Wed Jul 23 21:30:48 2008 -0700 rtc-vr41xx: add irq_set_freq() and irq_set_state() Implement the ioctls RTC_PIE_ON, RTC_PIE_OFF, RTC_IRQP_SET and RTC_IRQP_READ in the standard RTC way. Thanks Dave for noticing it. Signed-off-by: Yoichi Yuasa Cc: David Brownell Cc: Ralf Baechle Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e2a31da854dcf8324012a83a31b40bc11e52589 Author: David Brownell Date: Wed Jul 23 21:30:47 2008 -0700 rtc-cmos: avoid spurious irqs This fixes kernel http://bugzilla.kernel.org/show_bug.cgi?id=11112 (bogus RTC update IRQs reported) for rtc-cmos, in two ways: - When HPET is stealing the IRQs, use the first IRQ to grab the seconds counter which will be monitored (instead of using whatever was previously in that memory); - In sane IRQ handling modes, scrub out old IRQ status before enabling IRQs. That latter is done by tightening up IRQ handling for rtc-cmos everywhere, also ensuring that when HPET is used it's the only thing triggering IRQ reports to userspace; net object shrink. Also fix a bogus HPET message related to its RTC emulation. Signed-off-by: David Brownell Report-by: W Unruh Cc: Andrew Victor Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 449321b39f6c6ebfa15d6da24f134240bd51db29 Author: David Brownell Date: Wed Jul 23 21:30:46 2008 -0700 rtc-at91rm9200: avoid spurious irqs This fixes kernel http://bugzilla.kernel.org/show_bug.cgi?id=11112 (bogus RTC update IRQs reported) for rtc-at91rm9200 by scrubbing old IRQ status before enabling IRQs. It also removes nonfunctional periodic IRQ support from this driver; only update IRQs are reported, or provided by the hardware. I suspect some other RTCs probably have versions of #11112; it's easy to overlook, since most non-RTC drivers don't care about spurious IRQs: they're not reported to userspace. Signed-off-by: David Brownell Report-by: W Unruh Cc: Andrew Victor Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 773be7ee97c11fbb6b8a912a58b268dbe8a6a3fe Author: Ben Dooks Date: Wed Jul 23 21:30:45 2008 -0700 rtc: rtc-s3c: update IRQ handling The rtc-s3c.c driver has been using its own ioctl() handling to deal with alarm and periodic interrupts to handle what should now be done with the rtc core code. Change to using the .irq_set_freq and .irq_set_state driver entries and remove the .ioctl handling. Signed-off-by: Ben Dooks Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd0c5c40b64ef9fd94fb8382dade2fd28f2b935 Author: Ben Dooks Date: Wed Jul 23 21:30:44 2008 -0700 rtc: rtc-s3c: add __devexit and __devinit markers Add the relevant __devinit and __devexit attributes to the rtc-s3c driver. Signed-off-by: Ben Dooks Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35d3fdd5f304c06654c940921fc045c60df34693 Author: David Brownell Date: Wed Jul 23 21:30:43 2008 -0700 rtc-cmos: improve HPET IRQ glue Resolve http://bugzilla.kernel.org/show_bug.cgi?id=11051 and other bugs related to the way the HPET glue code in rtc-cmos was incomplete and inconsistent: * Switch the approach so that the basic driver code flow isn't changed by having HPET ... instead, just have HPET shadow the RTC_CONTROL irq enables and RTC_FREQ_SELECT data. It's only coping with IRQ thievery, after all. * Do that consistently (!!) to avoid problems when the HPET code is out of sync with the real RTC intent. Examples include: - cmos_procfs(), which now reports correct data - cmos_irq_set_state() ... also removing the previous PIE_{ON,OFF} ioctl support so only one code path manages "periodic" IRQs - cmos_do_shutdown() ... currently a "just in case" change. - cmos_suspend() and cmos_resume() ... also handling a bug that was specific to HPET's IRQ thievery, where the alarm wasn't disabled after waking the system * Always call that HPET code under the RTC spinlock (it doesn't do its own locking) Also clean up the HPET glue: * Add some comments explaining what's going on. * Switch to having just one #ifdef for the HPET glue, and inline functions (not #defines) to avoid some compiler warnings. * Have the probe message also report when HPET IRQs are involved This still leaves various holes in the HPET glue, like the emulated update IRQs being out of sync with the RTC, alarms never using day or month matches, and many extra IRQs (at 64 Hz). [akpm@linux-foundation.org: fix build] Signed-off-by: David Brownell Cc: Tomas Janousek Cc: Bernhard Walle Cc: Carlos R. Mafra Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c68d07b2da54c941bb36c9d6d35fe8f263ee10ef Author: Carlos R. Mafra Date: Wed Jul 23 21:30:40 2008 -0700 rtc: remove and clarify unneeded externs When CONFIG_HPET_EMULATE_RTC is defined the external declaration of hpet_rtc_interrupt is redundant due to the inclusion of hpet.h. When !CONFIG_HPET_EMULATE_RTC we make it clear that hpet_rtc_interrupt is not used by defining it to return zero. Signed-off-by: Carlos R. Mafra Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02bb584f3b1cfc8188522a4d2c8881b65073a4f1 Author: Wolfram Sang Date: Wed Jul 23 21:30:39 2008 -0700 rtc: convert the PCF8583 driver to the new I2C style framework with device_ids Convert the PCF8583 driver to the new I2C style framework with device_ids Signed-off-by: Juergen Beisert Signed-off-by: Wolfram Sang Signed-off-by: Alessandro Zummo Cc: David Brownell Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71fc822455ccb63a66be0b6e97a415aceb0062c6 Author: David Brownell Date: Wed Jul 23 21:30:38 2008 -0700 rtc: rtc-omap footprint shrinkage Shrink the runtime footprint of the OMAP1 RTC driver a bunch by removing some old hacks and switching to platform_driver_probe(). Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3de851a445123f24ad8ece18662014b5e8a8b4e Author: David Brownell Date: Wed Jul 23 21:30:37 2008 -0700 rtc: BCD codeshrink This updates to define the key routines as constant functions, which the macros will then call. Newer code can now call bcd2bin() instead of SCREAMING BCD2BIN() TO THE FOUR WINDS. This lets each driver shrink their codespace by using N function calls to a single (global) copy of those routines, instead of N inlined copies of these functions per driver. These routines aren't used in speed-critical code. Almost all callers are in the RTC framework. Typical per-driver savings is near 300 bytes. Signed-off-by: David Brownell Acked-by: Adrian Bunk Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53e84b672c1a8190af2b376c35c7a39cf1214f59 Author: David Brownell Date: Wed Jul 23 21:30:36 2008 -0700 rtc: ds1305/ds1306 driver Support the Dallas/Maxim DS1305 and DS1306 RTC chips. These use SPI, and support alarms, NVRAM, and a trickle charger for use when their backup power supply is a supercap or rechargeable cell. This basic driver doesn't yet support suspend/resume or wakealarms. Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fc2c767b06067b417c565c4e75731e68ed41fd8 Author: Kim B. Heino Date: Wed Jul 23 21:30:34 2008 -0700 rtc: add support for ST M41T94 SPI RTC This patch adds kernel driver for M41T94 RTC chip connected via SPI. I've tested it on two different AT91-based hardwares. This is third revision of the patch: some comments made by Alessandro Zummo fixed. Revision two added support for century bit and fixes. Signed-off-by: Kim B. Heino Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ad31a575157147b43fa84ef1e21471661653878 Author: David Brownell Date: Wed Jul 23 21:30:33 2008 -0700 rtc: remove BKL for ioctl() Remove implicit use of BKL in ioctl() from the RTC framework. Instead, the rtc->ops_lock is used. That's the same lock that already protects the RTC operations when they're issued through the exported rtc_*() calls in drivers/rtc/interface.c ... making this a bugfix, not just a cleanup, since both ioctl calls and set_alarm() need to update IRQ enable flags and that implies a common lock (which RTC drivers as a rule do not provide on their own). A new comment at the declaration of "struct rtc_class_ops" summarizes current locking rules. It's not clear to me that the exceptions listed there should exist ... if not, those are pre-existing problems which can be fixed in a patch that doesn't relate to BKL removal. Signed-off-by: David Brownell Cc: Alan Cox Cc: Jonathan Corbet Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53f1b1433da7eac2607a4a0898a221a4485fd732 Author: Alan Cox Date: Wed Jul 23 21:30:32 2008 -0700 rtc: push the BKL down into the driver ioctl method For now just wrap the main logic, but this driver is a prime candidate for someone wanting to eliminate the lock entirely [lizf@cn.fujitsu.com: fix build failure] Signed-off-by: Alan Cox Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c228db0b30fa12d65ae7461ce29ed1f4da12c5b Author: Maciej W. Rozycki Date: Wed Jul 23 21:30:32 2008 -0700 rtc: m41t80: use pr_info() as appropriate Replace printk(KERN_INFO ...) calls with appropriate pr_info(...) equivalents. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35aa64f3a117a16c466f688f52ac3847b3b572e8 Author: Maciej W. Rozycki Date: Wed Jul 23 21:30:29 2008 -0700 rtc: m41t80: sort header inclusions for readability Sort the header inclusions for readability. No functional changes. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa55ddf340c9fa3f303ee16bbf35887e42c50304 Author: Ian Kent Date: Wed Jul 23 21:30:29 2008 -0700 autofs4: remove unused ioctls The ioctls AUTOFS_IOC_TOGGLEREGHOST and AUTOFS_IOC_ASKREGHOST were added several years ago but what they were intended for has never been implemented (as far as I'm aware noone uses them) so remove them. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06a3598552dc3b2b30eb18bd53bbac2a901489d7 Author: Ian Kent Date: Wed Jul 23 21:30:28 2008 -0700 autofs4: reorganize expire pending wait function calls This patch re-orgnirzes the checking for and waiting on active expires and elininates redundant checks. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec6e8c7d3f9073336ec7b2eed3fcda6f922087c3 Author: Ian Kent Date: Wed Jul 23 21:30:28 2008 -0700 autofs4: fix direct mount pending expire race - correction Appologies, somehow I seem to have sent an out dated version of this patch. Here is an additional patch that brings the patch up to date. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e60a9ab5f5d314735467752f623072f5b75157a Author: Ian Kent Date: Wed Jul 23 21:30:27 2008 -0700 autofs4: fix direct mount pending expire race For direct and offset type mounts that are covered by another mount we cannot check the AUTOFS_INF_EXPIRING flag during a path walk which leads to lookups walking into an expiring mount while it is being expired. For example, for the direct multi-mount map entry with a couple of offsets: /race/mm1 / :/ /om1 :/ /om2 :/ an autofs trigger mount is mounted on /race/mm1 and when accessed it is over mounted and trigger mounts made for /race/mm1/om1 and /race/mm1/om2. So it isn't possible for path walks to see the expiring flag at all and they happily walk into the file system while it is expiring. When expiring these mounts follow_down() must stop at the autofs mount and all processes must block in the ->follow_link() method (except the daemon) until the expire is complete. This is done by decrementing the d_mounted field of the autofs trigger mount root dentry until the expire is completed. In ->follow_link() all processes wait on the expire and the mount following is completed for the daemon until the expire is complete. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97e7449a7ad883bf9f516fc970778d75999c7843 Author: Ian Kent Date: Wed Jul 23 21:30:26 2008 -0700 autofs4: fix indirect mount pending expire race The selection of a dentry for expiration and the setting of the AUTOFS_INF_EXPIRING flag isn't done atomically which can lead to lookups walking into an expiring mount. What happens is that an expire is initiated by the daemon and a dentry is selected for expire but, since there is no lock held between the selection and setting of the expiring flag, a process may find the flag clear and continue walking into the mount tree at the same time the daemon attempts the expire it. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26e81b3142f1ba497d4cd0365c13661684b784ce Author: Ian Kent Date: Wed Jul 23 21:30:25 2008 -0700 autofs4: fix pending checks There are two cases for which a dentry that has a pending mount request does not wait for completion. One is via autofs4_revalidate() and the other via autofs4_follow_link(). In revalidate, after the mount point directory is created, but before the mount is done, the check in try_to_fill_dentry() can can fail to send the dentry to the wait queue since the dentry is positive and the lookup flags may contain only LOOKUP_FOLLOW. Although we don't trigger a mount for the LOOKUP_FOLLOW flag, if ther's one pending we might as well wait and use the mounted dentry for the lookup. In autofs4_follow_link() the dentry is not checked to see if it is pending so it may fail to call try_to_fill_dentry() and not wait for mount completion. A dentry that is pending must always be sent to the wait queue. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff9cd499d6258952385cb2f12e9a3c0908fd5786 Author: Ian Kent Date: Wed Jul 23 21:30:24 2008 -0700 autofs4: cleanup redundant readir code The mount triggering functionality of readdir and related functions is no longer used (and is quite broken as well). The unused portions have been removed. Signed-off-by: Ian Kent Reviewed-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c72305b5472522299bb6f45b736080128eb1c822 Author: Ian Kent Date: Wed Jul 23 21:30:23 2008 -0700 autofs4: indirect dentry must almost always be positive We have been seeing mount requests comming to the automount daemon for keys of the form "/" which are lookups for invalid map keys. But we can check for this in the kernel module and return a fail immediately, without having to send a request to the daemon. It is possible to recognise these requests are invalid based on whether the request dentry is negative and its relation to the autofs file system root. For example, given the indirect multi-mount map entry: idm1 \ /mm1 :/ /mm2 :/ For a request to mount idm1, IS_ROOT((idm1)->d_parent) will be always be true and the dentry may be negative. But directories idm1/mm1 and idm1/mm2 will always be created as part of the mount request for idm1. So any mount request within idm1 itself must have a positive dentry otherwise the map key is invalid. In version 4 these multi-mount entries are all mounted and umounted as a single request and in version 5 the directories idm1/mm1 and idm1/mm2 are created and an autofs fs mounted on them to act as a mount trigger so the above is also true. This also holds true for the autofs version 4 pseudo direct mount feature. When this feature is used without the "--ghost" option automount(8) will create internal submounts as we go down the map key paths which are essentially normal indirect mounts for which the above holds. If the "--ghost" option is given the directories for map keys are created at daemon startup so valid map entries correspond to postive dentries in the autofs fs. autofs version 5 direct mount maps are similar except that the IS_ROOT check is not needed. This has been addressed in a previous patch tittled "autofs4 - detect invalid direct mount requests". For example, given the direct multi-mount map entry: /test/dm1 \ /mm1 :/ /mm2 :/ An autofs fs is mounted on /test/dm1 as a trigger mount and when a mount is triggered for /test/dm1, the multi-mount offset directories /test/dm1/mm1 and /test/dm1/mm2 are created and an autofs fs is mounted on them to act as mount triggers. So valid direct mount requests must always have a positive dentry if they correspond to a valid map entry. Signed-off-by: Ian Kent Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3b176796b0e53fd26fce86847231542eb0d198 Author: Ian Kent Date: Wed Jul 23 21:30:22 2008 -0700 autofs4: detect invalid direct mount requests autofs v5 direct and offset mounts within an autofs filesystem are triggered by existing autofs triger mounts so the mount point dentry must be positive. If the mount point dentry is negative then the trigger doesn't exist so we can return fail immediately. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 296f7bf78bc5c7a4d772aea580ce800d14040d1a Author: Ian Kent Date: Wed Jul 23 21:30:21 2008 -0700 autofs4: fix waitq memory leak If an autofs mount becomes catatonic before autofs4_wait_release() is called the wait queue counter will not be decremented down to zero and the entry will never be freed. There are also races decrementing the wait counter in the wait release function. To deal with this the counter needs to be updated while holding the wait queue mutex and waiters need to be woken up unconditionally when the wait is removed from the queue to ensure we eventually free the wait. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e64be33ccaceaca67c84237dff8805b861398eab Author: Ian Kent Date: Wed Jul 23 21:30:20 2008 -0700 autofs4: check kernel communication pipe is valid for write It is possible for an autofs mount to become catatonic (and for the daemon communication pipe to become NULL) after a wait has been initiallized but before the request has been sent to the daemon. We need to check for this before sending the request packet. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c7da02615bebcaf89f15a8d055922f515160b8 Author: Ian Kent Date: Wed Jul 23 21:30:19 2008 -0700 autofs4: add missing kfree It see that the patch tittled "autofs4 - fix pending mount race" is missing a change that I had recently made. It's missing a kfree for the case mutex_lock_interruptible() fails to aquire the wait queue mutex. Signed-off-by: Ian Kent Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1362fe92f1bde687b3a9e93d6b8d105d0a84f74 Author: Ian Kent Date: Wed Jul 23 21:30:19 2008 -0700 autofs4: fix pending mount race Close a race between a pending mount that is about to finish and a new lookup for the same directory. Process P1 triggers a mount of directory foo. It sets DCACHE_AUTOFS_PENDING in the ->lookup routine, creates a waitq entry for 'foo', and calls out to the daemon to perform the mount. The autofs daemon will then create the directory 'foo', using a new dentry that will be hashed in the dcache. Before the mount completes, another process, P2, tries to walk into the 'foo' directory. The vfs path walking code finds an entry for 'foo' and calls the revalidate method. Revalidate finds that the entry is not PENDING (because PENDING was never set on the dentry created by the mkdir), but it does find the directory is empty. Revalidate calls try_to_fill_dentry, which sets the PENDING flag and then calls into the autofs4 wait code to trigger or wait for a mount of 'foo'. The wait code finds the entry for 'foo' and goes to sleep waiting for the completion of the mount. Yet another process, P3, tries to walk into the 'foo' directory. This process again finds a dentry in the dcache for 'foo', and calls into the autofs revalidate code. The revalidate code finds that the PENDING flag is set, and so calls try_to_fill_dentry. a) try_to_fill_dentry sets the PENDING flag redundantly for this dentry, then calls into the autofs4 wait code. b) the autofs4 wait code takes the waitq mutex and searches for an entry for 'foo' Between a and b, P1 is woken up because the mount completed. P1 takes the wait queue mutex, clears the PENDING flag from the dentry, and removes the waitqueue entry for 'foo' from the list. When it releases the waitq mutex, P3 (eventually) acquires it. At this time, it looks for an existing waitq for 'foo', finds none, and so creates a new one and calls out to the daemon to mount the 'foo' directory. Now, the reason that three processes are required to trigger this race is that, because the PENDING flag is not set on the dentry created by mkdir, the window for the race would be way to slim for it to ever occur. Basically, between the testing of d_mountpoint(dentry) and the taking of the waitq mutex, the mount would have to complete and the daemon would have to be woken up, and that in turn would have to wake up P1. This is simply impossible. Add the third process, though, and it becomes slightly more likely. Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a11d4d0ee1ff284271f7265929d07ea4a1168a6 Author: Ian Kent Date: Wed Jul 23 21:30:17 2008 -0700 autofs4: fix waitq locking The autofs4_catatonic_mode() function accesses the wait queue without any locking but can be called at any time. This could lead to a possible double free of the name field of the wait and a double fput of the daemon communication pipe or an fput of a NULL file pointer. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70b52a0a5005ce6a0ceec56e97222437a0ba7506 Author: Jeff Moyer Date: Wed Jul 23 21:30:16 2008 -0700 autofs4: use struct qstr in waitq.c The autofs_wait_queue already contains all of the fields of the struct qstr, so change it into a qstr. This patch, from Jeff Moyer, has been modified a liitle by myself. Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d5cb926fa0162b1e62f37c117cc7ce763cfcbb9 Author: Ian Kent Date: Wed Jul 23 21:30:15 2008 -0700 autofs4: use lookup intent flags to trigger mounts When an open(2) call is made on an autofs mount point directory that already exists and the O_DIRECTORY flag is not used the needed mount callback to the daemon is not done. This leads to the path walk continuing resulting in a callback to the daemon with an incorrect key. open(2) is called without O_DIRECTORY by the "find" utility but this should be handled properly anyway. This happens because autofs needs to use the lookup flags to decide when to callback to the daemon to perform a mount to prevent mount storms. For example, an autofs indirect mount map that has the "browse" option will have the mount point directories are pre-created and the stat(2) call made by a color ls against each directory will cause all these directories to be mounted. It is unfortunate we need to resort to this but mount maps can be quite large. Additionally, if a user manually umounts an autofs indirect mount the directory isn't removed which also leads to this situation. To resolve this autofs needs to use the lookup intent flags to enable it to make this decision. This patch adds this check and triggers a call back if any of the lookup intent flags are set as all these calls warrant a mount attempt be requested. I know that external VFS code which uses the lookup flags is something that the VFS would like to eliminate but I have no choice as I can't see any other way to do this. A VFS dentry or inode operation callback which returns the lookup "type" (requires a definition) would be sufficient. But this change is needed now and I'm not aware of the form that coming VFS changes will take so I'm not willing to propose anything along these lines. If anyone can provide an alternate method I would be happy to use it. [akpm@linux-foundation.org: fix build for concurrent VFS changes] Signed-off-by: Ian Kent Cc: Al Viro Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c432c2586a0811c7d0030d78f0993568bc889a6f Author: Ian Kent Date: Wed Jul 23 21:30:14 2008 -0700 autofs4: don't release directory mutex if called in oz_mode Since we now delay hash