openwrt/staging/blogic.git
17 years agoide: legacy PCI bus order probing fixes
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:11 +0000 (00:01 +0200)]
ide: legacy PCI bus order probing fixes

IDE PCI host drivers should register themselves with IDE core only when
IDE driver is built-in, otherwise (IDE driver is modular and thus IDE PCI
host drivers are also modular) the code has no effect and just complicates
the probing.

Fix it by adding new config option CONFIG_IDEPCI_PCIBUS (defined only when
needed and invisible to the user) and covering by #ifdef/#endif the code
in question.  It turned out that "ide=reverse" was silently accepted but did
nothing in case when IDE driver was modular, this is fixed now.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_proc_register_port()
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:11 +0000 (00:01 +0200)]
ide: add ide_proc_register_port()

* create_proc_ide_interfaces() tries to add /proc entries for every probed
  and initialized IDE port, replace it by ide_proc_register_port() which does
  it only for the given port (also rename destroy_proc_ide_interface() to
  ide_proc_unregister_port() for consistency)

* convert {create,destroy}_proc_ide_interface[s]() users to use new functions

* pmac driver depended on proc_ide_create() to add /proc port entries, fix it

* au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
  driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them

* there is now no need to add /proc entries for IDE ports in proc_ide_create()
  so don't do it

* proc_ide_create() needs now to be called before drivers are probed - fix it,
  while at it make proc_ide_create() create /proc "ide" directory

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add "initializing" argument to ide_register_hw()
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:10 +0000 (00:01 +0200)]
ide: add "initializing" argument to ide_register_hw()

Add "initializing" argument to ide_register_hw() and use it instead of ide.c
wide variable of the same name.  Update all users of ide_register_hw()
accordingly.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: cable detection fixes (take 2)
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:10 +0000 (00:01 +0200)]
ide: cable detection fixes (take 2)

Tejun's recent eighty_ninty_three() fix has inspired me to do more thorough
review of the cable detection code...

* print user-friendly warning about limiting the maximum transfer speed
  to UDMA33 (and the reason behind it) when 80-wire cable is not detected,
  also while at it cleanup eighty_ninty_three() a bit

* use eighty_ninty_three() in ide_ata66_check(), this actually fixes 3 bugs:
  - bit 14 (word 93 validity check) == 1 && bit 13 (80-wire cable test) == 1
    were used as 80-wire cable present test for CONFIG_IDEDMA_IVB=n case
    (please see FIXME comment in eighty_ninty_three() for more details)
  - CONFIG_IDEDMA_IVB=y/n cases were interchanged
  - check for SATA devices was missing

* remove private cable warnings from pdc_202xx{old,new} drivers now that core
  code provides this functionality (plus, in pdc202xx_new case the test could
  give false warnings for ATAPI devices because pdc202xx_new driver doesn't
  even support ATAPI DMA)

Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: move IDE settings handling to ide-proc.c
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:10 +0000 (00:01 +0200)]
ide: move IDE settings handling to ide-proc.c

* move
__ide_add_setting()
ide_add_setting()
__ide_remove_setting()
auto_remove_settings()
ide_find_setting_by_name()
ide_read_setting()
ide_write_setting()
set_xfer_rate()
ide_add_generic_settings()
ide_register_subdriver()
ide_unregister_subdriver()

  from ide.c to ide-proc.c

* set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it

* rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
  update device drivers to use new names

* add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
  and ide_add_generic_settings()

* make ide_find_setting_by_name(), ide_{read,write}_setting()
  and ide_{add,remove}_proc_entries() static

* cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
  also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc

* remove bogus comment from ide.h

* cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t

Besides saner code this patch results in the IDE core smaller by ~2 kB
(on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: split off ioctl handling from IDE settings (v2)
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:10 +0000 (00:01 +0200)]
ide: split off ioctl handling from IDE settings (v2)

* do write permission and min/max checks in ide_procset_t functions

* ide-disk.c: drive->id is always available so cleanup "multcount" setting
  accordingly

* ide-disk.c: "address" setting was incorrectly defined as type TYPE_INTA,
  fix it by using type TYPE_BYTE and updating ide_drive_t->adressing field,
  the bug didn't trigger because this IDE setting uses custom ->set function

* ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl

* ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl

* handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()
  instead of using IDE settings to deal with them

* remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl
  fields from ide_settings_t, also remove now unused TYPE_INTA handling

v2:
* add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: make /proc/ide/ optional
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:09 +0000 (00:01 +0200)]
ide: make /proc/ide/ optional

All important information/features should be already available through
sysfs and ioctl interfaces.

Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,
disabling it makes IDE driver ~5 kB smaller (on x86-32).

While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}()
and remove no longer needed #ifdefs.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: add ide_tune_dma() helper
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:09 +0000 (00:01 +0200)]
ide: add ide_tune_dma() helper

After reworking the code responsible for selecting the best DMA
transfer mode it is now possible to add generic ide_tune_dma() helper.

Convert some IDE PCI host drivers to use it (the ones left need more work).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: rework the code for selecting the best DMA transfer mode (v3)
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:08 +0000 (00:01 +0200)]
ide: rework the code for selecting the best DMA transfer mode (v3)

Depends on the "ide: fix UDMA/MWDMA/SWDMA masks" patch.

* add ide_hwif_t.udma_filter hook for filtering UDMA mask
  (use it in alim15x3, hpt366, siimage and serverworks drivers)
* add ide_max_dma_mode() for finding best DMA mode for the device
  (loosely based on some older libata-core.c code)
* convert ide_dma_speed() users to use ide_max_dma_mode()
* make ide_rate_filter() take "ide_drive_t *drive" as an argument instead
  of "u8 mode" and teach it to how to use UDMA mask to do filtering
* use ide_rate_filter() in hpt366 driver
* remove no longer needed ide_dma_speed() and *_ratemask()
* unexport eighty_ninty_three()

v2:
* rename ->filter_udma_mask to ->udma_filter
  [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]

v3:
* updated for scc_pata driver (fixes XFER_UDMA_6 filtering for user-space
  originated transfer mode change requests when 100MHz clock is used)

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: fix UDMA/MWDMA/SWDMA masks (v3)
Bartlomiej Zolnierkiewicz [Wed, 9 May 2007 22:01:07 +0000 (00:01 +0200)]
ide: fix UDMA/MWDMA/SWDMA masks (v3)

* use 0x00 instead of 0x80 to disable ->{ultra,mwdma,swdma}_mask
* add udma_mask field to ide_pci_device_t and use it to initialize
  ->ultra_mask in aec62xx, cmd64x, pdc202xx_{new,old} and piix drivers
* fix UDMA masks to match with chipset specific *_ratemask()
  (alim15x3, hpt366, serverworks and siimage drivers need UDMA mask
   filtering method - done in the next patch)

v2:
* piix: fix cable detection for 82801AA_1 and 82372FB_1
  [ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
* cmd64x: use hwif->cds->udma_mask
  [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]
* aec62xx: fix newly introduced bug - check DMA status not command register
  [ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]

v3:
* piix: use hwif->cds->udma_mask
  [ Suggested by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoDocumentation/i386/boot.txt: update and correct
H. Peter Anvin [Wed, 9 May 2007 03:37:02 +0000 (20:37 -0700)]
Documentation/i386/boot.txt: update and correct

In the process of rewriting the x86 setup code, I found a number of
inaccuracies and outdated recommendations in the boot protocol
documentation.  Revamp to make it more up to date.

In particular, the common use of the heap actually requires (slightly)
more than 4K of heap plus stack, which is the recommended amount in
the document; currently the code compensates by being smaller than
specified, but we can't assume that will be true forever.  Thus,
recommend that if we have a modern bzImage kernel, that the bootloader
maximizes the available space.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agorevert 'sched: redundant reschedule when set_user_nice() boosts a prio of a task...
Andrew Morton [Wed, 9 May 2007 03:27:06 +0000 (20:27 -0700)]
revert 'sched: redundant reschedule when set_user_nice() boosts a prio of a task from the "expired" array'

Revert commit bd53f96ca54a21c07e7a0ae1886fa623d370b85f.

Con says:

This is no good, sorry. The one I saw originally was with the staircase
deadline cpu scheduler in situ and was different.

  #define TASK_PREEMPTS_CURR(p, rq) \
     ((p)->prio < (rq)->curr->prio)
     (((p)->prio < (rq)->curr->prio) && ((p)->array == (rq)->active))

This will fail to wake up a runqueue for a task that has been migrated to the
expired array of a runqueue which is otherwise idle which can happen with smp
balancing,

Cc: Dmitry Adamushko <dmitry.adamushko@gmail.com>
Cc: Con Kolivas <kernel@kolivas.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoapplesmc: Use standard sysfs names for labels
Jean Delvare [Wed, 9 May 2007 03:27:05 +0000 (20:27 -0700)]
applesmc: Use standard sysfs names for labels

We have a standard suffix to associate a designation string to a sensor:
_label.  Use it instead of _position so that libsensors will catch it.
(This isn't implemented yet, but should be soon.)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoapplesmc: Use the address as platform device ID
Jean Delvare [Wed, 9 May 2007 03:27:04 +0000 (20:27 -0700)]
applesmc: Use the address as platform device ID

Let the applesmc device export its address to userspace.  libsensors needs
this to recognize the device and give it a unique ID.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Nicolas Boichat <nicolas@boichat.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agousb_gigaset: don't kmalloc(0)
Tilman Schmidt [Wed, 9 May 2007 03:27:03 +0000 (20:27 -0700)]
usb_gigaset: don't kmalloc(0)

Zero-sized allocations are pointless anyway, and the SLUB allocator
complains about them, so stop doing that.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Hansjoerg Lipp <hjlipp@web.de>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agom68k: <asm/scatterlist.h> needs <linux/types.h>
Geert Uytterhoeven [Wed, 9 May 2007 03:27:03 +0000 (20:27 -0700)]
m68k: <asm/scatterlist.h> needs <linux/types.h>

The recent <linux/pci.h> cleanup uncovered that include/asm-m68k/scatterlist.h
needs to include <linux/types.h>

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFRV: Miscellaneous fixes
David Howells [Wed, 9 May 2007 03:27:02 +0000 (20:27 -0700)]
FRV: Miscellaneous fixes

Miscellaneous fixes to bring FRV up to date:

 (1) Copy the new syscall numbers from i386 to asm-frv/unistd.h and fill out
     the syscall table in entry.S too.

 (2) Mark __frv_uart0 and __frv_uart1 __pminitdata rather than __initdata so
     that determine_clocks() can access them when CONFIG_PM=y.

 (3) Make arch/frv/mm/elf-fdpic.c include asm/mman.h so that MAP_FIXED is
     available (fixes commit 2fd3bebaad9da3b3b99c46a3389099424bf7ee35).

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agosmaps: only define clear_refs for CONFIG_MMU
David Rientjes [Wed, 9 May 2007 03:27:01 +0000 (20:27 -0700)]
smaps: only define clear_refs for CONFIG_MMU

/proc/pid/clear_refs is only defined in the CONFIG_MMU case, so make sure we
don't have any references to clear_refs_smap() in generic procfs code.

Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix unnecesary meminit
Yasunori Goto [Wed, 9 May 2007 03:27:01 +0000 (20:27 -0700)]
Fix unnecesary meminit

This is to fix unnecessary __meminit definition.  These are exported for
kernel modules.

I compiled on ia64/x86-64 with memory hotplug on/off.

Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Wed, 9 May 2007 03:33:59 +0000 (20:33 -0700)]
Merge /pub/scm/linux/kernel/git/herbert/crypto-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] cryptomgr: Fix use after free

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 9 May 2007 03:32:43 +0000 (20:32 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Optimize fault kprobe handling just like powerpc.
  [SPARC]: Wire up utimensat syscall.
  [SPARC64]: Fix request_irq() ignored result warnings in PCI controller code.
  [SPARC64]: Kill asm-sparc64/pbm.h
  [ATYFB]: Fix sparc includes.
  [QLA2XXX]: Fix build on sparc.
  [SPARC64]: Removal of trivial pci_controller_info uses.
  [SPARC64]: Move index info pci_pbm_info.
  [SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info.
  [SPARC64]: Move pci_ops into pci_pbm_info.
  [SPARC64] SBUS: Error interrupt registry cleanups.
  [SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's
  [SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX.
  [SPARC64] PCI: Use common routine to fetch PBM properties.

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Wed, 9 May 2007 03:32:16 +0000 (20:32 -0700)]
Merge /pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (58 commits)
  [SCSI] zfcp: clear boxed flag on unit reopen.
  [SCSI] zfcp: clear adapter failed flag if an fsf request times out.
  [SCSI] zfcp: rework request ID management.
  [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI
  [SCSI] zfcp: Locking for req_no and req_seq_no
  [SCSI] zfcp: print S_ID and D_ID with 3 bytes
  [SCSI] ipr: Use PCI-E reset API for new ipr adapter
  [SCSI] qla2xxx: Update version number to 8.01.07-k7.
  [SCSI] qla2xxx: Add MSI support.
  [SCSI] qla2xxx: Correct pci_set_msi() usage semantics.
  [SCSI] qla2xxx: Attempt to stop firmware only if it had been previously executed.
  [SCSI] qla2xxx: Honor NVRAM port-down-retry-count settings.
  [SCSI] qla2xxx: Error-out during probe() if we're unable to complete HBA initialization.
  [SCSI] zfcp: Stop system after memory corruption
  [SCSI] mesh: cleanup variable usage in interrupt handler
  [SCSI] megaraid: replace yield() with cond_resched()
  [SCSI] megaraid: fix warnings when CONFIG_PROC_FS=n
  [SCSI] aacraid: correct SUN products to README
  [SCSI] aacraid: superfluous adapter reset for IBM 8 series ServeRAID controllers
  [SCSI] aacraid: kexec fix (reset interrupt handler)
  ...

17 years agoRevert "fbdev: ignore VESA modes if framebuffer is disabled"
Linus Torvalds [Wed, 9 May 2007 03:12:30 +0000 (20:12 -0700)]
Revert "fbdev: ignore VESA modes if framebuffer is disabled"

This reverts commit 464bdd33e9baad9806c7adbd8dfc37081a55f27e.

Peter Anvin correctly points out that VESA modes have nothing to do with
frame buffers per se - they are often just regular extended text modes.
Disabling them just because we don't have frame buffer support is very
wrong.

Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Antonino A. Daplas <adaplas@gmail.com>,
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoRemove suid/sgid bits on [f]truncate()
Linus Torvalds [Wed, 9 May 2007 03:10:00 +0000 (20:10 -0700)]
Remove suid/sgid bits on [f]truncate()

.. to match what we do on write().  This way, people who write to files
by using [f]truncate + writable mmap have the same semantics as if they
were using the write() family of system calls.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[CRYPTO] cryptomgr: Fix use after free
Herbert Xu [Wed, 9 May 2007 03:04:39 +0000 (13:04 +1000)]
[CRYPTO] cryptomgr: Fix use after free

By the time kthread_run returns the param may have already been freed
so writing the returned thread_struct pointer to param is wrong.

In fact, we don't need it in param anyway so this patch simply puts it
on the stack.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years ago[SPARC64]: Optimize fault kprobe handling just like powerpc.
David S. Miller [Wed, 9 May 2007 01:25:14 +0000 (18:25 -0700)]
[SPARC64]: Optimize fault kprobe handling just like powerpc.

And eliminate DIE_GPF while we're at it.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Wire up utimensat syscall.
David S. Miller [Wed, 9 May 2007 00:50:14 +0000 (17:50 -0700)]
[SPARC]: Wire up utimensat syscall.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix request_irq() ignored result warnings in PCI controller code.
David S. Miller [Wed, 9 May 2007 00:23:31 +0000 (17:23 -0700)]
[SPARC64]: Fix request_irq() ignored result warnings in PCI controller code.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Kill asm-sparc64/pbm.h
David S. Miller [Tue, 8 May 2007 07:43:56 +0000 (00:43 -0700)]
[SPARC64]: Kill asm-sparc64/pbm.h

Everything it contains can be hidden in pci_impl.h

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ATYFB]: Fix sparc includes.
David S. Miller [Tue, 8 May 2007 07:37:23 +0000 (00:37 -0700)]
[ATYFB]: Fix sparc includes.

No need to use asm/pbm.h here.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[QLA2XXX]: Fix build on sparc.
David S. Miller [Tue, 8 May 2007 07:36:49 +0000 (00:36 -0700)]
[QLA2XXX]: Fix build on sparc.

We now use pci_device_to_OF_node() to get properties
and of_get_property() returns const pointers.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Removal of trivial pci_controller_info uses.
David S. Miller [Tue, 8 May 2007 07:19:02 +0000 (00:19 -0700)]
[SPARC64]: Removal of trivial pci_controller_info uses.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Move index info pci_pbm_info.
David S. Miller [Tue, 8 May 2007 06:49:01 +0000 (23:49 -0700)]
[SPARC64]: Move index info pci_pbm_info.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info.
David S. Miller [Tue, 8 May 2007 06:28:50 +0000 (23:28 -0700)]
[SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Move pci_ops into pci_pbm_info.
David S. Miller [Tue, 8 May 2007 06:24:05 +0000 (23:24 -0700)]
[SPARC64]: Move pci_ops into pci_pbm_info.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64] SBUS: Error interrupt registry cleanups.
David S. Miller [Tue, 8 May 2007 06:08:39 +0000 (23:08 -0700)]
[SPARC64] SBUS: Error interrupt registry cleanups.

Do not use IRQF_SHARED, these interrupt numbers should all
be unique.

Also use name strings without spaces in them just like
PCI controller drivers do, for consistency.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's
David S. Miller [Tue, 8 May 2007 06:06:27 +0000 (23:06 -0700)]
[SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's

The idea is to move more and more things into the pbm,
with the eventual goal of eliminating the pci_controller_info
entirely as there really isn't any need for it.

This stage of the transformations requires some reworking of
the PCI error interrupt handling.

It might be tricky to get rid of the pci_controller_info parenting for
a few reasons:

1) When we get an uncorrectable or correctable error we want
   to interrogate the IOMMU and streaming cache of both
   PBMs for error status.  These errors come from the UPA
   front-end which is shared between the two PBM PCI bus
   segments.

   Historically speaking this is why I choose the datastructure
   hierarchy of pci_controller_info-->pci_pbm_info

2) The probing does a portid/devhandle match to look for the
   'other' pbm, but this is entirely an artifact and can be
   eliminated trivially.

What we could do to solve #1 is to have a "buddy" pointer from one pbm
to another.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX.
David S. Miller [Tue, 8 May 2007 04:54:28 +0000 (21:54 -0700)]
[SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX.

They are totally unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64] PCI: Use common routine to fetch PBM properties.
David S. Miller [Tue, 8 May 2007 04:51:41 +0000 (21:51 -0700)]
[SPARC64] PCI: Use common routine to fetch PBM properties.

Namely bus-range and ino-bitmap.

This allows us also to eliminate pci_controller_info's
pci_{first,last}_busno fields as only the pbm ones are
used now.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agommc: use lock instead of claim in debug check
Pierre Ossman [Tue, 8 May 2007 20:35:17 +0000 (22:35 +0200)]
mmc: use lock instead of claim in debug check

As mmc_detect_change() can be called from irq context, using
claim (which can sleep) is inherently unsafe. Use the host
spinlock instead, which also is faster.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agommc: Use menuconfig objects
Jan Engelhardt [Tue, 8 May 2007 20:30:32 +0000 (22:30 +0200)]
mmc: Use menuconfig objects

Change Kconfig objects from "menu, config" into "menuconfig" so
that the user can disable the whole feature without having to
enter the menu first.

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agodisable socket power in adapter driver instead of media one
Alex Dubov [Wed, 2 May 2007 03:14:55 +0000 (20:14 -0700)]
disable socket power in adapter driver instead of media one

Socket power must be fully controlled by adapter driver. This also prevents
unnecessary power-off of the socket when media driver is unloaded, yet
media remains in the socket.

Signed-off-by: Alex Dubov <oakad@yahoo.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agoMerge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
Linus Torvalds [Tue, 8 May 2007 19:07:28 +0000 (12:07 -0700)]
Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (32 commits)
  Use menuconfig objects - hwmon
  hwmon/smsc47b397: Use dynamic sysfs callbacks
  hwmon/smsc47b397: Convert to a platform driver
  hwmon/w83781d: Deprecate W83627HF support
  hwmon/w83781d: Use dynamic sysfs callbacks
  hwmon/w83781d: Be less i2c_client-centric
  hwmon/w83781d: Clean up conversion macros
  hwmon/w83781d: No longer use i2c-isa
  hwmon/ams: Do not print error on systems without apple motion sensor
  hwmon/ams: Fix I2C read retry logic
  hwmon: New AD7416, AD7417 and AD7418 driver
  hwmon/coretemp: Add documentation
  hwmon: New coretemp driver
  i386: Use functions from library in msr driver
  i386: Add safe variants of rdmsr_on_cpu and wrmsr_on_cpu
  hwmon/lm75: Use dynamic sysfs callbacks
  hwmon/lm78: Use dynamic sysfs callbacks
  hwmon/lm78: Be less i2c_client-centric
  hwmon/lm78: No longer use i2c-isa
  hwmon: New max6650 driver
  ...

17 years agoFix sunrpc warning noise
Geert Uytterhoeven [Tue, 8 May 2007 09:37:26 +0000 (11:37 +0200)]
Fix sunrpc warning noise

Commit c5a4dd8b7c15927a8fbff83171b57cad675a79b9 introduced the following
compiler warnings:

net/sunrpc/sched.c:766: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t'
net/sunrpc/sched.c:785: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'size_t'

  - Use %zu to format size_t
  - Kill 2 useless casts

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge git://oss.sgi.com:8090/xfs/xfs-2.6
Linus Torvalds [Tue, 8 May 2007 18:59:33 +0000 (11:59 -0700)]
Merge git://oss.sgi.com:8090/xfs/xfs-2.6

* git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] Add lockdep support for XFS
  [XFS] Fix race in xfs_write() b/w dmapi callout and direct I/O checks.
  [XFS] Get rid of redundant "required" in msg.
  [XFS] Export via a function xfs_buftarg_list for use by kdb/xfsidbg.
  [XFS] Remove unused ilen variable and references.
  [XFS] Fix to prevent the notorious 'NULL files' problem after a crash.
  [XFS] Fix race condition in xfs_write().
  [XFS] Fix uquota and oquota enforcement problems.
  [XFS] propogate return codes from flush routines
  [XFS] Fix quotaon syscall failures for group enforcement requests.
  [XFS] Invalidate quotacheck when mounting without a quota type.
  [XFS] reducing the number of random number functions.
  [XFS] remove more misc. unused args
  [XFS] the "aendp" arg to xfs_dir2_data_freescan is always NULL, remove it.
  [XFS] The last argument "lsn" of xfs_trans_commit() is always called with

17 years agoMerge branch 'reset-seq' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libat...
Linus Torvalds [Tue, 8 May 2007 18:58:20 +0000 (11:58 -0700)]
Merge branch 'reset-seq' of /linux/kernel/git/jgarzik/libata-dev

* 'reset-seq' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata reset-seq] build and merge fixes
  libata: reimplement reset sequencing
  libata: improve ata_std_prereset()
  libata: improve 0xff status handling
  libata: add deadline support to prereset and reset methods

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Tue, 8 May 2007 18:57:17 +0000 (11:57 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits)
  [netdrvr] atl1: fix build
  pasemi_mac: Use local-mac-address instead of mac-address if available
  pasemi_mac: PHY support
  pasemi_mac: Add msglevel support and "debug" module param
  pasemi_mac: Logic cleanup / rx performance improvements
  pasemi_mac: Minor cleanup / define fixes
  pasemi_mac: Add SKB reuse / copy-break
  pasemi_mac: Timer and interrupt fixes
  pasemi_mac: Abstract and fix up interrupt restart routines
  pasemi_mac: Move the IRQ mapping from the PCI layer to the driver
  tc35815: Remove unnecessary skb->dev assignment
  drivers/net/dm9000: Convert to generic boolean
  AT91RM9200 Ethernet: Fix multicast addressing
  AT91RM9200 Ethernet: Support additional PHYs
  PCMCIA-NETDEV : xirc2ps_cs: bugfix of multicast code
  sky2: re-enable 88E8056 for most motherboards
  MIPS: Drop unnecessary CONFIG_ISA from RBTX49XX
  ne: MIPS: Use platform_driver for ne on RBTX49XX
  ne: Add NEEDS_PORTLIST to control ISA auto-probe
  ne: Misc fixes for platform driver.
  ...

Fix conflict in drivers/net/pasemi_mac.c (get_property() got renamed to
of_get_property()) manually.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Tue, 8 May 2007 18:52:35 +0000 (11:52 -0700)]
Merge branch 'drm-patches' of /linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6:
  via: Make sure we flush write-combining using a follow-up read.
  via: Try to improve command-buffer chaining.
  drm: remove old taskqueue remnant
  drm: rename badly named define and cleanup ioctl code spacing
  radeon: Don't mess up page flipping when a file descriptor is closed.
  drm/radeon: upgrade to 1.27 - make PCI GART more flexible

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Tue, 8 May 2007 18:51:43 +0000 (11:51 -0700)]
Merge /pub/scm/linux/kernel/git/dtor/input

* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
  Input: move USB miscellaneous devices under drivers/input/misc
  Input: move USB mice under drivers/input/mouse
  Input: move USB gamepads under drivers/input/joystick
  Input: move USB touchscreens under drivers/input/touchscreen
  Input: move USB tablets under drivers/input/tablet
  Input: i8042 - fix AUX port detection with some chips
  Input: aaed2000_kbd - convert to use polldev library
  Input: drivers/usb/input - usb_buffer_free() cleanup
  Input: synaptics - don't complain about failed resets
  Input: pull input.h into uinpit.h
  Input: drivers/usb/input - fix sparse warnings (signedness)
  Input: evdev - fix some sparse warnings (signedness, shadowing)
  Input: drivers/joystick - fix various sparse warnings
  Input: force feedback - make sure effect is present before playing

17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 8 May 2007 18:50:19 +0000 (11:50 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/paulus/powerpc

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits)
  [POWERPC] Abolish powerpc_flash_init()
  [POWERPC] Early serial debug support for PPC44x
  [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc
  [POWERPC] Add device tree for Ebony
  [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now
  [POWERPC] MPIC U3/U4 MSI backend
  [POWERPC] MPIC MSI allocator
  [POWERPC] Enable MSI mappings for MPIC
  [POWERPC] Tell Phyp we support MSI
  [POWERPC] RTAS MSI implementation
  [POWERPC] PowerPC MSI infrastructure
  [POWERPC] Rip out the existing powerpc msi stubs
  [POWERPC] Remove use of 4level-fixup.h for ppc32
  [POWERPC] Add powerpc PCI-E reset API implementation
  [POWERPC] Holly bootwrapper
  [POWERPC] Holly DTS
  [POWERPC] Holly defconfig
  [POWERPC] Add support for 750CL Holly board
  [POWERPC] Generalize tsi108 PCI setup
  [POWERPC] Generalize tsi108 PHY types
  ...

Fixed conflict in include/asm-powerpc/kdebug.h manually

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoRemove unused variable in get_unmapped_area
Roland McGrath [Tue, 8 May 2007 18:19:38 +0000 (11:19 -0700)]
Remove unused variable in get_unmapped_area

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-2.6.22' of git://git.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Tue, 8 May 2007 18:34:52 +0000 (11:34 -0700)]
Merge branch 'for-2.6.22' of git://git.kernel.dk/data/git/linux-2.6-block

* 'for-2.6.22' of git://git.kernel.dk/data/git/linux-2.6-block:
  [PATCH] ll_rw_blk: fix missing bounce in blk_rq_map_kern()
  [PATCH] splice: always call into page_cache_readahead()
  [PATCH] splice(): fix interaction with readahead

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Tue, 8 May 2007 18:32:30 +0000 (11:32 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  JFS: Fix race waking up jfsIO kernel thread
  JFS: use __set_current_state()
  Copy i_flags to jfs inode flags on write
  JFS: document uid, gid, and umask mount options in jfs.txt

17 years agosm501fb printk warning fixes
Andrew Morton [Tue, 8 May 2007 07:40:22 +0000 (00:40 -0700)]
sm501fb printk warning fixes

drivers/video/sm501fb.c: In function 'sm501fb_cursor':
drivers/video/sm501fb.c:992: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
drivers/video/sm501fb.c:992: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'long unsigned int'

Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoxilinxfb: xilinx framebuffer device driver
Andrei Konovalov [Tue, 8 May 2007 07:40:18 +0000 (00:40 -0700)]
xilinxfb: xilinx framebuffer device driver

Add support for the video controller IP block included into Xilinx ML300 and
ML403 reference designs.

Signed-off-by: Andrei Konovalov <akonovalov@ru.mvista.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: fix of jumps in pm2fb_probe
Krzysztof Helt [Tue, 8 May 2007 07:40:16 +0000 (00:40 -0700)]
pm2fb: fix of jumps in pm2fb_probe

This patch fixes incorrect targets of jumps when an error occurs in the
pm2fb_probe.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoskeletonfb: improvements
Krzysztof Helt [Tue, 8 May 2007 07:40:14 +0000 (00:40 -0700)]
skeletonfb: improvements

This patch adds a macro to register PCI ids table and corrects type of
xxxfb_fix variable to avoid modpost warnings.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: removal of pm2fb_par fields
Krzysztof Helt [Tue, 8 May 2007 07:40:12 +0000 (00:40 -0700)]
pm2fb: removal of pm2fb_par fields

This patch removes two redundant fields in the pm2fb_par structure.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoskeletonfb: more corrections
Krzysztof Helt [Tue, 8 May 2007 07:40:10 +0000 (00:40 -0700)]
skeletonfb: more corrections

More corrections to skeletonfb.c file:
- fixed types of more arguments
- removed returned values in void functions
- removed not existing fb_poll function
- fixed closing comment typo
- corrected misleading constant name ADDR

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-By: James Simmons <jsimmons@infradead.org>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovga16fb: actually support widths in multiples of 8
Antonino A. Daplas [Tue, 8 May 2007 07:40:08 +0000 (00:40 -0700)]
vga16fb: actually support widths in multiples of 8

vga16fb does not just support 8-pixel wide rectangles, but rectangles with
widths in multiples of 8.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovgacon: disallow console operations when in KD_GRAPHICS mode
Antonino A. Daplas [Tue, 8 May 2007 07:40:06 +0000 (00:40 -0700)]
vgacon: disallow console operations when in KD_GRAPHICS mode

Reported by James Pearson as:

 boot to run level 3

 if not root, then make sure /dev/console is writeable

 login and type:

 setterm -blank 0

 start X

 type into an xterm:

 while true; do echo "" > /dev/console; usleep 100000; done

 while the above loop is running switch to the text console and back
 again (Ctrl-Alt-F1 then Ctrl-Alt-F7)

 ... and the screen will be shifting (and wrapping) to the left.

This problem stems from continuously writing text to the system console (which
is in KD_TEXT mode) while the foreground console is in KD_GRAPHICS
mode. Somewhere along the way, console printing got confused and omitted the
KD_GRAPHICS/KD_TEXT test.  Thus, vgacon attempted to scroll the screen of X,
which causes X to shift.

Fix by disallowing vgacon to touch the hardware when the vc is in KD_GRAPHICS
mode. A definitive fix entails a full audit of the console code.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoUse menuconfig objects II: video/logo
Jan Engelhardt [Tue, 8 May 2007 07:40:04 +0000 (00:40 -0700)]
Use menuconfig objects II: video/logo

Change Kconfig objects from "menu, config" into "menuconfig" so that the user
can disable the whole feature without having to enter the menu first.

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: accelerated fillrect and copyarea
Krzysztof Helt [Tue, 8 May 2007 07:40:02 +0000 (00:40 -0700)]
pm2fb: accelerated fillrect and copyarea

This is a port of accelerated functions from 2.4 kernel.  Only fillrect and
copyarea are accelerated.  Fillrect is not accelerated in 24-bit mode.

[adaplas]
Add appropriate flags

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agos3fb: updates
Ondrej Zajicek [Tue, 8 May 2007 07:40:00 +0000 (00:40 -0700)]
s3fb: updates

Move s3fb_get_tilemax to svgalib.c as svga_get_tilemax, because it reports
limitation of other code from svgalib (svga_settile, svga_tilecopy, ...)

Limit font width to 8 pixels in 4 bpp mode.

Signed-off-by: Ondrej Zajicek <santiago@crfreenet.org>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: memclock setting corrections
Krzysztof Helt [Tue, 8 May 2007 07:39:57 +0000 (00:39 -0700)]
pm2fb: memclock setting corrections

This patch disables a memory clock setting if a board has been initialized by
BIOS.  This allows using the memory clock set by manufacturer of the board.

This patch also sets default clock for 3dlabs Permedia 2V reference board's
clock to 75MHz (BIOS setting for EONtronic Permedia 2Vboard), because the
default 83MHz can be too high.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: reset transparency settings
krzysztof.h1@wp.pl [Tue, 8 May 2007 07:39:56 +0000 (00:39 -0700)]
pm2fb: reset transparency settings

This patch resets transparency settings when depth changes.  Otherwise the 16
and 24-bit modes work incorrectly after switching from 32-bit mode.

Signed-off-by: Krzysztof Helt < krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbcon: check console-fb mapping in fbcon_get_requirement
Antonino A. Daplas [Tue, 8 May 2007 07:39:54 +0000 (00:39 -0700)]
fbcon: check console-fb mapping in fbcon_get_requirement

- Check the console-to-fb mapping in fbcon_get_requirement(), otherwise the
  value returned may not be valid for the driver.

- Minor cleanup

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: clean up exit patch of fb_set_var
Antonino A. Daplas [Tue, 8 May 2007 07:39:52 +0000 (00:39 -0700)]
fbdev: clean up exit patch of fb_set_var

Clean up exit patch of fb_set_var():

- consolidate all return values into a single local variable
- ensure that return values are valid error codes
- fix fb_set_var() returning success when fb_check_caps() failed

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodrivers/video/sis/: remove more kernel 2.4 code
Adrian Bunk [Tue, 8 May 2007 07:39:50 +0000 (00:39 -0700)]
drivers/video/sis/: remove more kernel 2.4 code

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Thomas Winischhofer <thomas@winischhofer.net>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agouse mutex instead of semaphore in virtual console driver
Matthias Kaehlcke [Tue, 8 May 2007 07:39:49 +0000 (00:39 -0700)]
use mutex instead of semaphore in virtual console driver

The virtual console driver uses a semaphore as mutex.  Use the mutex API
instead of the (binary) semaphore.

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoatyfb: halve XCLK with Mobility and 32bit memory
Ville Syrjala [Tue, 8 May 2007 07:39:47 +0000 (00:39 -0700)]
atyfb: halve XCLK with Mobility and 32bit memory

Laptops with Rage Mobility and 32bit memory interface seem to require halved
XCLK to operate correctly.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoatyfb: reorganize clock init
Ville Syrjala [Tue, 8 May 2007 07:39:45 +0000 (00:39 -0700)]
atyfb: reorganize clock init

Reorganize atyfb clock init code so command line clock overrides are effective
for all chips.  The old code would silently ignore some of the command line
clock overrides with some chips.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoatyfb: increase SPLL delay
Ville Syrjala [Tue, 8 May 2007 07:39:44 +0000 (00:39 -0700)]
atyfb: increase SPLL delay

Wait 5 ms instead of 500 us for the SPLL to lock.  This matches the
recommendation in mach64 programmer's guide.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agonvidiafb: fix return value of nvidiafb_open()
Antonino A. Daplas [Tue, 8 May 2007 07:39:42 +0000 (00:39 -0700)]
nvidiafb: fix return value of nvidiafb_open()

Fix return value of nvidiafb_open().

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovga: vgastate fix
Ondrej Zajicek [Tue, 8 May 2007 07:39:41 +0000 (00:39 -0700)]
vga: vgastate fix

1) sets 'palette access disabled' during read from AR10.
   This is usually documented as needed for access AR01-AR0F,
   but on ARK Logic card it is needed for AR10 (otherwise read
   returns some nonsence and save_vga_text() returns before do
   anything).

2) do not restore AR10, because it was not changed during

3) remove modification of misc reg:
        /* force graphics mode */
        vga_w(state->vgabase, VGA_MIS_W, misc | 1);

   as comment is misleading - LSB of misc reg does not set/reset graphics
   mode, but set color/mono adresses of CRT and some other regs.
   but these regs are not used during save/restore fonts.
   (it worked even when (misc | 1) was replaced by (misc & ~1) ).

Signed-off-by: Ondrej Zajicek <santiago@crfreenet.org>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agos3fb: implement fb_get_caps
Antonino A. Daplas [Tue, 8 May 2007 07:39:39 +0000 (00:39 -0700)]
s3fb: implement fb_get_caps

Implement fb_get_caps().  This will allow the driver to tell upper layer that
it can only support 256 8x16 bitmaps when in tileblitting mode
(var->bits_per_pixel == 0);

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: fbcon: check if mode can handle new screen
Antonino A. Daplas [Tue, 8 May 2007 07:39:37 +0000 (00:39 -0700)]
fbdev: fbcon: check if mode can handle new screen

Check if the mode can properly display the screen.  This will be needed by
drivers where the capability is not constant with each mode.  The function
fb_set_var() will query fbcon the requirement, then it will query the driver
(via a new hook fb_get_caps()) its capability.  If the driver's capability
cannot handle fbcon's requirement, then fb_set_var() will fail.

For example, if a particular driver supports 2 modes where:

mode1 = can only display 8x16 bitmaps
mode2 = can display any bitmap

then if current mode = mode2 and current font = 12x22

fbset <mode1> /* mode1 cannot handle 12x22 */
fbset will fail

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agonvidiafb: prevent triggering of softlockup
Dave Jones [Tue, 8 May 2007 07:39:35 +0000 (00:39 -0700)]
nvidiafb: prevent triggering of softlockup

If the chip locks up, we get into a long polling loop,
where the softlockup detector kicks in.
See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=151878
for an example.

[adaplas]
Chip lockup can occur at 3 points (flush, sync, and wait). Consolidate and
allow the driver to go to safe mode cleanly.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: pixclock setting restriction
Krzysztof Helt [Tue, 8 May 2007 07:39:33 +0000 (00:39 -0700)]
pm2fb: pixclock setting restriction

This patch adds restrictions to calculations of m, n and p factors
which sets the pixclock for the Permedia 2V. I found during tests
that synchronization is unstable if m (divisor) is bigger than
half of the n (numerator). The patch disallows such settings
combination.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: Permedia 2V memory clock setting
Krzysztof Helt [Tue, 8 May 2007 07:39:32 +0000 (00:39 -0700)]
pm2fb: Permedia 2V memory clock setting

Permedia 2V uses its own registers to set a memory clock. The
patch adds these registers and uses them in the set_memclock()
function.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopm2fb: 3dlabs Permedia 2V reference board added
Krzysztof Helt [Tue, 8 May 2007 07:39:30 +0000 (00:39 -0700)]
pm2fb: 3dlabs Permedia 2V reference board added

This patch adds support for 3dlabs Permedia reference board.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agonvidiafb/rivafb: switch to pci_get refcounting
Alan Cox [Tue, 8 May 2007 07:39:28 +0000 (00:39 -0700)]
nvidiafb/rivafb: switch to pci_get refcounting

Switch to pci_get refcounting APIs

[adaplas]
Fix a long-standing bug where the return value of
pci_find_slot()/pci_get_bus_and_slot() is ignored.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovmlfb: framebuffer driver for Intel Vermilion Range
Alan Hourihane [Tue, 8 May 2007 07:39:25 +0000 (00:39 -0700)]
vmlfb: framebuffer driver for Intel Vermilion Range

Add the Intel Vermilion Range framebuffer support.

Signed-off-by: Alan Hourihane <alanh@tungstengraphics.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agos3fb: driver fixes
Ondrej Zajicek [Tue, 8 May 2007 07:39:24 +0000 (00:39 -0700)]
s3fb: driver fixes

This fixes broken fbcon on Virge VX in 24 bpp mode, and contains several
other small updates.

Signed-off-by: Ondrej Zajicek <santiago@crfreenet.org>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: save the activate field before calling fb_check_var()
Antonino A. Daplas [Tue, 8 May 2007 07:39:22 +0000 (00:39 -0700)]
fbdev: save the activate field before calling fb_check_var()

Some drivers may reset the var->activate field on fb_check_var(). This can
lead to undefined behavior. For example, doing fbset -a <option> with vga16fb
will only modify the active console instead of modifying all.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbcon: check if the character count can be handled
Antonino A. Daplas [Tue, 8 May 2007 07:39:19 +0000 (00:39 -0700)]
fbcon: check if the character count can be handled

Fontmaps can be 256 or 512 in length. The only driver that can do tileblitting
can only handle 256 characters.  Check for this when setting the font.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agos3fb: implement fb_get_tilemax()
Antonino A. Daplas [Tue, 8 May 2007 07:39:17 +0000 (00:39 -0700)]
s3fb: implement fb_get_tilemax()

Implement fb_get_tilemax(). It just returns 256.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: add tile operation to get the maximum length of the map
Antonino A. Daplas [Tue, 8 May 2007 07:39:16 +0000 (00:39 -0700)]
fbdev: add tile operation to get the maximum length of the map

Add a tile method, fb_get_tilemax(), that returns the maximum length of
the tile map (or font map).  This is needed by s3fb which can only handle
256 characters.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agos3fb: limit 8x16 rectangles when tileblitting is enabled
Antonino A. Daplas [Tue, 8 May 2007 07:39:14 +0000 (00:39 -0700)]
s3fb: limit 8x16 rectangles when tileblitting is enabled

If tileblitting is enabled (text mode), the hardware can only accept 8x16
bitmaps. Advertise this to the upper layer. And to ensure that an appropriate
font is always available, select an 8x16 font in Kconfig.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovga16fb: restrict to blit rectangles with widths of multiples of 8 pixels
Antonino A. Daplas [Tue, 8 May 2007 07:39:12 +0000 (00:39 -0700)]
vga16fb: restrict to blit rectangles with widths of multiples of 8 pixels

Advertise that vga16fb can only handle widths that are 8-pixel-multiple only
(software limitation). To ensure that a legal font is available, SELECT an
8x16 font in Kconfig.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbcon: font setting should check limitation of driver
Antonino A. Daplas [Tue, 8 May 2007 07:39:11 +0000 (00:39 -0700)]
fbcon: font setting should check limitation of driver

fbcon_set_font() will now check if the new font dimensions can be drawn by the
driver (by checking pixmap.blit_x and blit_y).  Similarly, add 2 new
parameters to get_default_font(), font_w and font_h, to further aid in the
font selection process.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: advertise limitation of drawing engine
Antonino A. Daplas [Tue, 8 May 2007 07:39:09 +0000 (00:39 -0700)]
fbdev: advertise limitation of drawing engine

A few drivers are not capable of blitting rectangles of any dimension.
vga16fb can only blit 8-pixel wide rectangles, while s3fb (in tileblitting
mode) can only blit 8x16 rectangles.  For example, loading a 12x22 font in
vga16fb will result in a corrupt display.

Advertise this limitation/capability in info->pixmap.blit_x and blit_y.  These
fields are 32-bit arrays (font max is 32x32 only), ie, if bit 7 is set, then
width/height of 7+1 is supported.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: consolidate common drawing functions into a header file
Antonino A. Daplas [Tue, 8 May 2007 07:39:08 +0000 (00:39 -0700)]
fbdev: consolidate common drawing functions into a header file

Consolidate common drawing functions into a single header file.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovfb: use fb_sys_read() and fb_sys_write()
Antonino A. Daplas [Tue, 8 May 2007 07:39:07 +0000 (00:39 -0700)]
vfb: use fb_sys_read() and fb_sys_write()

Since vfb's framebuffer is vmalloc'ed, use the fb_sys_read() and
fb_sys_write().

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agohecubafb: use fb_sys_read()
Antonino A. Daplas [Tue, 8 May 2007 07:39:06 +0000 (00:39 -0700)]
hecubafb: use fb_sys_read()

Since hecubafb's framebuffer is vmalloc'ed, use fb_sys_read().

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoarcfb: use fb_sys_read()
Antonino A. Daplas [Tue, 8 May 2007 07:39:04 +0000 (00:39 -0700)]
arcfb: use fb_sys_read()

Since arcfb's framebuffer is vmalloc'ed, use the fb_sys_read().

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: add fb_read/fb_write functions for framebuffers in system RAM
Antonino A. Daplas [Tue, 8 May 2007 07:39:03 +0000 (00:39 -0700)]
fbdev: add fb_read/fb_write functions for framebuffers in system RAM

The functions fb_read() and fb_write in fbmem.c assume that the framebuffer
is in IO memory.  However, we have 3 drivers (hecubafb, arcfb, and vfb)
where the framebuffer is allocated from system RAM (via vmalloc). Using
__raw_read/__raw_write (fb_readl/fb_writel) for these drivers is
illegal, especially in other platforms.

Create file read and write methods for these types of drivers.  These are
named fb_sys_read() and fb_sys_write().

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: pass struct fb_info to fb_read and fb_write
Antonino A. Daplas [Tue, 8 May 2007 07:39:02 +0000 (00:39 -0700)]
fbdev: pass struct fb_info to fb_read and fb_write

It is unnecessary to pass struct file to fb_read() and fb_write() in struct
fb_ops. For consistency with the other methods, pass struct fb_info instead.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovfb: use sys instead of cfb drawing functions
Antonino A. Daplas [Tue, 8 May 2007 07:39:01 +0000 (00:39 -0700)]
vfb: use sys instead of cfb drawing functions

Since vfb's framebuffer is vmalloc'ed, use the sys_* drawing functions
instead of cfb_*.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agohecubafb: use sys instead of cfb drawing functions
Antonino A. Daplas [Tue, 8 May 2007 07:39:00 +0000 (00:39 -0700)]
hecubafb: use sys instead of cfb drawing functions

Since hecubafb's framebuffer is vmalloc'ed, use the sys_* drawing functions
instead of cfb_*.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>