]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge omap-drivers
authorTony Lindgren <tony@atomide.com>
Fri, 11 May 2007 00:29:50 +0000 (17:29 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 11 May 2007 00:29:50 +0000 (17:29 -0700)
Merge branches 'master' and 'omap-drivers'

Conflicts:

arch/arm/configs/omap_h2_1610_defconfig
arch/arm/configs/omap_osk_5912_defconfig
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-palmte.c
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-n800-audio.c
arch/arm/mach-omap2/board-n800-dsp.c
arch/arm/mach-omap2/board-n800-usb.c
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/pm.c
arch/arm/plat-omap/Kconfig
arch/arm/plat-omap/Makefile
arch/arm/plat-omap/devices.c
drivers/Makefile
drivers/i2c/chips/Kconfig
drivers/i2c/chips/Makefile
drivers/i2c/chips/gpio_expander_omap.c
drivers/i2c/chips/menelaus.c
drivers/i2c/chips/tlv320aic23.c
drivers/i2c/chips/twl4030_core.c
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/spi/Kconfig
drivers/spi/Makefile
drivers/video/Kconfig
include/asm-arm/arch-omap/dsp.h
include/asm-arm/arch-omap/eac.h
include/asm-arm/arch-omap/gpio.h
include/asm-arm/arch-omap/mmc.h
include/asm-arm/arch-omap/omap24xx.h
include/asm-arm/arch-omap/onenand.h
include/asm-arm/arch-omap/pm.h
include/asm-arm/hardware/tsc2101.h
net/ipv4/netfilter/Kconfig

14 files changed:
1  2 
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/pm.c
arch/arm/mach-omap2/io.c
drivers/char/Kconfig
drivers/input/keyboard/Kconfig
drivers/input/touchscreen/Kconfig
drivers/input/touchscreen/Makefile
drivers/mtd/nand/Kconfig
drivers/mtd/nand/Makefile
drivers/usb/Kconfig
drivers/video/backlight/Kconfig
drivers/video/backlight/Makefile
include/asm-arm/pgtable.h
kernel/printk.c

index 1fdc6d430e93843cc590e49888f9475caedd7b66,07940545bbf1251bf14996a46b5ae408a79e732c..d2214ad30a3b5e6b2632776dfbd24e5a39e1cb44
@@@ -142,6 -142,8 +142,6 @@@ static struct platform_device h2_nor_de
        .resource       = &h2_nor_resource,
  };
  
 -#if 0 /* REVISIT: Enable when nand_platform_data is applied */
 -
  static struct mtd_partition h2_nand_partitions[] = {
  #if 0
        /* REVISIT:  enable these partitions if you make NAND BOOT
@@@ -198,6 -200,7 +198,6 @@@ static struct platform_device h2_nand_d
        .num_resources  = 1,
        .resource       = &h2_nand_resource,
  };
 -#endif
  
  static struct resource h2_smc91x_resources[] = {
        [0] = {
@@@ -419,7 -422,7 +419,7 @@@ static struct platform_device h2_mcbsp1
  
  static struct platform_device *h2_devices[] __initdata = {
        &h2_nor_device,
 -      //&h2_nand_device,
 +      &h2_nand_device,
        &h2_smc91x_device,
        &h2_irda_device,
        &h2_kp_device,
@@@ -475,7 -478,7 +475,7 @@@ static struct omap_lcd_config h2_lcd_co
        .ctrl_name      = "internal",
  };
  
- static struct omap_board_config_kernel h2_config[] = {
+ static struct omap_board_config_kernel h2_config[] __initdata = {
        { OMAP_TAG_USB,           &h2_usb_config },
        { OMAP_TAG_MMC,           &h2_mmc_config },
        { OMAP_TAG_UART,        &h2_uart_config },
@@@ -503,10 -506,12 +503,10 @@@ static void __init h2_init(void
        h2_nor_resource.end = h2_nor_resource.start = omap_cs3_phys();
        h2_nor_resource.end += SZ_32M - 1;
  
 -#if 0 /* REVISIT: Enable when nand_platform_data is applied */
        h2_nand_resource.end = h2_nand_resource.start = OMAP_CS2B_PHYS;
        h2_nand_resource.end += SZ_4K - 1;
        if (!(omap_request_gpio(H2_NAND_RB_GPIO_PIN)))
                h2_nand_data.dev_ready = h2_nand_dev_ready;
 -#endif
  
        omap_cfg_reg(L3_1610_FLASH_CS2B_OE);
        omap_cfg_reg(M8_1610_FLASH_CS2B_WE);
diff --combined arch/arm/mach-omap1/pm.c
index b482bbba5373a1905f7319e414372fe2fb2c3d5d,39c8045b14536a837068a79e75548786c29968c4..130bafa0a9fcd0154465297f309aa104c6af38af
@@@ -1,4 -1,3 +1,3 @@@
- //kernel/linux-omap-fsample/arch/arm/mach-omap1/pm.c#3 - integrate change 4545 (text)
  /*
   * linux/arch/arm/mach-omap1/pm.c
   *
@@@ -99,6 -98,7 +98,6 @@@ static struct subsys_attribute sleep_wh
        .store  = omap_pm_sleep_while_idle_store,
  };
  
 -extern struct kset power_subsys;
  static void (*omap_sram_idle)(void) = NULL;
  static void (*omap_sram_suspend)(unsigned long r0, unsigned long r1) = NULL;
  
@@@ -367,7 -367,7 +366,7 @@@ void omap_pm_suspend(void
         * Jump to assembly code. The processor will stay there
         * until wake up.
         */
-         omap_sram_suspend(arg0, arg1);
+       omap_sram_suspend(arg0, arg1);
  
        /*
         * If we are here, processor is woken up!
@@@ -616,10 -616,6 +615,6 @@@ static int omap_pm_prepare(suspend_stat
        case PM_SUSPEND_STANDBY:
        case PM_SUSPEND_MEM:
                break;
-       case PM_SUSPEND_DISK:
-               return -ENOTSUPP;
        default:
                return -EINVAL;
        }
@@@ -642,10 -638,6 +637,6 @@@ static int omap_pm_enter(suspend_state_
        case PM_SUSPEND_MEM:
                omap_pm_suspend();
                break;
-       case PM_SUSPEND_DISK:
-               return -ENOTSUPP;
        default:
                return -EINVAL;
        }
diff --combined arch/arm/mach-omap2/io.c
index 9e660296e3e2c119bf86c34ad8215448e7284cea,2769171147bcfbe1edb51ad51d60742ba2548fb0..4f648c370f20309aada764eb91976b4cefb8c0b9
@@@ -4,7 -4,7 +4,7 @@@
   * OMAP2 I/O mapping code
   *
   * Copyright (C) 2005 Nokia Corporation
-- * Author: Juha Yrjölä <juha.yrjola@nokia.com>
++ * Author: Juha Yrjola<juha.yrjola@nokia.com>
   * Updated map desc to add 2430 support : <x0khasim@ti.com>
   *
   * This program is free software; you can redistribute it and/or modify
@@@ -42,12 -42,6 +42,12 @@@ static struct map_desc omap2_io_desc[] 
                .length         = L3_24XX_SIZE,
                .type           = MT_DEVICE
        },
 +      {
 +              .virtual        = L4_24XX_VIRT,
 +              .pfn            = __phys_to_pfn(L4_24XX_PHYS),
 +              .length         = L4_24XX_SIZE,
 +              .type           = MT_DEVICE
 +      },
  #ifdef CONFIG_ARCH_OMAP2430
        {
                .virtual        = L4_WK_243X_VIRT,
                .length         = DSP_MEM_24XX_SIZE,
                .type           = MT_DEVICE
        },
 +#ifdef CONFIG_ARCH_OMAP2420
        {
                .virtual        = DSP_IPI_24XX_VIRT,
                .pfn            = __phys_to_pfn(DSP_IPI_24XX_PHYS),
                .length         = DSP_IPI_24XX_SIZE,
                .type           = MT_DEVICE
        },
 +#endif
        {
                .virtual        = DSP_MMU_24XX_VIRT,
                .pfn            = __phys_to_pfn(DSP_MMU_24XX_PHYS),
                .length         = DSP_MMU_24XX_SIZE,
                .type           = MT_DEVICE
 -      }
 +      },
  };
  
  void __init omap2_map_common_io(void)
diff --combined drivers/char/Kconfig
index 985efa86bb7d63d54bc152aec23eb57d101b6208,2df42fdcdc91d5ae87991f1de54de44b756ab040..30347e9caf623f8234bcb78b64cdbfc8fd195cca
@@@ -127,7 -127,7 +127,7 @@@ config ROCKETPOR
  
  config CYCLADES
        tristate "Cyclades async mux support"
-       depends on SERIAL_NONSTANDARD
+       depends on SERIAL_NONSTANDARD && (PCI || ISA)
        ---help---
          This driver supports Cyclades Z and Y multiserial boards.
          You would need something like this to connect more than two modems to
@@@ -631,7 -631,8 +631,8 @@@ config HVC_CONSOL
  
  config HVC_ISERIES
        bool "iSeries Hypervisor Virtual Console support"
-       depends on PPC_ISERIES && !VIOCONS
+       depends on PPC_ISERIES
+       default y
        select HVC_DRIVER
        help
          iSeries machines support a hypervisor virtual console.
@@@ -838,11 -839,6 +839,11 @@@ config GEN_RTC_
  config EFI_RTC
        bool "EFI Real Time Clock Services"
        depends on IA64
 +config OMAP_RTC
 +      bool "TI OMAP Real Time Clock"
 +      depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730
 +      help
 +        Support for TI OMAP RTC
  
  config DS1302
        tristate "DS1302 RTC support"
@@@ -1076,5 -1072,11 +1077,11 @@@ config TELCLOC
          /sys/devices/platform/telco_clock, with a number of files for
          controlling the behavior of this hardware.
  
+ config DEVPORT
+       bool
+       depends on !M68K
+       depends on ISA || PCI
+       default y
  endmenu
  
index 6fa5416c8c5ee4f77c3b74b2b35fa5e70a943022,bd707b86c114a9b7fa323a46b51ccb15fd410b9f..31200944161f656d25b09e69d8c2ea60a2cdae2c
@@@ -214,16 -214,6 +214,16 @@@ config KEYBOARD_OMA
          To compile this driver as a module, choose M here: the
          module will be called omap-keypad.
  
 +config OMAP_PS2
 +      tristate "TI OMAP Innovator 1510 PS/2 keyboard & mouse support"
 +      depends on ARCH_OMAP15XX && MACH_OMAP_INNOVATOR
 +      help
 +        Say Y here if you want to use the OMAP Innovator 1510 PS/2
 +        keyboard and mouse.
 +
 +        To compile this driver as a module, choose M here: the
 +        module will be called innovator_ps2.
 +
  config KEYBOARD_PXA27x
        tristate "PXA27x keyboard support"
        depends on PXA27x
  config KEYBOARD_AAED2000
        tristate "AAED-2000 keyboard"
        depends on MACH_AAED2000
+       select INPUT_POLLDEV
        default y
        help
          Say Y here to enable the keyboard on the Agilent AAED-2000
@@@ -259,10 -250,4 +260,10 @@@ config KEYBOARD_GPI
          To compile this driver as a module, choose M here: the
          module will be called gpio-keys.
  
 +config KEYBOARD_TSC2301
 +      tristate "TSC2301 keypad support"
 +      depends on SPI_TSC2301
 +      help
 +        Say Y here for if you are using the keypad features of TSC2301.
 +
  endif
index 5d534bee3aa82296fcb35d8a6679f670463ff23f,5e640aeb03cdfa0ac1eb781c6232c6b3b117ff0c..22cc23cc2ef195407b8293958409d3682e2d404f
@@@ -1,5 -1,5 +1,5 @@@
  #
- # Mouse driver configuration
+ # Touchscreen driver configuration
  #
  menuconfig INPUT_TOUCHSCREEN
        bool "Touchscreens"
  if INPUT_TOUCHSCREEN
  
  config TOUCHSCREEN_ADS7846
-       tristate "ADS 7846 based touchscreens"
+       tristate "ADS 7846/7843 based touchscreens"
        depends on SPI_MASTER
+       depends on HWMON = n || HWMON
        help
          Say Y here if you have a touchscreen interface using the
-         ADS7846 controller, and your board-specific initialization
+         ADS7846 or ADS7843 controller, and your board-specific setup
          code includes that in its table of SPI devices.
  
+         If HWMON is selected, and the driver is told the reference voltage
+         on your board, you will also get hwmon interfaces for the voltage
+         (and on ads7846, temperature) sensors of this chip.
          If unsure, say N (but it's safe to say "Y").
  
          To compile this driver as a module, choose M here: the
@@@ -39,9 -44,9 +44,9 @@@ config TOUCHSCREEN_BITS
  config TOUCHSCREEN_CORGI
        tristate "SharpSL (Corgi and Spitz series) touchscreen driver"
        depends on PXA_SHARPSL
-       default y       
+       default y
        help
-         Say Y here to enable the driver for the touchscreen on the 
+         Say Y here to enable the driver for the touchscreen on the
          Sharp SL-C7xx and SL-Cxx00 series of PDAs.
  
          If unsure, say N.
@@@ -159,16 -164,58 +164,70 @@@ config TOUCHSCREEN_UCB140
          To compile this driver as a module, choose M here: the
          module will be called ucb1400_ts.
  
 +config TOUCHSCREEN_TSC2301
 +      tristate "TSC2301 touchscreen support"
 +      depends on SPI_TSC2301
 +      help
 +        Say Y here for if you are using the touchscreen features of TSC2301.
 +
 +config TOUCHSCREEN_TSC2046
 +      tristate "TSC2046 touchscreen support"
 +      default MACH_OMAP2430SDP
 +        help
 +        Say Y here for if you are using the touchscreen features of TSC2046
 +
+ config TOUCHSCREEN_USB_COMPOSITE
+       tristate "USB Touchscreen Driver"
+       select USB
+       help
+         USB Touchscreen driver for:
+         - eGalax Touchkit USB (also includes eTurboTouch CT-410/510/700)
+         - PanJit TouchSet USB
+         - 3M MicroTouch USB (EX II series)
+         - ITM
+         - some other eTurboTouch
+         - Gunze AHL61
+         - DMC TSC-10/25
+         Have a look at <http://linux.chapter7.ch/touchkit/> for
+         a usage description and the required user-space stuff.
+         To compile this driver as a module, choose M here: the
+         module will be called usbtouchscreen.
+ config TOUCHSCREEN_USB_EGALAX
+       default y
+       bool "eGalax, eTurboTouch CT-410/510/700 device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_PANJIT
+       default y
+       bool "PanJit device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_3M
+       default y
+       bool "3M/Microtouch EX II series device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_ITM
+       default y
+       bool "ITM device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_ETURBO
+       default y
+       bool "eTurboTouch (non-eGalax compatible) device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_GUNZE
+       default y
+       bool "Gunze AHL61 device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
+ config TOUCHSCREEN_USB_DMC_TSC10
+       default y
+       bool "DMC TSC-10/25 device support" if EMBEDDED
+       depends on TOUCHSCREEN_USB_COMPOSITE
  endif
index 4cf6b755b735f2e1ae8527e8997109dbe71c7b36,2f86d6ad06d3a193fedcdd01b2a4dd7dbb498491..5489b7ed4c7b7ebcadba59d5e9082527ee437cd2
@@@ -1,22 -1,19 +1,23 @@@
  #
- # Makefile for the touchscreen input drivers.
+ # Makefile for the touchscreen drivers.
  #
  
  # Each configuration option enables a list of files.
  
  obj-$(CONFIG_TOUCHSCREEN_ADS7846)     += ads7846.o
- obj-$(CONFIG_TOUCHSCREEN_BITSY)       += h3600_ts_input.o
- obj-$(CONFIG_TOUCHSCREEN_CORGI)       += corgi_ts.o
- obj-$(CONFIG_TOUCHSCREEN_GUNZE)       += gunze.o
- obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o
- obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o
- obj-$(CONFIG_TOUCHSCREEN_MK712)       += mk712.o
- obj-$(CONFIG_TOUCHSCREEN_HP600)       += hp680_ts_input.o
+ obj-$(CONFIG_TOUCHSCREEN_BITSY)               += h3600_ts_input.o
+ obj-$(CONFIG_TOUCHSCREEN_CORGI)               += corgi_ts.o
+ obj-$(CONFIG_TOUCHSCREEN_GUNZE)               += gunze.o
+ obj-$(CONFIG_TOUCHSCREEN_ELO)         += elo.o
+ obj-$(CONFIG_TOUCHSCREEN_MTOUCH)      += mtouch.o
+ obj-$(CONFIG_TOUCHSCREEN_MK712)               += mk712.o
+ obj-$(CONFIG_TOUCHSCREEN_HP600)               += hp680_ts_input.o
+ obj-$(CONFIG_TOUCHSCREEN_USB_COMPOSITE)       += usbtouchscreen.o
  obj-$(CONFIG_TOUCHSCREEN_PENMOUNT)    += penmount.o
  obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT)  += touchright.o
  obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN)    += touchwin.o
  obj-$(CONFIG_TOUCHSCREEN_UCB1400)     += ucb1400_ts.o
 +obj-$(CONFIG_TOUCHSCREEN_TSC2102)     += tsc2102_ts.o
 +obj-$(CONFIG_TOUCHSCREEN_OMAP)        += omap/
 +obj-$(CONFIG_TOUCHSCREEN_TSC2301)     += tsc2301_ts.o
 +obj-$(CONFIG_TOUCHSCREEN_TSC2046)     += tsc2046_ts.o
diff --combined drivers/mtd/nand/Kconfig
index 7d641f4056c7bfb743fc8d46b7cfeaed3d12f5e6,f1d60b6f048e6f08aa855e19fed1337a292cfe79..295a56876cb1b8c82912dd546fc9bdba22c13796
@@@ -69,19 -69,6 +69,19 @@@ config MTD_NAND_AMS_DELT
        help
          Support for NAND flash on Amstrad E3 (Delta).
  
 +config MTD_NAND_OMAP
 +      tristate "NAND Flash device on OMAP H3/H2/P2 boards"
 +      depends on ARM && ARCH_OMAP1 && MTD_NAND && (MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_PERSEUS2)
 +      help
 +        Support for NAND flash on Texas Instruments H3/H2/P2 platforms.
 +
 +config MTD_NAND_OMAP_HW
 +      bool "OMAP HW NAND Flash controller support"
 +        depends on ARM && ARCH_OMAP16XX && MTD_NAND
 +
 +      help
 +        Driver for TI OMAP16xx hardware NAND flash controller.
 +
  config MTD_NAND_TOTO
        tristate "NAND Flash device on TOTO board"
        depends on ARCH_OMAP && BROKEN
@@@ -245,11 -232,13 +245,13 @@@ config MTD_NAND_BASLER_EXCIT
            will be named "excite_nandflash.ko".
  
  config MTD_NAND_CAFE
-        tristate "NAND support for OLPC CAFÉ chip"
-        depends on PCI
-        help
-        Use NAND flash attached to the CAFÉ chip designed for the $100
-        laptop.
+       tristate "NAND support for OLPC CAFÉ chip"
+       depends on PCI
+       select REED_SOLOMON
+       select REED_SOLOMON_DEC16
+       help
+         Use NAND flash attached to the CAFÉ chip designed for the $100
+         laptop.
  
  config MTD_NAND_CS553X
        tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
@@@ -283,4 -272,13 +285,13 @@@ config MTD_NAND_NANDSI
          The simulator may simulate various NAND flash chips for the
          MTD nand layer.
  
+ config MTD_NAND_PLATFORM
+       tristate "Support for generic platform NAND driver"
+       depends on MTD_NAND
+       help
+         This implements a generic NAND driver for on-SOC platform
+         devices. You will need to provide platform-specific functions
+         via platform_data.
  endif # MTD_NAND
index 5a0739ec4bda5fe994feab229379ba206acefdea,edba1db14bfad6581260b822b60a260063fc542c..f9a1f6b084188d660ed7bd200525462632eca9d9
@@@ -23,11 -23,9 +23,11 @@@ obj-$(CONFIG_MTD_NAND_TS7250)               += ts725
  obj-$(CONFIG_MTD_NAND_NANDSIM)                += nandsim.o
  obj-$(CONFIG_MTD_NAND_CS553X)         += cs553x_nand.o
  obj-$(CONFIG_MTD_NAND_NDFC)           += ndfc.o
 +obj-$(CONFIG_MTD_NAND_OMAP)           += omap-nand-flash.o
 +obj-$(CONFIG_MTD_NAND_OMAP_HW)                += omap-hw.o
  obj-$(CONFIG_MTD_NAND_AT91)           += at91_nand.o
  obj-$(CONFIG_MTD_NAND_CM_X270)                += cmx270_nand.o
  obj-$(CONFIG_MTD_NAND_BASLER_EXCITE)  += excite_nandflash.o
+ obj-$(CONFIG_MTD_NAND_PLATFORM)               += plat_nand.o
  
  nand-objs := nand_base.o nand_bbt.o
- cafe_nand-objs := cafe.o cafe_ecc.o
diff --combined drivers/usb/Kconfig
index b3d850399b49f63aa718552206459fbc7fda1ad4,278a22cea5bf78c42b1bc76afd62688f0a3a73a9..b67612b4b3833951381cad1f8dd827a8d5638a6b
@@@ -81,18 -81,12 +81,14 @@@ source "drivers/usb/core/Kconfig
  
  source "drivers/usb/host/Kconfig"
  
 +source "drivers/usb/musb/Kconfig"
 +
  source "drivers/usb/class/Kconfig"
  
  source "drivers/usb/storage/Kconfig"
  
- source "drivers/usb/input/Kconfig"
  source "drivers/usb/image/Kconfig"
  
- source "drivers/usb/net/Kconfig"
  source "drivers/usb/mon/Kconfig"
  
  comment "USB port drivers"
index 73ff033996ee1689692a41a4988caf979956e60a,fbef663fc0571988001fa848a11b460020035972..33d71c10545f81bc665fc8500ea2fe85fa7241c3
@@@ -56,15 -56,6 +56,15 @@@ config BACKLIGHT_HP68
          If you have a HP Jornada 680, say y to enable the
          backlight driver.
  
 +config BACKLIGHT_OMAP
 +      tristate "OMAP LCD Backlight"
 +      depends on BACKLIGHT_DEVICE && (ARCH_OMAP1 || ARCH_OMAP2)
 +      default y
 +      help
 +        This driver controls the LCD backlight level and power
 +        for the PWL module of OMAP processors.  Say Y if you plan
 +        to use power saving.
 +
  config BACKLIGHT_PROGEAR
        tristate "Frontpath ProGear Backlight Driver"
        depends on BACKLIGHT_CLASS_DEVICE && PCI && X86
        help
          If you have a Frontpath ProGear say Y to enable the
          backlight driver.
+ config BACKLIGHT_CARILLO_RANCH
+       tristate "Intel Carillo Ranch Backlight Driver"
+       depends on BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE && PCI && X86 && FB_LE80578
+       default n
+       help
+         If you have a Intel LE80578 (Carillo Ranch) say Y to enable the
+         backlight driver.
index 97ad8366f4f9b8bf210243b3c6db055b643d191b,c6e2266f63e2d6d7f728f196d31b65864d8699f5..4180388076f892052229f8bbe1a2f9e2c21daf74
@@@ -5,5 -5,5 +5,6 @@@ obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) +
  obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o
  obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o
  obj-$(CONFIG_BACKLIGHT_LOCOMO)        += locomolcd.o
 +obj-$(CONFIG_BACKLIGHT_OMAP)  += omap_bl.o
  obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o
+ obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o
index 06efc4b72209c2722b891a3085402464db6d78e9,21dec9f258d822d081a0e7da9251de908f5e0462..8e401fb5246a28d6f7ee25d143cedf5272426f4c
@@@ -295,7 -295,6 +295,7 @@@ PTE_BIT_FUNC(mkyoung,   |= L_PTE_YOUNG)
  #define pmd_none(pmd)         (!pmd_val(pmd))
  #define pmd_present(pmd)      (pmd_val(pmd))
  #define pmd_bad(pmd)          (pmd_val(pmd) & 2)
 +#define pmd_table(pmd)                ((pmd_val(pmd) & PMD_TYPE_MASK) == PMD_TYPE_TABLE)
  
  #define copy_pmd(pmdpd,pmdps)         \
        do {                            \
@@@ -396,10 -395,6 +396,6 @@@ extern pgd_t swapper_pg_dir[PTRS_PER_PG
  #define io_remap_pfn_range(vma,from,pfn,size,prot) \
                remap_pfn_range(vma, from, pfn, size, prot)
  
- #define MK_IOSPACE_PFN(space, pfn)    (pfn)
- #define GET_IOSPACE(pfn)              0
- #define GET_PFN(pfn)                  (pfn)
  #define pgtable_cache_init() do { } while (0)
  
  #endif /* !__ASSEMBLY__ */
diff --combined kernel/printk.c
index 127dea362ce8ad23ec56ac822f564e9714715993,0bbdeac2810cb53c4960cb303f4b396d29cbb341..889a2d7c91bf83d48f1a5848b455cdd90ff414d0
@@@ -20,7 -20,6 +20,6 @@@
  #include <linux/mm.h>
  #include <linux/tty.h>
  #include <linux/tty_driver.h>
- #include <linux/smp_lock.h>
  #include <linux/console.h>
  #include <linux/init.h>
  #include <linux/module.h>
  
  #define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
  
 +#ifdef        CONFIG_DEBUG_LL
 +extern void printascii(char *);
 +#endif
 +
  /* printk's without a loglevel use this.. */
  #define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
  
@@@ -449,23 -444,12 +448,23 @@@ static void zap_locks(void
        init_MUTEX(&console_sem);
  }
  
 -#if defined(CONFIG_PRINTK_TIME)
 -static int printk_time = 1;
 -#else
  static int printk_time = 0;
 -#endif
 -module_param(printk_time, int, S_IRUGO | S_IWUSR);
 +
 +#ifdef CONFIG_PRINTK_TIME
 +
 +/*
 + * Initialize printk time. Note that on some systems sched_clock()
 + * does not work until timer is initialized.
 + */
 +static int __init printk_time_init(void)
 +{
 +      printk_time = 1;
 +
 +      return 0;
 +}
 +subsys_initcall(printk_time_init);
 +
 +#else
  
  static int __init printk_time_setup(char *str)
  {
  
  __setup("time", printk_time_setup);
  
 +#endif
 +
  __attribute__((weak)) unsigned long long printk_clock(void)
  {
        return sched_clock();
@@@ -554,10 -536,6 +553,10 @@@ asmlinkage int vprintk(const char *fmt
        /* Emit the output into the temporary buffer */
        printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args);
  
 +#ifdef        CONFIG_DEBUG_LL
 +      printascii(printk_buf);
 +#endif
 +
        /*
         * Copy the output into log_buf.  If the caller didn't provide
         * appropriate log level tags, we insert them here
@@@ -952,8 -930,16 +951,16 @@@ void register_console(struct console *c
  {
        int i;
        unsigned long flags;
+       struct console *bootconsole = NULL;
  
-       if (preferred_console < 0)
+       if (console_drivers) {
+               if (console->flags & CON_BOOT)
+                       return;
+               if (console_drivers->flags & CON_BOOT)
+                       bootconsole = console_drivers;
+       }
+       if (preferred_console < 0 || bootconsole || !console_drivers)
                preferred_console = selected_console;
  
        /*
        if (!(console->flags & CON_ENABLED))
                return;
  
-       if (console_drivers && (console_drivers->flags & CON_BOOT)) {
-               unregister_console(console_drivers);
+       if (bootconsole) {
+               printk(KERN_INFO "console handover: boot [%s%d] -> real [%s%d]\n",
+                      bootconsole->name, bootconsole->index,
+                      console->name, console->index);
+               unregister_console(bootconsole);
                console->flags &= ~CON_PRINTBUFFER;
        }
  
@@@ -1051,16 -1040,11 +1061,11 @@@ int unregister_console(struct console *
                }
        }
  
-       /* If last console is removed, we re-enable picking the first
-        * one that gets registered. Without that, pmac early boot console
-        * would prevent fbcon from taking over.
-        *
+       /*
         * If this isn't the last console and it has CON_CONSDEV set, we
         * need to set it on the next preferred console.
         */
-       if (console_drivers == NULL)
-               preferred_console = selected_console;
-       else if (console->flags & CON_CONSDEV)
+       if (console_drivers != NULL && console->flags & CON_CONSDEV)
                console_drivers->flags |= CON_CONSDEV;
  
        release_console_sem();