]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agoNeterion: New driver: Traffic & alarm handler
Ramkrishna Vepa [Wed, 1 Apr 2009 18:14:58 +0000 (18:14 +0000)]
Neterion: New driver: Traffic & alarm handler

This patch takes care of trafic handling related APIS.
- Interrupt Enable and disable
- Mask / Unmask Interrupt
- Traffic Interrupt handling.
- Alarm Interrupt handling.

- Changes in this submission -
        - General clean up - removed redundant includes, defines and macros.

- Changes in previous submissions -
 - General cleanup - removed unused functions and variables.
 - Use asserts where necessary - Reported by Andi Kleen
 - Fixed sparse warnings - Reported by Andi Kleen
 - Use a prefix, "__vxge" in front of hw functions to make them globally
   unique - Ben Hutchings

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Rastapur Santosh <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoNeterion: New driver: Hardware init & configuration
Ramkrishna Vepa [Wed, 1 Apr 2009 18:14:40 +0000 (18:14 +0000)]
Neterion: New driver: Hardware init & configuration

This patch takes care of Initialization and configuration steps of
Neterion Inc's X3100 Series 10GbE PCIe I/O Virtualized Server Adapter.
- Device Initialization.
- Verification and setting of device config parameters.
- Allocation of Tx FIFO and Rx Ring descriptors (DTR).
- APIs to get various type of hw stats
- APIs to configure RTS (Receive Traffic Steering)

- Changes in this submission -
        - Include vmalloc header without which a compilation error occured
          on sparc64, ppc64 and IA64 plaforms.
- Fixed compilation warning in register_poll, write32_upper,
          write32_lower and the special write64 functions on ppc64.
        - General cleanup - removed redundant includes and defines.

- Changes in previous submissions -
        - Add readq/writeq implementation for the driver for 32 bit systems -
          reported by Dave Miller.
- Incorporated following comments from Ben Hutchings
        - Start a comment with "/**" to make it a kernel-doc comment.
        - Use prefix, "__vxge" in front of hw functions to make them globally
          unique.
        - Fixed unnecessary clearing members of *channel just before freeing
        - Use backslashes only for macro definitions and not in multi-line
          statements.
        - Used pci_find_capability instead of redefining it.
        - Used device and revision ids that are already in pdev - no need to
          read them again.
        - Used pci_save_state() and pci_restore_state() around resets.
        - Used udelay and mdelay directly instead of wrapper.
        - In __vxge_hw_device_register_poll() reset i to 0 after the
          microsecond delay loop to commence the millisecond delay loop.
        - Corrected spelling "sapper" - should be "swapper"
        - Remove too much vertical whitespace.
        - Replaced magic numbers with appropriate macros
- Incorporated following comments from Andi Kleen [andi@firstfloor.org]
        - Reduced the arguments in functions or refactored them into smaller
        functions.
        - Allocate page sized memories used in slow path with vmalloc.
        - Use asserts where necessary.
        - Use macros instead of magic numbers.
        - Use the pci layer code instead of defining own functions
        - Remove driver wrappers such as xge_hw_device_private_set().
        - Fixed sparse warnings.

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Rastapur Santosh <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoNeterion: New driver: register set - vxge-reg.h
Ramkrishna Vepa [Wed, 1 Apr 2009 18:14:27 +0000 (18:14 +0000)]
Neterion: New driver: register set - vxge-reg.h

- Complete Register map details of Neterion Inc's X3100 Series 10GbE PCIe I/O
  Virtualized Server Adapter.

- No change from previous submission.

- Changes in previous submissions -
- Incorporated following comments from Ben Hutchings
        - Use original macros for endian checks
        - Remove VXGE_OS_PLATFORM_* macros as they are unused.
        - Converted multiple bVALX macros into single with additional
          width parameter and renamed it to vxge_bVALn.
        - Using __packed instead of pragma pack(1)
        - Added a comment of the use of a hw swapper so driver code is
          portable (does not have to change the byte order for register
          access as well as dma operations) on different ENDIAN platforms.
        - Using the <linux/pci_regs.h> definitions instead of redefing them.
        - Using the PCI capabilities registers in <linux/pci_regs.h>
          instead of redefing them.
Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Rastapur Santosh <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoNeterion: New driver: Update Maintainer list
Ramkrishna Vepa [Wed, 1 Apr 2009 18:14:25 +0000 (18:14 +0000)]
Neterion: New driver: Update Maintainer list

- update to Maintainer list of S2IO 10GbE drivers (xframe/vxge).

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Rastapur Santosh <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoNeterion: Driver help file
Ramkrishna Vepa [Wed, 1 Apr 2009 18:14:23 +0000 (18:14 +0000)]
Neterion: Driver help file

- vxge driver help text file.

- No change from previous submission.

- Changes in previous submissions -
  Removed the performance tuning section with instructions to disable
  time stamps and change sysctl settings - Reported by Dave Miller
  General clean up.
 - Removed tx/rx_pause, exec_mode, tx_steering_type, rx_steering_type, gro,
   intr_type, rx & tx max_indicate_pkts and exec_mode loadable parameters. The
   driver default settings work well in most if not all cases. Another patch
   to configure these parameters with ethtool will be released in the future -
   Reported by Stephen Hemminger.
- Incorporated following fixes based on comments from Ben Hutchings
        Removed references to earlier kernel versions.
        Removed sections that are similar for all drivers -
                Load/Unload
                Identifying the adapter/interface
                Boot time configuration
        Removed loadable parameter -
                NAPI - Napi is always enabled.
                rx_steering_type & ring_blocks - The driver default settings
                work well in most if not all cases. Another patch to configure
                these parameters with ethtool will be released in the future.
        Removed ethtool support section - No need to duplicate ethtool
                docs here.
        Removed Known Issue on SUSE 9 - Doesn't apply when using a
                current kernel.
        Removed Common Problems section - These don't apply to in-tree modules.
        Removed Available Downloads section - Not sure this belongs in-tree.
        Removed Copyright information - This notice doesn't belong in
                the kernel.

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Rastapur Santosh <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoparisc: move dereference_function_descriptor to process.c
Kyle McMartin [Sun, 15 Mar 2009 20:49:55 +0000 (16:49 -0400)]
parisc: move dereference_function_descriptor to process.c

Commit deac93df26b20cf8438339b5935b5f5643bc30c9 fixed up printing
of %pF on parisc, but added the dereference_function_descriptor
prototype to module.c... this isn't a particularly wise idea as
module.c might not always be compiled.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: Move kernel Elf_Fdesc define to <asm/elf.h>
Kyle McMartin [Sun, 15 Mar 2009 20:44:25 +0000 (16:44 -0400)]
parisc: Move kernel Elf_Fdesc define to <asm/elf.h>

elf.h probably won't be exported to userspace, but play it safe
and cram it in a #ifdef __KERNEL__ guard.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agosh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.
Paul Mundt [Thu, 2 Apr 2009 04:08:31 +0000 (13:08 +0900)]
sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.

cpuidle wants ARCH_HAS_DEFAULT_IDLE defined in order to use the
default idle loop. So, make it accessible and enable it for all
sh machines.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agox86: remove duplicated code with pcpu_need_numa()
Yinghai Lu [Wed, 1 Apr 2009 07:27:44 +0000 (00:27 -0700)]
x86: remove duplicated code with pcpu_need_numa()

Impact: clean up

those code pcpu_need_numa(), should be removed.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: David Miller <davem@davemloft.net>
LKML-Reference: <49D31770.9090502@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86,percpu: fix inverted NUMA test in setup_pcpu_remap()
Tejun Heo [Wed, 1 Apr 2009 06:06:33 +0000 (15:06 +0900)]
x86,percpu: fix inverted NUMA test in setup_pcpu_remap()

setup_percpu_remap() is for NUMA machines yet it bailed out with
-EINVAL if pcpu_need_numa().  Fix the inverted condition.

This problem was reported by David Miller and verified by Yinhai Lu.

Reported-by: David Miller <davem@davemloft.net>
Reported-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
LKML-Reference: <49D30469.8020006@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosh: Add a command line option for disabling I/O trapping.
Paul Mundt [Thu, 2 Apr 2009 03:31:16 +0000 (12:31 +0900)]
sh: Add a command line option for disabling I/O trapping.

This adds a 'noiotrap' kernel command line option to permit disabling of
I/O trapping. This is mostly useful for running on emulators where the
physical device limitations are not an issue.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Select ARCH_HIBERNATION_POSSIBLE.
Paul Mundt [Thu, 2 Apr 2009 02:56:38 +0000 (11:56 +0900)]
sh: Select ARCH_HIBERNATION_POSSIBLE.

Now that the requisite patches have gone in, this can safely be enabled
across the board for all of the 32-bit SH platforms.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoparisc: fix build when ARCH_HAS_KMAP
Kyle McMartin [Thu, 2 Apr 2009 02:40:41 +0000 (02:40 +0000)]
parisc: fix build when ARCH_HAS_KMAP

When we build for PA8X00, we define ARCH_HAS_KMAP, which results in
the kmap_types.h include in highmem.h getting skipped...

In file included from include/linux/pagemap.h:10,
                 from include/linux/mempolicy.h:62,
                 from init/main.c:52:
include/linux/highmem.h:196: warning: 'enum km_type' declared inside parameter list
include/linux/highmem.h:196: warning: its scope is only this definition or declaration, which is probably not what you want
include/linux/highmem.h:196: error: parameter 1 ('type') has incomplete type

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agosh: migor: Fix up CEU use flags.
Paul Mundt [Thu, 2 Apr 2009 02:25:12 +0000 (11:25 +0900)]
sh: migor: Fix up CEU use flags.

Follows the same change as per ap325rxa, which was inadvertently omitted.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoinput: migor_ts: add wakeup support
Magnus Damm [Wed, 1 Apr 2009 14:49:41 +0000 (14:49 +0000)]
input: migor_ts: add wakeup support

Add wakeup support to the migor_ts driver. If user space has enabled
wakeup, use set_irq_wake() during suspend and resume. With this patch
the migor_ts driver can be used to wake the system from suspend.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agortc: rtc-sh: use set_irq_wake()
Magnus Damm [Wed, 1 Apr 2009 14:45:17 +0000 (14:45 +0000)]
rtc: rtc-sh: use set_irq_wake()

Modify the sh_rtc driver to use set_irq_wake() during suspend
and resume. These functions are used to enable the rtc interrupts
in the interrupt controller so the rtc can be used to wakeup the
system from suspend.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoinput: sh_keysc: use enable/disable_irq_wake()
Magnus Damm [Wed, 1 Apr 2009 14:39:20 +0000 (14:39 +0000)]
input: sh_keysc: use enable/disable_irq_wake()

Modify the sh_keysc driver to use enable/disable_irq_wake()
during suspend and resume. These functions are used to enable
the sh_keysc interrupt in the interrupt controller so the
keypad can be used to wakeup the system from suspend.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: intc: set_irq_wake() support
Magnus Damm [Wed, 1 Apr 2009 14:30:59 +0000 (14:30 +0000)]
sh: intc: set_irq_wake() support

Add set_irq_wake() support to intc using sysdev and suspend.

The intc controllers are put on a list at registration time
and registered as sysdev devices later on during the boot.

The sysdev class suspend callback is used to find irqs with
wakeup enabled belonging to our intc controller. Such irqs
are simply enabled so wakeup interrupts may reach the cpu.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: intc: install enable, disable and shutdown callbacks
Magnus Damm [Wed, 1 Apr 2009 14:20:58 +0000 (14:20 +0000)]
sh: intc: install enable, disable and shutdown callbacks

Modify the intc code to install a disable callback. The current
solution without a disable callback results in use of the
generic default_disable() function. This function is a no-op
so suspend_device_irqs() will not disable any intc interrupts
at suspend time without this patch. Also, install enable and
shutdown callbacks while at it.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoclocksource: sh_cmt: use remove_irq() and remove clockevent workaround
Magnus Damm [Wed, 1 Apr 2009 14:11:07 +0000 (14:11 +0000)]
clocksource: sh_cmt: use remove_irq() and remove clockevent workaround

Update the sh_cmt driver to make use of recent irq and clockevent changes:
 - use remove_irq() together with setup_irq()
 - remove mult workaround since WARN_ON() now has been moved

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Paul Mundt [Thu, 2 Apr 2009 02:17:41 +0000 (11:17 +0900)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

16 years agoMerge branch 'rusty-cpumask-parisc' into parisc
Kyle McMartin [Thu, 2 Apr 2009 01:43:14 +0000 (01:43 +0000)]
Merge branch 'rusty-cpumask-parisc' into parisc

16 years agoparisc: fix "make tar-pkg"
Helge Deller [Wed, 18 Feb 2009 22:12:21 +0000 (22:12 +0000)]
parisc: fix "make tar-pkg"

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agopowerpc/ps3: Add rtc-ps3
Geert Uytterhoeven [Tue, 24 Feb 2009 13:04:20 +0000 (14:04 +0100)]
powerpc/ps3: Add rtc-ps3

Create a real RTC driver for PS3, and unhook the deprecated
ppc_md.[gs]et_rtc_time.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agopowerpc: Hook up rtc-generic, and kill rtc-ppc
Geert Uytterhoeven [Thu, 19 Feb 2009 15:50:46 +0000 (16:50 +0100)]
powerpc: Hook up rtc-generic, and kill rtc-ppc

PowerPC has been a long time user of the generic RTC abstraction, so hook up
rtc-generic:
  - Create the "rtc-generic" platform device if ppc_md.get_rtc_time is set,
  - Kill rtc-ppc, as rtc-generic offers the same functionality in a more
    generic way, and supports autoloading through udev.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: David Woodhouse <David.Woodhouse@intel.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agom68k: Hook up rtc-generic
Geert Uytterhoeven [Thu, 19 Feb 2009 15:50:46 +0000 (16:50 +0100)]
m68k: Hook up rtc-generic

m68k has been a long time user of the generic RTC abstraction, so hook up
rtc-generic:
  - Create the "rtc-generic" platform device if mach_hwclk is set,
  - Add checks for mach_hwclk, in anticipation of RTC chip drivers being moved
    to drivers/rtc/.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: rtc: Rename rtc-parisc to rtc-generic
Geert Uytterhoeven [Thu, 19 Feb 2009 15:46:49 +0000 (16:46 +0100)]
parisc: rtc: Rename rtc-parisc to rtc-generic

The rtc-parisc driver is not PA-RISC specific at all, as it uses the existing
(but deprecated) generic RTC infrastructure ([gs]et_rtc_time()).
Rename the driver from rtc-parisc to rtc-generic.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: rtc: Add missing module alias
Geert Uytterhoeven [Thu, 19 Feb 2009 14:50:53 +0000 (15:50 +0100)]
parisc: rtc: Add missing module alias

Make udev autoload the driver

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: rtc: platform_driver_probe() fixups
Geert Uytterhoeven [Fri, 6 Mar 2009 14:57:06 +0000 (15:57 +0100)]
parisc: rtc: platform_driver_probe() fixups

When using platform_driver_probe(), it's not needed to setup a .probe
function, and .remove should be marked __exit_p(), not __devexit_p().

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Cc: dann frazier <dannf@hp.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: rtc: get_rtc_time() returns unsigned int
Geert Uytterhoeven [Fri, 6 Mar 2009 14:54:54 +0000 (15:54 +0100)]
parisc: rtc: get_rtc_time() returns unsigned int

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: drivers: fix warnings
Alexander Beregalov [Thu, 19 Mar 2009 10:54:07 +0000 (10:54 +0000)]
parisc: drivers: fix warnings

ccio-dma.c:456: warning: overflow in implicit constant conversion
ccio-dma.c:459: warning: overflow in implicit constant conversion
ccio-dma.c:1032: warning: unused variable 'j'
ccio-dma.c:1031: warning: unused variable 'max'
ccio-dma.c:1031: warning: unused variable 'min'
ccio-dma.c:1031: warning: unused variable 'avg'
ccio-dma.c:1403: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
ccio-dma.c:1403: warning: format '%08lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
ccio-dma.c:1554: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
dino.c:822: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
dino.c:822: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'resource_size_t'
dino.c:902: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
dino.c:902: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
asp.c:84: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
eisa.c:317: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
eisa_enumerator.c:101: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t'
eisa_enumerator.c:101: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'
eisa_enumerator.c:191: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t'
eisa_enumerator.c:191: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t'

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: select BUG always
Kyle McMartin [Wed, 25 Mar 2009 14:09:10 +0000 (14:09 +0000)]
parisc: select BUG always

On Wed, Mar 25, 2009 at 05:02:21PM +0300, Alexander Beregalov wrote:
> arch/parisc/kernel/traps.c:321: error: 'PARISC_BUG_BREAK_INSN'
> undeclared (first use in this function)
>
> # CONFIG_BUG is not set
> CONFIG_EMBEDDED=y
>
> Is it a reasonable config?

imho, no.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: asm/pdc.h should include asm/page.h
Alexander Beregalov [Wed, 1 Apr 2009 15:43:40 +0000 (15:43 +0000)]
parisc: asm/pdc.h should include asm/page.h

Fixes this build error:
arch/parisc/kernel/pdc_cons.c:117: error: '__PAGE_OFFSET' undeclared

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agoparisc: led: remove proc_dir_entry::owner
Alexander Beregalov [Fri, 20 Mar 2009 14:55:50 +0000 (14:55 +0000)]
parisc: led: remove proc_dir_entry::owner

proc_dir_entry::owner was removed in 0702c1c1a4
(proc 2/2: remove struct proc_dir_entry::owner)

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
16 years agotracing, net: fix net tree and tracing tree merge interaction
Stephen Rothwell [Thu, 19 Mar 2009 04:46:17 +0000 (15:46 +1100)]
tracing, net: fix net tree and tracing tree merge interaction

Today's linux-next build (powerpc ppc64_defconfig) failed like this:

 In file included from net/core/skbuff.c:69:
 include/trace/skb.h:4: error: expected ')' before '(' token
 include/trace/skb.h:4: error: expected ')' before '(' token
 [...]

Caused by commit 2939b0469d04ba9ac791aca9a81625d7eb50662b ("tracing:
replace TP<var> with TP_<var>") from the tracing tree interacting with
commit 4893d39e865b2897bf9fcd329697d37032d853a1 ("Network Drop Monitor:
Add trace declaration for skb frees") from the net tree.

Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotracing, powerpc: fix powerpc tree and tracing tree interaction
Stephen Rothwell [Fri, 27 Mar 2009 12:08:34 +0000 (23:08 +1100)]
tracing, powerpc: fix powerpc tree and tracing tree interaction

Today's linux-next build (powerpc allyesconfig) failed like this:

arch/powerpc/kernel/ftrace.c: In function 'prepare_ftrace_return':
arch/powerpc/kernel/ftrace.c:612: warning: passing argument 3 of 'ftrace_push_return_trace' makes pointer from integer without a cast
arch/powerpc/kernel/ftrace.c:612: error: too many arguments to function 'ftrace_push_return_trace'

Caused by commit 5d1a03dc541dc6672e60e57249ed22f40654ca47
("function-graph: moved the timestamp from arch to generic code") from
the tracing tree which (removed an argument from
ftrace_push_return_trace()) interacting with commit
6794c78243bfda020ab184d6d578944f8e90d26c ("powerpc64: port of the
function graph tracer") from the powerpc tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: <linuxppc-dev@ozlabs.org>
LKML-Reference: <20090327230834.93d0221d.sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branch 'tracing/core-v2' into tracing-for-linus
Ingo Molnar [Wed, 1 Apr 2009 19:54:19 +0000 (21:54 +0200)]
Merge branch 'tracing/core-v2' into tracing-for-linus

Conflicts:
include/linux/slub_def.h
lib/Kconfig.debug
mm/slob.c
mm/slub.c

16 years agodw_dmac: add cyclic API to DW DMA driver
Hans-Christian Egtvedt [Wed, 1 Apr 2009 13:47:02 +0000 (15:47 +0200)]
dw_dmac: add cyclic API to DW DMA driver

This patch adds a cyclic DMA interface to the DW DMA driver. This is
very useful if you want to use the DMA controller in combination with a
sound device which uses cyclic buffers.

Using a DMA channel for cyclic DMA will disable the possibility to use
it as a normal DMA engine until the user calls the cyclic free function
on the DMA channel. Also a cyclic DMA list can not be prepared if the
channel is already active.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
16 years agodrm/i915: Add a spinlock to protect the active_list
Carl Worth [Fri, 20 Mar 2009 18:54:25 +0000 (11:54 -0700)]
drm/i915: Add a spinlock to protect the active_list

This is a baby-step in the direction of having finer-grained
locking than the struct_mutex. Specifically, this will enable
new debugging code to read the active list for printing out
GPU state when the GPU is wedged, (while the struct_mutex is
held, of course).

Signed-off-by: Carl Worth <cworth@cworth.org>
[anholt: indentation fix]
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: Fix SDVO TV support
Zhenyu Wang [Tue, 24 Mar 2009 06:02:43 +0000 (14:02 +0800)]
drm/i915: Fix SDVO TV support

This brings SDVO TV support from 2D driver, including origin
fix f1ca56e17d0 and later fix 2fcf4fcccfe. Also fix wrong modeline
definitions for SDVO TV.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command
Zhenyu Wang [Tue, 24 Mar 2009 06:02:42 +0000 (14:02 +0800)]
drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command

This brings fix commit acde0ef683 from 2D driver.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: Fix error in SDVO DTD and modeline convert
Zhenyu Wang [Tue, 24 Mar 2009 06:02:41 +0000 (14:02 +0800)]
drm/i915: Fix error in SDVO DTD and modeline convert

This brings fix commit 62c0c2f5549a from 2D driver.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: Fix SDVO command debug function
Zhenyu Wang [Tue, 24 Mar 2009 06:02:40 +0000 (14:02 +0800)]
drm/i915: Fix SDVO command debug function

Fix compile error of intel_sdvo_debug_response(),
and explicit use KERN_DEBUG for printk.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: fix TV mode setting in property change
Zhenyu Wang [Mon, 23 Mar 2009 16:45:13 +0000 (00:45 +0800)]
drm/i915: fix TV mode setting in property change

Only set TV DAC in property change seems doesn't work, we have to
setup whole crtc pipe which assigned to TV alone.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
[anholt: Note that this should also fix the oops at startup with new 2D]
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: only set TV mode when any property changed
Zhenyu Wang [Mon, 23 Mar 2009 11:40:57 +0000 (19:40 +0800)]
drm/i915: only set TV mode when any property changed

If there's no real property change, don't need to set TV mode again.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
[anholt: checkpatch.pl fix]
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: clean up udelay usage
Arjan van de Ven [Mon, 23 Mar 2009 20:36:25 +0000 (13:36 -0700)]
drm/i915: clean up udelay usage

udelay() of 20 milliseconds really ought to just use mdelay(), that avoids
the various wrap scenarios and also is more readable

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: add VGA hotplug support for 945+
Jesse Barnes [Tue, 31 Mar 2009 21:11:15 +0000 (14:11 -0700)]
drm/i915: add VGA hotplug support for 945+

Add VGA port hotplug detection to the i915 driver.  When KMS is enabled,
plugging in or removing a VGA cable from the VGA connector will
generate a uevent, which indicates to userspace that it should re-probe
outputs on this device (to determine modes, etc.).

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[anholt: dropped extra PORT_HOTPLUG_STAT clear with ack from jbarnes]
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
Felix Blyakher [Wed, 1 Apr 2009 21:58:39 +0000 (16:58 -0500)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus

16 years agoserial: fixup /proc/tty/driver/serial after proc_fops conversion
Alexey Dobriyan [Wed, 1 Apr 2009 21:30:04 +0000 (01:30 +0400)]
serial: fixup /proc/tty/driver/serial after proc_fops conversion

"struct tty_driver *" lies in m->private not in v which is
SEQ_TOKEN_START which is 1 which is enough to trigger NULL dereference
next line:

BUG: unable to handle kernel NULL pointer dereference at 000000ad
IP: [<c040d689>] uart_proc_show+0xe/0x2b0

Noticed by Linus.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[ARM] 5441/1: Use pr_err on error paths in at91 pm
Ryan Mallon [Wed, 1 Apr 2009 19:33:30 +0000 (20:33 +0100)]
[ARM] 5441/1: Use pr_err on error paths in at91 pm

Change pr_debug to pr_err on error paths in the AT91 power management
code. All of the errors will result in the cpu not going into the
suspend state. This patch makes it possible to identify problems with
suspend when power management debugging is not enabled.

Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions
George G. Davis [Wed, 1 Apr 2009 19:27:18 +0000 (20:27 +0100)]
[ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions

We've observed that ARM VFP state can be corrupted during VFP exception
handling when PREEMPT is enabled.  The exact conditions are difficult
to reproduce but appear to occur during VFP exception handling when a
task causes a VFP exception which is handled via VFP_bounce and is then
preempted by yet another task which in turn causes yet another VFP
exception.  Since the VFP_bounce code is not preempt safe, VFP state then
becomes corrupt.  In order to prevent preemption from occuring while
handling a VFP exception, this patch disables preemption while handling
VFP exceptions.

Signed-off-by: George G. Davis <gdavis@mvista.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 5439/1: Do not clear bit 10 of DFSR during abort handling on ARMv6
Catalin Marinas [Wed, 1 Apr 2009 12:53:48 +0000 (13:53 +0100)]
[ARM] 5439/1: Do not clear bit 10 of DFSR during abort handling on ARMv6

Because of an ARM1136 erratum (326103), the current v6_early_abort
function needs to set the correct FSR[11] value which determines whether
the data abort was caused by a read or write. For legacy reasons (bit 10
not handled by software), bit 10 was also cleared masking out imprecise
aborts on ARMv6 CPUs. This patch removes the clearing of bit 10 of FSR.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 5437/1: Add documentation for "nohlt" kernel parameter
Paulius Zaleckas [Tue, 31 Mar 2009 12:55:44 +0000 (13:55 +0100)]
[ARM] 5437/1: Add documentation for "nohlt" kernel parameter

As per discussion in:
http://marc.info/?l=linux-arm-kernel&m=123633652517391&w=2

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 5436/1: ARM: OMAP: Fix compile for rx51
Tony Lindgren [Mon, 30 Mar 2009 21:58:31 +0000 (22:58 +0100)]
[ARM] 5436/1: ARM: OMAP: Fix compile for rx51

This fixes a compile error caused by a mismerge while rebasing the patch:

linux-2.6/arch/arm/mach-omap2/board-rx51-peripherals.c:354:
undefined reference to `twl4030_mmc_init'

Looks like I need to also update my build scripts, just grepping for error:
in the logs is not obviously enough..

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Wed, 1 Apr 2009 20:33:41 +0000 (13:33 -0700)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (29 commits)
  [IA64] BUG to BUG_ON changes
  [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c
  ia64: remove some warnings.
  ia64/xen: fix the link error.
  ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.
  ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.
  ia64/pv_ops/bp/module: support binary patching for kernel module.
  ia64/pv_ops: implement binary patching optimization for native.
  ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.
  ia64/pv_ops/xen/gate.S: xen gate page paravirtualization
  ia64/pv_ops: paravirtualize gate.S.
  ia64/pv_ops: move down __kernel_syscall_via_epc.
  ia64/pv_ops/xen: define xen specific gate page.
  ia64/pv_ops: gate page paravirtualization.
  ia64/pv_ops/xen/pv_time_ops: implement sched_clock.
  ia64/pv_ops/pv_time_ops: add sched_clock hook.
  ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm
  ia64/pv_ops: paravirtualize mov = ar.itc.
  ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization
  ia64/pv_ops: paravirtualize fsys.S.
  ...

16 years agoMerge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Wed, 1 Apr 2009 19:52:57 +0000 (12:52 -0700)]
Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx

16 years agoqeth: properly delete empty files.
Linus Torvalds [Wed, 1 Apr 2009 19:46:15 +0000 (12:46 -0700)]
qeth: properly delete empty files.

Commit 64ef8957986f6a04f61e7c95fa6ffeb3a86a6661 ("qeth: remove EDDP")
removed the qeth_core_offl.[hc] files, but ended up doing so by just
patching them to zero size, rather than removing them properly.

Actually remove the files.

Reported-by: Andrew Price <andy@andrewprice.me.uk>
Cc: Frank Blaschka <frank.blaschka@de.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoremove <linux/ata.h> include from <linux/hdreg.h>
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:26 +0000 (21:42 +0200)]
remove <linux/ata.h> include from <linux/hdreg.h>

All <linux/hdreg.h> users that need <linux/ata.h> have been fixed
to include it directly.

Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoinclude/linux/hdreg.h: remove unused defines
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:25 +0000 (21:42 +0200)]
include/linux/hdreg.h: remove unused defines

* Move HD_IRQ define to drivers/block/hd.c (only user).

* Remove unused *_STAT, *_ERR, HD_*, CD, IO, REL and TAG_MASK defines.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoisd200: use ATA_* defines instead of *_STAT and *_ERR ones
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:25 +0000 (21:42 +0200)]
isd200: use ATA_* defines instead of *_STAT and *_ERR ones

Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoinclude/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:25 +0000 (21:42 +0200)]
include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoaoe: WIN_* -> ATA_CMD_*
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:24 +0000 (21:42 +0200)]
aoe: WIN_* -> ATA_CMD_*

* Use ATA_CMD_* defines instead of WIN_* ones.

* Include <linux/ata.h> directly instead of through <linux/hdreg.h>.

Cc: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoisd200: WIN_* -> ATA_CMD_*
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:24 +0000 (21:42 +0200)]
isd200: WIN_* -> ATA_CMD_*

* Use ATA_CMD_* defines instead of WIN_* ones.

Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoinclude/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:23 +0000 (21:42 +0200)]
include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoxsysace: make it 'struct hd_driveid'-free
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:22 +0000 (21:42 +0200)]
xsysace: make it 'struct hd_driveid'-free

* Change cf_id field in struct ace_device from 'struct hd_driveid *id'
  to 'u16 *id' and update driver accordingly.

* Include <linux/ata.h> directly instead of through <linux/hdreg.h>.

While at it:

* Use ata_id_u32() macro.

There should be no functional changes caused by this patch.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoubd_kern: make it 'struct hd_driveid'-free
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:21 +0000 (21:42 +0200)]
ubd_kern: make it 'struct hd_driveid'-free

* Change ubd_id in ubd_ioctl() from 'struct hd_driveid *id'
  to 'u16 *id' and update driver accordingly.

* Include <linux/ata.h> directly instead of through <linux/hdreg.h>.

There should be no functional changes caused by this patch.

Cc: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoisd200: make it 'struct hd_driveid'-free
Bartlomiej Zolnierkiewicz [Wed, 1 Apr 2009 19:42:19 +0000 (21:42 +0200)]
isd200: make it 'struct hd_driveid'-free

* Factor out debug dump of id from isd200_get_inquiry_data()
  to isd200_dump_driveid().

* Change id field in struct isd200_info from 'struct hd_driveid *id'
  to 'u16 *id' and update driver accordingly.

* Include <linux/ata.h> directly instead of through <linux/hdreg.h>.

While at it:

* Use ata_id_u32() and ata_id_has_lba() macros.

There should be no functional changes caused by this patch.

Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agodrm/i915: correctly set IGD device's gtt size for KMS.
Shaohua Li [Fri, 13 Mar 2009 08:22:33 +0000 (16:22 +0800)]
drm/i915: correctly set IGD device's gtt size for KMS.

IGD device only has last 1 page used by GTT.  This should match the AGP gart
code.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: avoid hanging on to a stale pointer to raw_edid.
Ma Ling [Wed, 11 Mar 2009 10:18:29 +0000 (18:18 +0800)]
drm/i915: avoid hanging on to a stale pointer to raw_edid.

drm_get_edid will store edid into raw_edid, so when freeing edid memory,
at the same time clean raw_edid pointer.

Signed-off-by: Ma Ling <ling.ma@intel.com>
[anholt: Note that raw_edid is not currently used anywhere]
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agox86, setup: guard against pre-ACPI 3 e820 code not updating %ecx
H. Peter Anvin [Wed, 1 Apr 2009 18:35:00 +0000 (11:35 -0700)]
x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx

Impact: BIOS bug safety

For pre-ACPI 3 BIOSes, pre-initialize the end of the e820 buffer just
in case the BIOS returns an unchanged %ecx but without actually
touching the ACPI 3 extended flags field.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
16 years agoMerge branch 'x86/setup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux...
Linus Torvalds [Wed, 1 Apr 2009 18:13:31 +0000 (11:13 -0700)]
Merge branch 'x86/setup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86/setup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, setup: ACPI 3, BIOS workaround for E820-probing code
  x86, setup: preemptively save/restore edi and ebp around INT 15 E820
  x86, setup: mark %esi as clobbered in E820 BIOS call

16 years agodrm/i915: check for -EINVAL from vm_insert_pfn
Jesse Barnes [Fri, 20 Mar 2009 21:16:33 +0000 (14:16 -0700)]
drm/i915: check for -EINVAL from vm_insert_pfn

Indicates something is wrong with the mapping; and apparently triggers
in current kernels.

Signed-off-by: Jesse Barnes <jbarnes@virtuosugeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agodrm/i915: fix up tiling/fence reg setup on i8xx class hw
Daniel Vetter [Sun, 29 Mar 2009 12:09:41 +0000 (14:09 +0200)]
drm/i915: fix up tiling/fence reg setup on i8xx class hw

This fixes all the tiling problems with the 2d ddx. glxgears still doesn't work.
Changes:

- fix a copy&paste error in i8xx fence reg setup. It resulted in an at most a
  512KB offset of the fence reg window, so was only visible sometimes.
- add tests for stride and object size constrains (also for i915 and 1965 class
  hw). Userspace seems to have an of-by-one bug there, which changes the fence
  size by at most 512KB due to an overflow.
- because i8xx hw is quite old (and therefore not as well-tested) I left 2 debug
  WARN_ONs in the i8xx fence reg setup code to hopefully catch any further
  overflows in the bit-fields. Lastly there's one small change to make the
  alignment checks more consistent.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=20289
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Eric Anholt <eric@anholt.net>
16 years agoMerge branch 'for-linus' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Wed, 1 Apr 2009 17:58:42 +0000 (10:58 -0700)]
Merge branch 'for-linus' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'for-linus' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (58 commits)
  SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port
  NSM: Fix unaligned accesses in nsm_init_private()
  NFS: Simplify logic to compare socket addresses in client.c
  NFS: Start PF_INET6 callback listener only if IPv6 support is available
  lockd: Start PF_INET6 listener only if IPv6 support is available
  SUNRPC: Remove CONFIG_SUNRPC_REGISTER_V4
  SUNRPC: rpcb_register() should handle errors silently
  SUNRPC: Simplify kernel RPC service registration
  SUNRPC: Simplify svc_unregister()
  SUNRPC: Allow callers to pass rpcb_v4_register a NULL address
  SUNRPC: rpcbind actually interprets r_owner string
  SUNRPC: Clean up address type casts in rpcb_v4_register()
  SUNRPC: Don't return EPROTONOSUPPORT in svc_register()'s helpers
  SUNRPC: Use IPv4 loopback for registering AF_INET6 kernel RPC services
  SUNRPC: Set IPV6ONLY flag on PF_INET6 RPC listener sockets
  NFS: Revert creation of IPv6 listeners for lockd and NFSv4 callbacks
  SUNRPC: Remove @family argument from svc_create() and svc_create_pooled()
  SUNRPC: Change svc_create_xprt() to take a @family argument
  SUNRPC: svc_setup_socket() gets protocol family from socket
  SUNRPC: Pass a family argument to svc_register()
  ...

16 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Wed, 1 Apr 2009 17:57:49 +0000 (10:57 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (33 commits)
  ext4: Regularize mount options
  ext4: fix locking typo in mballoc which could cause soft lockup hangs
  ext4: fix typo which causes a memory leak on error path
  jbd2: Update locking coments
  ext4: Rename pa_linear to pa_type
  ext4: add checks of block references for non-extent inodes
  ext4: Check for an valid i_mode when reading the inode from disk
  ext4: Use WRITE_SYNC for commits which are caused by fsync()
  ext4: Add auto_da_alloc mount option
  ext4: Use struct flex_groups to calculate get_orlov_stats()
  ext4: Use atomic_t's in struct flex_groups
  ext4: remove /proc tuning knobs
  ext4: Add sysfs support
  ext4: Track lifetime disk writes
  ext4: Fix discard of inode prealloc space with delayed allocation.
  ext4: Automatically allocate delay allocated blocks on rename
  ext4: Automatically allocate delay allocated blocks on close
  ext4: add EXT4_IOC_ALLOC_DA_BLKS ioctl
  ext4: Simplify delalloc code by removing mpage_da_writepages()
  ext4: Save stack space by removing fake buffer heads
  ...

16 years agoMerge branch 'devel' into for-linus
Trond Myklebust [Wed, 1 Apr 2009 17:28:15 +0000 (13:28 -0400)]
Merge branch 'devel' into for-linus

16 years agoSUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port
Trond Myklebust [Mon, 30 Mar 2009 22:59:17 +0000 (18:59 -0400)]
SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port

Also ensure that we use the protocol family instead of the address
family when calling sock_create_kern().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
16 years agoNSM: Fix unaligned accesses in nsm_init_private()
Mans Rullgard [Sat, 28 Mar 2009 19:55:20 +0000 (19:55 +0000)]
NSM: Fix unaligned accesses in nsm_init_private()

This fixes unaligned accesses in nsm_init_private() when
creating nlm_reboot keys.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
Linus Torvalds [Wed, 1 Apr 2009 17:20:44 +0000 (10:20 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
  Btrfs: try to free metadata pages when we free btree blocks
  Btrfs: add extra flushing for renames and truncates
  Btrfs: make sure btrfs_update_delayed_ref doesn't increase ref_mod
  Btrfs: optimize fsyncs on old files
  Btrfs: tree logging unlink/rename fixes
  Btrfs: Make sure i_nlink doesn't hit zero too soon during log replay
  Btrfs: limit balancing work while flushing delayed refs
  Btrfs: readahead checksums during btrfs_finish_ordered_io
  Btrfs: leave btree locks spinning more often
  Btrfs: Only let very young transactions grow during commit
  Btrfs: Check for a blocking lock before taking the spin
  Btrfs: reduce stack in cow_file_range
  Btrfs: reduce stalls during transaction commit
  Btrfs: process the delayed reference queue in clusters
  Btrfs: try to cleanup delayed refs while freeing extents
  Btrfs: reduce stack usage in some crucial tree balancing functions
  Btrfs: do extent allocation and reference count updates in the background
  Btrfs: don't preallocate metadata blocks during btrfs_search_slot

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Wed, 1 Apr 2009 17:02:15 +0000 (10:02 -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: (59 commits)
  ide-floppy: do not complete rq's prematurely
  ide: be able to build pmac driver without IDE built-in
  ide-pmac: IDE cable detection on Apple PowerBook
  ide: inline SELECT_DRIVE()
  ide: turn selectproc() method into dev_select() method (take 5)
  MAINTAINERS: move old ide-{floppy,tape} entries to CREDITS (take 2)
  ide: move data register access out of tf_{read|load}() methods (take 2)
  ide: call {in|out}put_data() methods from tf_{read|load}() methods (take 2)
  ide-io-std: shorten ide_{in|out}put_data()
  ide: rename IDE_TFLAG_IN_[HOB_]FEATURE
  ide: turn set_irq() method into write_devctl() method
  ide: use ATA_HOB
  ide-disk: use ATA_ERR
  ide: add support for CFA specified transfer modes (take 3)
  ide-iops: only clear DMA words on setting DMA mode
  ide: identify data word 53 bit 1 doesn't cover words 62 and 63 (take 3)
  au1xxx-ide: auide_{in|out}sw() should be static
  ide-floppy: use ide_pio_bytes()
  ide-{floppy,tape}: fix padding for PIO transfers
  ide: remove CONFIG_BLK_DEV_IDEDOUBLER config option
  ...

16 years ago[IA64] BUG to BUG_ON changes
Stoyan Gaydarov [Tue, 10 Mar 2009 05:10:30 +0000 (00:10 -0500)]
[IA64] BUG to BUG_ON changes

Replace:

if (test)
BUG();

with
BUG_ON(test);

Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
16 years agoMerge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Wed, 1 Apr 2009 16:47:12 +0000 (09:47 -0700)]
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (88 commits)
  PCI: fix HT MSI mapping fix
  PCI: don't enable too much HT MSI mapping
  x86/PCI: make pci=lastbus=255 work when acpi is on
  PCI: save and restore PCIe 2.0 registers
  PCI: update fakephp for bus_id removal
  PCI: fix kernel oops on bridge removal
  PCI: fix conflict between SR-IOV and config space sizing
  powerpc/PCI: include pci.h in powerpc MSI implementation
  PCI Hotplug: schedule fakephp for feature removal
  PCI Hotplug: rename legacy_fakephp to fakephp
  PCI Hotplug: restore fakephp interface with complete reimplementation
  PCI: Introduce /sys/bus/pci/devices/.../rescan
  PCI: Introduce /sys/bus/pci/devices/.../remove
  PCI: Introduce /sys/bus/pci/rescan
  PCI: Introduce pci_rescan_bus()
  PCI: do not enable bridges more than once
  PCI: do not initialize bridges more than once
  PCI: always scan child buses
  PCI: pci_scan_slot() returns newly found devices
  PCI: don't scan existing devices
  ...

Fix trivial append-only conflict in Documentation/feature-removal-schedule.txt

16 years ago[IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c
Randy Dunlap [Wed, 1 Apr 2009 16:26:12 +0000 (09:26 -0700)]
[IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c

sn2_ptc_init() has what looks like a cut-n-paste error. Fix it.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
16 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Wed, 1 Apr 2009 16:22:24 +0000 (09:22 -0700)]
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] cio: online_store - trigger recognition for boxed devices
  [S390] cio: disallow online setting of device in transient state
  [S390] cio: introduce notifier for boxed state
  [S390] cio: introduce ccw_device_schedule_sch_unregister
  [S390] cio: wake up on failed recognition
  [S390] fix hypfs build failure
  [PATCH] sysrq: include interrupt.h instead of irq.h

16 years agoefifb: dmi set video type
Brian Maly [Tue, 31 Mar 2009 22:25:50 +0000 (15:25 -0700)]
efifb: dmi set video type

The current logic for dmi matching in efifb does not allow efifb to load
on all hardware that we can dmi match for.

For a real world example, boot with elilo (3.7 or 3.8 vanilla) and on a
Apple (MacBook) and EFI framebuffer driver will not load (you will have no
video).  This specific hardware is efi v1.10, so we have UGA and not GOP.
Without special bootloader magic (i.e.  extra elilo patches for UGA
graphics detection) no screen info will be passed to the kernel and as a
result efifb will not load.

This patch allows the dmi match to happen by moving it to earlier in
efifb_init, and sets the video type (in set_system) so that efifb can load
when we have a valid dmi match and already know the specifics of the
hardware.

Without this patch the efifb driver will fail to load in the event screen
info is not found and passed in by the bootloader, being that we will
never get to look for a dmi match.  A primary reason for matching with dmi
is because not all bootloaders detect the video info properly.  The
solution is that in the event of a dmi match, we should set
screen_info.orig_video_isVGA.  Most bootloaders fail to set screen info on
Apple hardware, and this is a big problem for people who use Apple
hardware.

Tested on a MacBook SantaRosa with elilo-3.8 (vanilla) and resolves the
issue, the dmi match now works, EFI framebuffer now loads and video works.

Signed-off-by: Brian Maly <bmaly@redhat.com>
Acked-by: Huang Ying <ying.huang@intel.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Chandramouli Narayanan <mouli@linux.intel.com>
Acked-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agotridentfb: delete acceleration Kconfig option
Krzysztof Helt [Tue, 31 Mar 2009 22:25:48 +0000 (15:25 -0700)]
tridentfb: delete acceleration Kconfig option

Remove Kconfig option for tridentfb acceleration.  The acceleration can be
switched off with modules "noaccel" parameter.

The acceleration for Trident chips was fixed in the 2.6.27 kernel.

Also, add CyberXXX and CyberBlade names to Kconfig option's name.  It should
make easier to find the tridentfb choice for cyblafb driver's users.  The
cyblafb driver has been replaced by the tridentfb driver.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoatyfb: speed up Mach64 cursor
Krzysztof Helt [Tue, 31 Mar 2009 22:25:47 +0000 (15:25 -0700)]
atyfb: speed up Mach64 cursor

Save one fifo entry on cursor enabling and disabling.

Save another fifo entry for FB_CUR_SETPOS operation by removing redundant one.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofb: hide hardware cursor in graphics mode (Mach64)
Krzysztof Helt [Tue, 31 Mar 2009 22:25:47 +0000 (15:25 -0700)]
fb: hide hardware cursor in graphics mode (Mach64)

A hardware cursor is left enabled in the fb_set_par() which is called when a
new console is created.  This is inconsistent with software cursor's
behaviour.

Also, this makes a hardware cursor always visible in the Xfbdev (Xorg kdrive)
server.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Risto Suominen <risto.suominen@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agonvidiafb: remove open_lock mutex
Alessio Igor Bogani [Tue, 31 Mar 2009 22:25:46 +0000 (15:25 -0700)]
nvidiafb: remove open_lock mutex

Remove mutex from the nvidiafb_open/nvidiafb_release functions as these
operations are mutexed at fb layer.

Signed-off-by: Alessio Igor Bogani <abogani@texware.it>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoradeonfb: suspend/resume for ATI Mobility Radeon RV350
Wolfgang Kroener [Tue, 31 Mar 2009 22:25:44 +0000 (15:25 -0700)]
radeonfb: suspend/resume for ATI Mobility Radeon RV350

Add suspend/resume for the Acer Travelmate 290D/292LMi with the following
graphic-chip:

01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV350
[Mobility Radeon 9600 M10] [1002:4e50] (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] TravelMate 290 [1025:005a]
Flags: bus master, 66MHz, medium devsel, latency 128, IRQ 10
Memory at a8000000 (32-bit, prefetchable) [size=128M]
I/O ports at c100 [size=256]
Memory at e0010000 (32-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at a0000000 [disabled] [size=128K]
Capabilities: [58] AGP version 2.0
Capabilities: [50] Power Management version 2
Kernel driver in use: radeonfb
Kernel modules: radeonfb

Signed-off-by: Wolfgang Kroener <lkml@azog.de>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoomapfb: fix argument of blank operation
Felipe Contreras [Tue, 31 Mar 2009 22:25:42 +0000 (15:25 -0700)]
omapfb: fix argument of blank operation

The blank operation should receive FB_BLANK_POWERDOWN, not VESA_POWERDOWN.

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Andrea Righi <righi.andrea@gmail.com>
Acked-by: Trilok Soni <soni.trilok@gmail.com>
Cc: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agouvesafb: fix selecting mode with the vbemode option
Michal Januszewski [Tue, 31 Mar 2009 22:25:41 +0000 (15:25 -0700)]
uvesafb: fix selecting mode with the vbemode option

If the vbemode option is used, uvesafb calls fb_get_mode() without first
setting the resolution in info->var.  This results in a division by zero
in fb_get_mode(), as evidenced e.g.  in [1].  Fix this by ensuring the
info->var structure is populated before fb_get_mode() is called.

[1] http://bugzilla.kernel.org/show_bug.cgi?id=11661#c37

Signed-off-by: Michal Januszewski <spock@gentoo.org>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofbdev: remove cyblafb driver
Krzysztof Helt [Tue, 31 Mar 2009 22:25:40 +0000 (15:25 -0700)]
fbdev: remove cyblafb driver

A tridentfb driver has all the functionality of the cyblafb driver without
the bugs of the latter.

Changes to the tridentfb driver:

- FBINFO_READS_FAST added to the tridentfb.  The cyblafb used a blitter
  for scrolling which is faster than color expansion on Cyberblade
  chipsets.  The blitter is slower on a discrete Blade3D core.  Use the
  blitter for scrolling in the tridentfb only for integrated Blade3D
  cores.  Now, scrolling speed is about equal for the tridentfb and the
  cyblafb.

- a copyright notice addition is done on request of Jani Monoses (the
  first author of the tridentfb).

Tested on AGP Blade3D card and PCChips
M787CLR motherboard: VIA C3 cpu +
VT8601 north  bridge (aka Cyberblade/i1).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: "Jani Monoses" <jani@ubuntu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofb: add s3c-fb driver for newer Samsung SoC framebuffer devices
Ben Dooks [Tue, 31 Mar 2009 22:25:39 +0000 (15:25 -0700)]
fb: add s3c-fb driver for newer Samsung SoC framebuffer devices

Add support for the newer Samsung devices, such as found in the S3C2443,
S3C6400 or S3C6410 series SoC.

It currently does not support all the alpha- or chroma-key options but it
will support more exporting more than one framebuffer ready for adding
overlay and blending functions.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agon411: add missing Makefile entry
Herton Ronaldo Krzesinski [Tue, 31 Mar 2009 22:25:37 +0000 (15:25 -0700)]
n411: add missing Makefile entry

There is no entry for n411.c to be built, include one in Makefile.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Cc: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoviafb: returns 0 two too early
Roel Kluin [Tue, 31 Mar 2009 22:25:36 +0000 (15:25 -0700)]
viafb: returns 0 two too early

Otherwise this will already return 0 if iteration MAXLOOP-2 occurs in the
first loop.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Joseph Chan <josephchan@via.com.tw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agovesafb: bitwise OR has higher precedence than ?:
Roel Kluin [Tue, 31 Mar 2009 22:25:36 +0000 (15:25 -0700)]
vesafb: bitwise OR has higher precedence than ?:

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Michal Januszewski <michalj@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agouvesafb: bitwise OR has higher precedence than ?:
Roel Kluin [Tue, 31 Mar 2009 22:25:35 +0000 (15:25 -0700)]
uvesafb: bitwise OR has higher precedence than ?:

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Michal Januszewski <michalj@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoarkfb: fix misplaced parentheses
Roel Kluin [Tue, 31 Mar 2009 22:25:34 +0000 (15:25 -0700)]
arkfb: fix misplaced parentheses

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Ondrej Zajicek <santiago@crfreenet.org>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoasiliantfb: fix cmap memory leaks
Andres Salomon [Tue, 31 Mar 2009 22:25:33 +0000 (15:25 -0700)]
asiliantfb: fix cmap memory leaks

- fix cmap leak in removal path
 - fix cmap leak when register_framebuffer fails
 - check return value of fb_alloc_cmap
 - don't continue with driver setup if register_framebuffer fails

[krzysztof.h1@wp.pl: spotted missing iounmap]
[randy.dunlap@oracle.com: move data declaration before any code]
Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>