Merge master.kernel.org:/home/rmk/linux-2.6-arm
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Mar 2008 00:56:37 +0000 (17:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Mar 2008 00:56:37 +0000 (17:56 -0700)
* master.kernel.org:/home/rmk/linux-2.6-arm: (26 commits)
  [ARM] 4856/1: Orion: initialise the sixth PCIe MBUS mapping window as well
  [ARM] 4855/1: Orion: use correct ethernet unit address range
  [ARM] 4853/1: include uImage target in make help
  [ARM] 4851/1: ns9xxx: fix size of gpiores
  [ARM] AT91: correct at91sam9263ek LCD power gpio pin
  [ARM] replace remaining __FUNCTION__ occurrences
  [ARM] 4850/1: include generic pgtable.h for !CONFIG_MMU case
  [ARM] 4849/1: move ATAGS asm definitions
  [ARM] 4848/1: at91: remove false lockdep warnings
  [ARM] 4847/1: kprobes: fix compilation with CONFIG_DEBUG_FS=y
  [ARM] include/asm-arm - use angle brackets for includes
  [ARM] 4845/1: Orion: Ignore memory tags with invalid data
  ARM: OMAP2: Register the L4 io bus to boot OMAP2
  ARM: OMAP1: Compile in other 16xx boards to OSK defconfig
  ARM: OMAP1: Refresh H2 defconfig
  ARM: OMAP1: Refresh OSK defconfig
  ARM: OMAP: gpio lockdep updates
  ARM: OMAP1: omap1/pm.c build fix
  ARM: OMAP1: omap h2 regression fix
  ARM: OMAP1: Fix compile for boards depending on old gpio expander
  ...

56 files changed:
arch/arm/Makefile
arch/arm/common/it8152.c
arch/arm/configs/omap_h2_1610_defconfig
arch/arm/configs/omap_osk_5912_defconfig
arch/arm/kernel/head-common.S
arch/arm/kernel/head.S
arch/arm/kernel/kprobes.c
arch/arm/mach-at91/board-sam9263ek.c
arch/arm/mach-at91/gpio.c
arch/arm/mach-h720x/common.c
arch/arm/mach-imx/dma.c
arch/arm/mach-imx/irq.c
arch/arm/mach-iop13xx/iq81340mc.c
arch/arm/mach-iop13xx/iq81340sc.c
arch/arm/mach-iop13xx/pci.c
arch/arm/mach-iop13xx/setup.c
arch/arm/mach-ixp4xx/common-pci.c
arch/arm/mach-ixp4xx/gtwx5715-pci.c
arch/arm/mach-netx/generic.c
arch/arm/mach-ns9xxx/gpio.c
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/pm.c
arch/arm/mach-omap2/io.c
arch/arm/mach-orion/addr-map.c
arch/arm/mach-orion/common.c
arch/arm/mach-orion/common.h
arch/arm/mach-orion/dns323-setup.c
arch/arm/mach-orion/gpio.c
arch/arm/mach-orion/kurobox_pro-setup.c
arch/arm/mach-orion/ts209-setup.c
arch/arm/mach-pnx4008/clock.c
arch/arm/mach-pnx4008/dma.c
arch/arm/mach-pxa/cm-x270-pci.c
arch/arm/mach-pxa/cm-x270.c
arch/arm/mach-pxa/dma.c
arch/arm/mach-pxa/em-x270.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/trizeps4.c
arch/arm/mach-sa1100/badge4.c
arch/arm/mach-sa1100/cpu-sa1100.c
arch/arm/mach-sa1100/dma.c
arch/arm/mach-sa1100/h3600.c
arch/arm/plat-iop/pci.c
arch/arm/plat-omap/cpu-omap.c
arch/arm/plat-omap/devices.c
arch/arm/plat-omap/dma.c
arch/arm/plat-omap/dmtimer.c
arch/arm/plat-omap/gpio.c
arch/arm/plat-s3c24xx/dma.c
include/asm-arm/arch-omap/board-h3.h
include/asm-arm/arch-omap/common.h
include/asm-arm/arch-omap/gpioexpander.h
include/asm-arm/pgtable-nommu.h
include/asm-arm/plat-s3c/uncompress.h
include/asm-arm/proc-fns.h

index 7b8ff66febe1ffe27f9f734a3a7f45b58e86a464..1a4649667ec8d420a541ee55c9a88c9b4bf8d5d8 100644 (file)
@@ -251,6 +251,7 @@ define archhelp
   echo  '* zImage        - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
   echo  '  Image         - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
   echo  '* xipImage      - XIP kernel image, if configured (arch/$(ARCH)/boot/xipImage)'
+  echo  '  uImage        - U-Boot wrapped zImage'
   echo  '  bootpImage    - Combined zImage and initial RAM disk' 
   echo  '                  (supply initrd image via make variable INITRD=<path>)'
   echo  '  install       - Install uncompressed kernel'
index 97b7dc13d9aa9832e94995874293ed22332be748..538262241483202545dad88ac247b427b9e6c3b6 100644 (file)
@@ -274,7 +274,7 @@ static int it8152_pci_platform_notify_remove(struct device *dev)
 int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
 {
        dev_dbg(dev, "%s: dma_addr %08x, size %08x\n",
-               __FUNCTION__, dma_addr, size);
+               __func__, dma_addr, size);
        return (dev->bus == &pci_bus_type) &&
                ((dma_addr + size - PHYS_OFFSET) >= SZ_64M);
 }
@@ -289,7 +289,7 @@ int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
  */
 int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
 {
-       dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask);
+       dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask);
        if (mask >= PHYS_OFFSET + SZ_64M - 1)
                return 0;
 
@@ -299,7 +299,7 @@ int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
 int
 pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
 {
-       dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask);
+       dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask);
        if (mask >= PHYS_OFFSET + SZ_64M - 1)
                return 0;
 
index c2345af3707a0b825e2017ffabe83d25aaccc3a1..323c1deeb9536005323c963c52a2fd4ba20c5fe1 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rc5
-# Mon Dec 17 20:04:38 2007
+# Linux kernel version: 2.6.25-rc3
+# Mon Mar  3 03:39:48 2008
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -21,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
 CONFIG_ZONE_DMA=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -40,17 +41,22 @@ CONFIG_SYSVIPC_SYSCTL=y
 # CONFIG_POSIX_MQUEUE is not set
 # CONFIG_BSD_PROCESS_ACCT is not set
 # CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
 CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
 # CONFIG_SYSFS_DEPRECATED is not set
 # CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -64,17 +70,26 @@ CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLAB=y
 # CONFIG_SLUB is not set
 # CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
 # CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
@@ -102,6 +117,8 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_PREEMPT_RCU is not set
 
 #
 # System Type
@@ -130,6 +147,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_KS8695 is not set
 # CONFIG_ARCH_NS9XXX is not set
 # CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION is not set
 # CONFIG_ARCH_PNX4008 is not set
 # CONFIG_ARCH_PXA is not set
 # CONFIG_ARCH_RPC is not set
@@ -139,6 +157,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_LH7A40X is not set
 # CONFIG_ARCH_DAVINCI is not set
 CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_MSM7X00A is not set
 
 #
 # TI OMAP Implementations
@@ -155,6 +174,7 @@ CONFIG_OMAP_MUX=y
 # CONFIG_OMAP_MUX_DEBUG is not set
 CONFIG_OMAP_MUX_WARNINGS=y
 CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MMU_FWK is not set
 # CONFIG_OMAP_MPU_TIMER is not set
 CONFIG_OMAP_32K_TIMER=y
 CONFIG_OMAP_32K_TIMER_HZ=128
@@ -266,6 +286,7 @@ CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_CMDLINE="mem=32M console=ttyS0,115200n8 root=0801 ro init=/bin/sh"
 # CONFIG_XIP_KERNEL is not set
 # CONFIG_KEXEC is not set
+# CONFIG_ATAGS_PROC is not set
 
 #
 # CPU Frequency scaling
@@ -311,9 +332,10 @@ CONFIG_PM=y
 # CONFIG_PM_LEGACY is not set
 # CONFIG_PM_DEBUG is not set
 CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_UP_POSSIBLE=y
 CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
 # CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
 
 #
 # Networking
@@ -330,6 +352,7 @@ CONFIG_XFRM=y
 # CONFIG_XFRM_USER is not set
 # CONFIG_XFRM_SUB_POLICY is not set
 # CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
 # CONFIG_IP_MULTICAST is not set
@@ -384,6 +407,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 #
 # CONFIG_NET_PKTGEN is not set
 # CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
 # CONFIG_IRDA is not set
 # CONFIG_BT is not set
 # CONFIG_AF_RXRPC is not set
@@ -421,11 +445,13 @@ CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_XIP is not set
 # CONFIG_CDROM_PKTCDVD is not set
 CONFIG_ATA_OVER_ETH=m
 CONFIG_MISC_DEVICES=y
 # CONFIG_EEPROM_93CX6 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HAVE_IDE is not set
 
 #
 # SCSI device support
@@ -489,6 +515,7 @@ CONFIG_SMC91X=y
 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
 # CONFIG_B44 is not set
 CONFIG_NETDEV_1000=y
+# CONFIG_E1000E_ENABLED is not set
 CONFIG_NETDEV_10000=y
 
 #
@@ -512,7 +539,6 @@ CONFIG_SLIP_COMPRESSED=y
 CONFIG_SLHC=y
 # CONFIG_SLIP_SMART is not set
 # CONFIG_SLIP_MODE_SLIP6 is not set
-# CONFIG_SHAPER is not set
 # CONFIG_NETCONSOLE is not set
 # CONFIG_NETPOLL is not set
 # CONFIG_NET_POLL_CONTROLLER is not set
@@ -616,12 +642,10 @@ CONFIG_I2C_OMAP=y
 #
 # Miscellaneous I2C Chip support
 #
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
 # CONFIG_DS1682 is not set
 # CONFIG_SENSORS_EEPROM is not set
 # CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_PCF8575 is not set
 # CONFIG_SENSORS_PCF8591 is not set
 # CONFIG_ISP1301_OMAP is not set
 CONFIG_TPS65010=y
@@ -649,6 +673,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_ADM1031 is not set
 # CONFIG_SENSORS_ADM9240 is not set
 # CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
 # CONFIG_SENSORS_ATXP1 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_F71805F is not set
@@ -676,6 +701,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_SMSC47M1 is not set
 # CONFIG_SENSORS_SMSC47M192 is not set
 # CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
 # CONFIG_SENSORS_THMC50 is not set
 # CONFIG_SENSORS_VT1211 is not set
 # CONFIG_SENSORS_W83781D is not set
@@ -683,6 +709,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_W83792D is not set
 # CONFIG_SENSORS_W83793 is not set
 # CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
 # CONFIG_SENSORS_W83627HF is not set
 # CONFIG_SENSORS_W83627EHF is not set
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -705,6 +732,7 @@ CONFIG_SSB_POSSIBLE=y
 # Multifunction device drivers
 #
 # CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
 
 #
 # Multimedia devices
@@ -802,10 +830,6 @@ CONFIG_USB_ARCH_HAS_OHCI=y
 #
 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
 #
-
-#
-# USB Gadget Support
-#
 # CONFIG_USB_GADGET is not set
 # CONFIG_MMC is not set
 # CONFIG_NEW_LEDS is not set
@@ -826,12 +850,10 @@ CONFIG_EXT2_FS=y
 # CONFIG_XFS_FS is not set
 # CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-CONFIG_ROMFS_FS=y
+CONFIG_DNOTIFY=y
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
 # CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
 # CONFIG_AUTOFS_FS is not set
 # CONFIG_AUTOFS4_FS is not set
 # CONFIG_FUSE_FS is not set
@@ -874,8 +896,10 @@ CONFIG_SYSFS=y
 # CONFIG_EFS_FS is not set
 CONFIG_CRAMFS=y
 # CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
 # CONFIG_HPFS_FS is not set
 # CONFIG_QNX4FS_FS is not set
+CONFIG_ROMFS_FS=y
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
 CONFIG_NETWORK_FILESYSTEMS=y
@@ -946,9 +970,6 @@ CONFIG_NLS_ISO8859_1=y
 # CONFIG_NLS_KOI8_U is not set
 # CONFIG_NLS_UTF8 is not set
 # CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-# CONFIG_PROFILING is not set
-# CONFIG_MARKERS is not set
 
 #
 # Kernel hacking
@@ -975,6 +996,7 @@ CONFIG_FRAME_POINTER=y
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_ALGAPI=y
 CONFIG_CRYPTO_BLKCIPHER=y
+# CONFIG_CRYPTO_SEQIV is not set
 CONFIG_CRYPTO_MANAGER=y
 # CONFIG_CRYPTO_HMAC is not set
 # CONFIG_CRYPTO_XCBC is not set
@@ -992,6 +1014,9 @@ CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_PCBC=m
 # CONFIG_CRYPTO_LRW is not set
 # CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
 # CONFIG_CRYPTO_CRYPTD is not set
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_FCRYPT is not set
@@ -1006,12 +1031,14 @@ CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_KHAZAD is not set
 # CONFIG_CRYPTO_ANUBIS is not set
 # CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SALSA20 is not set
 # CONFIG_CRYPTO_DEFLATE is not set
 # CONFIG_CRYPTO_MICHAEL_MIC is not set
 # CONFIG_CRYPTO_CRC32C is not set
 # CONFIG_CRYPTO_CAMELLIA is not set
 # CONFIG_CRYPTO_TEST is not set
 # CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_LZO is not set
 CONFIG_CRYPTO_HW=y
 
 #
index d592a64871144e82e66a415be8f205cda2142920..d4ca5e6e4ffa7b4472f5254b3c75dffaff53cf2d 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rc5
-# Mon Dec 17 21:12:45 2007
+# Linux kernel version: 2.6.25-rc3
+# Mon Mar  3 03:35:17 2008
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -21,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
 CONFIG_ZONE_DMA=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -39,17 +40,22 @@ CONFIG_SYSVIPC_SYSCTL=y
 # CONFIG_POSIX_MQUEUE is not set
 # CONFIG_BSD_PROCESS_ACCT is not set
 # CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
 # CONFIG_AUDIT is not set
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
 CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
 # CONFIG_SYSFS_DEPRECATED is not set
 # CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -63,17 +69,26 @@ CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLAB=y
 # CONFIG_SLUB is not set
 # CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
 # CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
@@ -101,6 +116,8 @@ CONFIG_IOSCHED_CFQ=y
 CONFIG_DEFAULT_CFQ=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_PREEMPT_RCU is not set
 
 #
 # System Type
@@ -129,6 +146,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
 # CONFIG_ARCH_KS8695 is not set
 # CONFIG_ARCH_NS9XXX is not set
 # CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION is not set
 # CONFIG_ARCH_PNX4008 is not set
 # CONFIG_ARCH_PXA is not set
 # CONFIG_ARCH_RPC is not set
@@ -138,6 +156,7 @@ CONFIG_DEFAULT_IOSCHED="cfq"
 # CONFIG_ARCH_LH7A40X is not set
 # CONFIG_ARCH_DAVINCI is not set
 CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_MSM7X00A is not set
 
 #
 # TI OMAP Implementations
@@ -154,6 +173,7 @@ CONFIG_OMAP_MUX=y
 # CONFIG_OMAP_MUX_DEBUG is not set
 CONFIG_OMAP_MUX_WARNINGS=y
 CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MMU_FWK is not set
 # CONFIG_OMAP_MPU_TIMER is not set
 CONFIG_OMAP_32K_TIMER=y
 CONFIG_OMAP_32K_TIMER_HZ=128
@@ -173,13 +193,13 @@ CONFIG_ARCH_OMAP16XX=y
 #
 # OMAP Board Type
 #
-# CONFIG_MACH_OMAP_INNOVATOR is not set
-# CONFIG_MACH_OMAP_H2 is not set
-# CONFIG_MACH_OMAP_H3 is not set
+CONFIG_MACH_OMAP_INNOVATOR=y
+CONFIG_MACH_OMAP_H2=y
+CONFIG_MACH_OMAP_H3=y
 CONFIG_MACH_OMAP_OSK=y
 # CONFIG_OMAP_OSK_MISTRAL is not set
-# CONFIG_MACH_NOKIA770 is not set
-# CONFIG_MACH_OMAP_GENERIC is not set
+CONFIG_MACH_NOKIA770=y
+CONFIG_MACH_OMAP_GENERIC=y
 
 #
 # OMAP CPU Speed
@@ -275,6 +295,7 @@ CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x10400000,8M root=/dev/ram0 rw"
 # CONFIG_XIP_KERNEL is not set
 # CONFIG_KEXEC is not set
+# CONFIG_ATAGS_PROC is not set
 
 #
 # CPU Frequency scaling
@@ -307,9 +328,10 @@ CONFIG_PM=y
 # CONFIG_PM_LEGACY is not set
 # CONFIG_PM_DEBUG is not set
 CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_UP_POSSIBLE=y
 CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
 # CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
 
 #
 # Networking
@@ -326,6 +348,7 @@ CONFIG_XFRM=y
 # CONFIG_XFRM_USER is not set
 # CONFIG_XFRM_SUB_POLICY is not set
 # CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
@@ -381,6 +404,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 #
 # CONFIG_NET_PKTGEN is not set
 # CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
 # CONFIG_IRDA is not set
 # CONFIG_BT is not set
 # CONFIG_AF_RXRPC is not set
@@ -493,11 +517,13 @@ CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_XIP is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
 CONFIG_MISC_DEVICES=y
 # CONFIG_EEPROM_93CX6 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
 CONFIG_IDE=m
 CONFIG_BLK_DEV_IDE=m
 
@@ -519,7 +545,6 @@ CONFIG_IDE_PROC_FS=y
 #
 # CONFIG_IDE_GENERIC is not set
 # CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_IDE_ARM is not set
 # CONFIG_BLK_DEV_IDEDMA is not set
 CONFIG_IDE_ARCH_OBSOLETE_INIT=y
 # CONFIG_BLK_DEV_HD is not set
@@ -553,6 +578,7 @@ CONFIG_SMC91X=y
 # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
 # CONFIG_B44 is not set
 CONFIG_NETDEV_1000=y
+# CONFIG_E1000E_ENABLED is not set
 CONFIG_NETDEV_10000=y
 
 #
@@ -574,7 +600,6 @@ CONFIG_PPP_MULTILINK=y
 # CONFIG_PPPOL2TP is not set
 # CONFIG_SLIP is not set
 CONFIG_SLHC=y
-# CONFIG_SHAPER is not set
 # CONFIG_NETCONSOLE is not set
 # CONFIG_NETPOLL is not set
 # CONFIG_NET_POLL_CONTROLLER is not set
@@ -671,6 +696,7 @@ CONFIG_HW_RANDOM_OMAP=m
 # CONFIG_SYNCLINK_CS is not set
 # CONFIG_CARDMAN_4000 is not set
 # CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
 CONFIG_I2C=y
@@ -698,12 +724,10 @@ CONFIG_I2C_OMAP=y
 #
 # Miscellaneous I2C Chip support
 #
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
 # CONFIG_DS1682 is not set
 # CONFIG_SENSORS_EEPROM is not set
 # CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_PCF8575 is not set
 # CONFIG_SENSORS_PCF8591 is not set
 # CONFIG_ISP1301_OMAP is not set
 CONFIG_TPS65010=y
@@ -731,6 +755,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_ADM1031 is not set
 # CONFIG_SENSORS_ADM9240 is not set
 # CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
 # CONFIG_SENSORS_ATXP1 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_F71805F is not set
@@ -758,6 +783,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_SMSC47M1 is not set
 # CONFIG_SENSORS_SMSC47M192 is not set
 # CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
 # CONFIG_SENSORS_THMC50 is not set
 # CONFIG_SENSORS_VT1211 is not set
 # CONFIG_SENSORS_W83781D is not set
@@ -765,6 +791,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_W83792D is not set
 # CONFIG_SENSORS_W83793 is not set
 # CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
 # CONFIG_SENSORS_W83627HF is not set
 # CONFIG_SENSORS_W83627EHF is not set
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -780,6 +807,7 @@ CONFIG_SSB_POSSIBLE=y
 # Multifunction device drivers
 #
 # CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
 
 #
 # Multimedia devices
@@ -865,10 +893,6 @@ CONFIG_USB_ARCH_HAS_OHCI=y
 #
 # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
 #
-
-#
-# USB Gadget Support
-#
 # CONFIG_USB_GADGET is not set
 # CONFIG_MMC is not set
 # CONFIG_NEW_LEDS is not set
@@ -889,12 +913,10 @@ CONFIG_EXT2_FS=y
 # CONFIG_XFS_FS is not set
 # CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
+CONFIG_DNOTIFY=y
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
 # CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
 CONFIG_AUTOFS_FS=y
 CONFIG_AUTOFS4_FS=y
 # CONFIG_FUSE_FS is not set
@@ -948,8 +970,10 @@ CONFIG_JFFS2_RTIME=y
 # CONFIG_JFFS2_RUBIN is not set
 # CONFIG_CRAMFS is not set
 # CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
 # CONFIG_HPFS_FS is not set
 # CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
 CONFIG_NETWORK_FILESYSTEMS=y
@@ -1019,9 +1043,6 @@ CONFIG_NLS_ISO8859_1=m
 # CONFIG_NLS_KOI8_U is not set
 # CONFIG_NLS_UTF8 is not set
 # CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-# CONFIG_PROFILING is not set
-# CONFIG_MARKERS is not set
 
 #
 # Kernel hacking
@@ -1045,7 +1066,51 @@ CONFIG_FRAME_POINTER=y
 # CONFIG_KEYS is not set
 # CONFIG_SECURITY is not set
 # CONFIG_SECURITY_FILE_CAPABILITIES is not set
-# CONFIG_CRYPTO is not set
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
 
 #
 # Library routines
index 024a9cf469b47d6e841da0147e3c02355268ca81..50f667febe29ff638f2fa1544ab3217f1eb26a0d 100644 (file)
@@ -11,6 +11,9 @@
  *
  */
 
+#define ATAG_CORE 0x54410001
+#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
+
        .type   __switch_data, %object
 __switch_data:
        .long   __mmap_switched
index 7898cbc9861a9d484d655079c66b3f1e76dccd0b..bff4c6e90dd5458f1f71d2d70a5703ea394017c5 100644 (file)
@@ -29,9 +29,6 @@
 #define KERNEL_RAM_VADDR       (PAGE_OFFSET + TEXT_OFFSET)
 #define KERNEL_RAM_PADDR       (PHYS_OFFSET + TEXT_OFFSET)
 
-#define ATAG_CORE 0x54410001
-#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
-
 
 /*
  * swapper_pg_dir is the virtual address of the initial page table.
index a22a98c43ca5911e9b8f9328509fbd4b9a973ca3..13e371aad8792686df6fee77d0642fa3030f8a69 100644 (file)
@@ -431,6 +431,11 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
        return 0;
 }
 
+int __kprobes arch_trampoline_kprobe(struct kprobe *p)
+{
+       return 0;
+}
+
 static struct undef_hook kprobes_break_hook = {
        .instr_mask     = 0xffffffff,
        .instr_val      = KPROBE_BREAKPOINT_INSTRUCTION,
index 38313abef657d0a01684634c3aaf43eba6e82c2b..bf103b24c9379e208bf395bfdc9499aea0963daa 100644 (file)
@@ -245,10 +245,7 @@ static struct fb_monspecs at91fb_default_monspecs = {
 
 static void at91_lcdc_power_control(int on)
 {
-       if (on)
-               at91_set_gpio_value(AT91_PIN_PD12, 0);  /* power up */
-       else
-               at91_set_gpio_value(AT91_PIN_PD12, 1);  /* power down */
+       at91_set_gpio_value(AT91_PIN_PA30, on);
 }
 
 /* Driver datas */
index f629c2b5f0c544bbec401964e6f7c13550e1e851..ee4964abcaf5ab7f70880e3361625288b8695372 100644 (file)
@@ -490,6 +490,11 @@ postcore_initcall(at91_gpio_debugfs_init);
 
 /*--------------------------------------------------------------------------*/
 
+/* This lock class tells lockdep that GPIO irqs are in a different
+ * category than their parents, so it won't report false recursion.
+ */
+static struct lock_class_key gpio_lock_class;
+
 /*
  * Called from the processor-specific init to enable GPIO interrupt support.
  */
@@ -510,6 +515,8 @@ void __init at91_gpio_irq_setup(void)
                __raw_writel(~0, this->regbase + PIO_IDR);
 
                for (i = 0, pin = this->chipbase; i < 32; i++, pin++) {
+                       lockdep_set_class(&irq_desc[pin].lock, &gpio_lock_class);
+
                        /*
                         * Can use the "simple" and not "edge" handler since it's
                         * shorter, and the AIC handles interrupts sanely.
index 7f31816896ad2ae662196c3772bf595781fc1dbd..45144ad2bed9cad00a573d02d0d15ce51e34b32f 100644 (file)
@@ -103,7 +103,7 @@ static void
 h720x_gpio_handler(unsigned int mask, unsigned int irq,
                  struct irq_desc *desc)
 {
-       IRQDBG("%s irq: %d\n",__FUNCTION__,irq);
+       IRQDBG("%s irq: %d\n", __func__, irq);
        desc = irq_desc + irq;
        while (mask) {
                if (mask & 1) {
@@ -123,7 +123,7 @@ h720x_gpioa_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
 
        mask = CPU_REG(GPIO_A_VIRT,GPIO_STAT);
        irq = IRQ_CHAINED_GPIOA(0);
-       IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq);
+       IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq);
        h720x_gpio_handler(mask, irq, desc);
 }
 
@@ -133,7 +133,7 @@ h720x_gpiob_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
        unsigned int mask, irq;
        mask = CPU_REG(GPIO_B_VIRT,GPIO_STAT);
        irq = IRQ_CHAINED_GPIOB(0);
-       IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq);
+       IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq);
        h720x_gpio_handler(mask, irq, desc);
 }
 
@@ -144,7 +144,7 @@ h720x_gpioc_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
 
        mask = CPU_REG(GPIO_C_VIRT,GPIO_STAT);
        irq = IRQ_CHAINED_GPIOC(0);
-       IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq);
+       IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq);
        h720x_gpio_handler(mask, irq, desc);
 }
 
@@ -155,7 +155,7 @@ h720x_gpiod_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
 
        mask = CPU_REG(GPIO_D_VIRT,GPIO_STAT);
        irq = IRQ_CHAINED_GPIOD(0);
-       IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq);
+       IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq);
        h720x_gpio_handler(mask, irq, desc);
 }
 
@@ -167,7 +167,7 @@ h720x_gpioe_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
 
        mask = CPU_REG(GPIO_E_VIRT,GPIO_STAT);
        irq = IRQ_CHAINED_GPIOE(0);
-       IRQDBG("%s mask: 0x%08x irq: %d\n",__FUNCTION__,mask,irq);
+       IRQDBG("%s mask: 0x%08x irq: %d\n", __func__, mask,irq);
        h720x_gpio_handler(mask, irq, desc);
 }
 #endif
index bc6fb02d213bd6cf0e4072a735ba4709dc0a06af..a59ff2987cb7c582b3ad469281dc899d901ebd41 100644 (file)
@@ -54,7 +54,7 @@ static inline int imx_dma_sg_next(imx_dmach_t dma_ch, unsigned int lastcount)
 
        if (!imxdma->name) {
                printk(KERN_CRIT "%s: called for  not allocated channel %d\n",
-                      __FUNCTION__, dma_ch);
+                      __func__, dma_ch);
                return 0;
        }
 
@@ -288,7 +288,7 @@ imx_dma_setup_handlers(imx_dmach_t dma_ch,
 
        if (!imxdma->name) {
                printk(KERN_CRIT "%s: called for  not allocated channel %d\n",
-                      __FUNCTION__, dma_ch);
+                      __func__, dma_ch);
                return -ENODEV;
        }
 
@@ -321,7 +321,7 @@ void imx_dma_enable(imx_dmach_t dma_ch)
 
        if (!imxdma->name) {
                printk(KERN_CRIT "%s: called for  not allocated channel %d\n",
-                      __FUNCTION__, dma_ch);
+                      __func__, dma_ch);
                return;
        }
 
@@ -365,7 +365,7 @@ int imx_dma_request(imx_dmach_t dma_ch, const char *name)
 
        if (dma_ch >= IMX_DMA_CHANNELS) {
                printk(KERN_CRIT "%s: called for  non-existed channel %d\n",
-                      __FUNCTION__, dma_ch);
+                      __func__, dma_ch);
                return -EINVAL;
        }
 
@@ -396,7 +396,7 @@ void imx_dma_free(imx_dmach_t dma_ch)
        if (!imxdma->name) {
                printk(KERN_CRIT
                       "%s: trying to free channel %d which is already freed\n",
-                      __FUNCTION__, dma_ch);
+                      __func__, dma_ch);
                return;
        }
 
@@ -456,7 +456,7 @@ imx_dma_request_by_prio(imx_dmach_t * pdma_ch, const char *name,
                }
        }
 
-       printk(KERN_ERR "%s: no free DMA channel found\n", __FUNCTION__);
+       printk(KERN_ERR "%s: no free DMA channel found\n", __func__);
 
        return -ENODEV;
 }
index a7465db8489373a54bc785a4d0a72a809698c327..e6695c4e623b80facd70a60feb7244466a09cedc 100644 (file)
@@ -160,21 +160,21 @@ imx_gpio_irq_type(unsigned int _irq, unsigned int type)
 static void
 imx_gpio_ack_irq(unsigned int irq)
 {
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, irq);
        ISR(IRQ_TO_REG(irq)) = 1 << ((irq - IRQ_GPIOA(0)) % 32);
 }
 
 static void
 imx_gpio_mask_irq(unsigned int irq)
 {
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, irq);
        IMR(IRQ_TO_REG(irq)) &= ~( 1 << ((irq - IRQ_GPIOA(0)) % 32));
 }
 
 static void
 imx_gpio_unmask_irq(unsigned int irq)
 {
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, irq);
        IMR(IRQ_TO_REG(irq)) |= 1 << ((irq - IRQ_GPIOA(0)) % 32);
 }
 
index 268a8d84999cf41101130064f2aab57a94bade7e..77b24cd1d88da677e0ec1f5681d0c88aa59b2a5d 100644 (file)
@@ -81,7 +81,7 @@ static void __init iq81340mc_init(void)
 static void __init iq81340mc_timer_init(void)
 {
        unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio();
-       printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq);
+       printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq);
        iop_init_time(bus_freq);
 }
 
index a51ffd2683e5ae6e80e856883072b772a1751019..e8522b3b81634cccb91707ccc9c7f49f927336b2 100644 (file)
@@ -83,7 +83,7 @@ static void __init iq81340sc_init(void)
 static void __init iq81340sc_timer_init(void)
 {
        unsigned long bus_freq = iop13xx_core_freq() / iop13xx_xsi_bus_ratio();
-       printk(KERN_DEBUG "%s: bus frequency: %lu\n", __FUNCTION__, bus_freq);
+       printk(KERN_DEBUG "%s: bus frequency: %lu\n", __func__, bus_freq);
        iop_init_time(bus_freq);
 }
 
index 99d94cb1bafdc6818e96d4edc6bc64fbeb152a71..7825c1aaa27b073b61b34744d3d3ddf92021c160 100644 (file)
@@ -94,13 +94,13 @@ void iop13xx_map_pci_memory(void)
                                        , 0, iop13xx_atux_mem_size, MT_DEVICE);
                                        if (!iop13xx_atux_mem_base) {
                                                printk("%s: atux allocation "
-                                                      "failed\n", __FUNCTION__);
+                                                      "failed\n", __func__);
                                                BUG();
                                        }
                                } else
                                        iop13xx_atux_mem_size = 0;
                                PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n",
-                               __FUNCTION__, atu, iop13xx_atux_mem_size,
+                               __func__, atu, iop13xx_atux_mem_size,
                                iop13xx_atux_mem_base);
                                break;
                        case 1:
@@ -120,13 +120,13 @@ void iop13xx_map_pci_memory(void)
                                        , 0, iop13xx_atue_mem_size, MT_DEVICE);
                                        if (!iop13xx_atue_mem_base) {
                                                printk("%s: atue allocation "
-                                                      "failed\n", __FUNCTION__);
+                                                      "failed\n", __func__);
                                                BUG();
                                        }
                                } else
                                        iop13xx_atue_mem_size = 0;
                                PRINTK("%s: atu: %d bus_size: %d mem_base: %x\n",
-                               __FUNCTION__, atu, iop13xx_atue_mem_size,
+                               __func__, atu, iop13xx_atue_mem_size,
                                iop13xx_atue_mem_base);
                                break;
                        }
index bfe0c87e33976e96fad4f673fc3ca334d5dcbf81..246f6d4787209fb526e4680426d629bbf5938569 100644 (file)
@@ -519,7 +519,7 @@ void __init iop13xx_platform_init(void)
        if (iq8134x_flash_resource.end > iq8134x_flash_resource.start)
                iop13xx_devices[plat_idx++] = &iq8134x_flash;
        else
-               printk(KERN_ERR "%s: Failed to probe flash size\n", __FUNCTION__);
+               printk(KERN_ERR "%s: Failed to probe flash size\n", __func__);
 #endif
 
        platform_add_devices(iop13xx_devices, plat_idx);
index bf04121d1a31748ac99b93f4b2982f5b4675103e..64be341109b3623a39b2b1e659bbecd0d1760dad 100644 (file)
@@ -87,7 +87,7 @@ static inline int check_master_abort(void)
        if (isr & PCI_ISR_PFE) {
                /* make sure the Master Abort bit is reset */    
                *PCI_ISR = PCI_ISR_PFE;
-               pr_debug("%s failed\n", __FUNCTION__);
+               pr_debug("%s failed\n", __func__);
                return 1;
        }
 
index 0d5a42455820322c804d046233e7563826d66106..49dec78688078f3bcc387af331b33ddb88be2895 100644 (file)
@@ -65,7 +65,7 @@ static int __init gtwx5715_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
        else
                rc = gtwx5715_irqmap[slot][pin-1];
 
-       printk("%s: Mapped slot %d pin %d to IRQ %d\n", __FUNCTION__,slot, pin, rc);
+       printk("%s: Mapped slot %d pin %d to IRQ %d\n", __func__, slot, pin, rc);
        return(rc);
 }
 
index b9ca8f98265da182787fff8efa2b94d72129b33f..fd7537f7d11e798c3257ba46a5b21211b45a5b1c 100644 (file)
@@ -133,7 +133,7 @@ netx_hif_ack_irq(unsigned int _irq)
        val &= ~((1 << 24) << irq);
        writel(val, NETX_DPMAS_INT_EN);
 
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, _irq);
 }
 
 static void
@@ -145,7 +145,7 @@ netx_hif_mask_irq(unsigned int _irq)
        val = readl(NETX_DPMAS_INT_EN);
        val &= ~((1 << 24) << irq);
        writel(val, NETX_DPMAS_INT_EN);
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, _irq);
 }
 
 static void
@@ -157,7 +157,7 @@ netx_hif_unmask_irq(unsigned int _irq)
        val = readl(NETX_DPMAS_INT_EN);
        val |= (1 << 24) << irq;
        writel(val, NETX_DPMAS_INT_EN);
-       DEBUG_IRQ("%s: irq %d\n", __FUNCTION__, _irq);
+       DEBUG_IRQ("%s: irq %d\n", __func__, _irq);
 }
 
 static struct irq_chip netx_hif_chip = {
index b2230213b983deacd3db7e0a251fc1d27b9f2e69..5286e9fc1d307bac62f1341dd6c4e728a83be33a 100644 (file)
@@ -31,7 +31,7 @@
 static spinlock_t gpio_lock = __SPIN_LOCK_UNLOCKED(gpio_lock);
 
 /* only access gpiores with atomic ops */
-static DECLARE_BITMAP(gpiores, GPIO_MAX);
+static DECLARE_BITMAP(gpiores, GPIO_MAX + 1);
 
 static inline int ns9xxx_valid_gpio(unsigned gpio)
 {
index 070345ee39a54834939f9c627387222c9d12a003..5079877200154364cf5d5d5921898909f53b2c2a 100644 (file)
@@ -350,6 +350,10 @@ static void __init h2_init_smc91x(void)
 
 static struct i2c_board_info __initdata h2_i2c_board_info[] = {
        {
+               I2C_BOARD_INFO("tps65010", 0x48),
+               .type           = "tps65010",
+               .irq            = OMAP_GPIO_IRQ(58),
+       }, {
                I2C_BOARD_INFO("isp1301_omap", 0x2d),
                .type           = "isp1301_omap",
                .irq            = OMAP_GPIO_IRQ(2),
index 6fc516855a8cec0bc93b6cda648da65c2d001fe2..c3ef1ee5f77bcd4a01fb9a5ecac297493c850651 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/mtd/nand.h>
 #include <linux/mtd/partitions.h>
 #include <linux/input.h>
+#include <linux/spi/spi.h>
 #include <linux/i2c/tps65010.h>
 
 #include <asm/setup.h>
@@ -51,6 +52,8 @@
 #include <asm/arch/mcbsp.h>
 #include <asm/arch/omap-alsa.h>
 
+#define H3_TS_GPIO     48
+
 static int h3_keymap[] = {
        KEY(0, 0, KEY_LEFT),
        KEY(0, 1, KEY_RIGHT),
@@ -373,6 +376,17 @@ static struct platform_device h3_lcd_device = {
        .id             = -1,
 };
 
+static struct spi_board_info h3_spi_board_info[] __initdata = {
+       [0] = {
+               .modalias       = "tsc2101",
+               .bus_num        = 2,
+               .chip_select    = 0,
+               .irq            = OMAP_GPIO_IRQ(H3_TS_GPIO),
+               .max_speed_hz   = 16000000,
+               /* .platform_data       = &tsc_platform_data, */
+       },
+};
+
 static struct omap_mcbsp_reg_cfg mcbsp_regs = {
        .spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
        .spcr1 = RINTM(3) | RRST,
@@ -457,6 +471,14 @@ static struct omap_board_config_kernel h3_config[] __initdata = {
        { OMAP_TAG_LCD,         &h3_lcd_config },
 };
 
+static struct i2c_board_info __initdata h3_i2c_board_info[] = {
+       {
+               I2C_BOARD_INFO("tps65010", 0x48),
+               .type           = "tps65013",
+               /* .irq         = OMAP_GPIO_IRQ(??), */
+       },
+};
+
 static struct omap_gpio_switch h3_gpio_switches[] __initdata = {
        {
                .name                   = "mmc_slot",
index 8eb5dcdaead2aaeb299f2320e687dafe4cfacfd8..e6c64e10b7ec283b46d58177e2a7e5d7b9984b0a 100644 (file)
@@ -717,7 +717,7 @@ static int __init omap_pm_init(void)
 #endif
 
 #ifdef CONFIG_OMAP_32K_TIMER
-       error = sysfs_create_file(power_kobj, &sleep_while_idle_attr);
+       error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr);
        if (error)
                printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
 #endif
index 5a4091f582edc23aeafc051785898547a1decc8f..69c8174f3aace0f5b377021e347e7785800ef1cb 100644 (file)
@@ -42,6 +42,12 @@ static struct map_desc omap2_io_desc[] __initdata = {
                .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,
index 2e2fd63643c39760ee02153fc62ccba89defba88..58cc3c0333b6b3ee46a2db6f852d865f3dddf147 100644 (file)
 #define PCIE_BAR_CTRL(n)       ORION_PCIE_REG(0x1804 + ((n - 1) * 4))
 #define PCIE_BAR_LO(n)         ORION_PCIE_REG(0x0010 + ((n) * 8))
 #define PCIE_BAR_HI(n)         ORION_PCIE_REG(0x0014 + ((n) * 8))
-#define PCIE_WIN_CTRL(n)       ORION_PCIE_REG(0x1820 + ((n) << 4))
-#define PCIE_WIN_BASE(n)       ORION_PCIE_REG(0x1824 + ((n) << 4))
-#define PCIE_WIN_REMAP(n)      ORION_PCIE_REG(0x182c + ((n) << 4))
+#define PCIE_WIN_CTRL(n)       (((n) < 5) ? \
+                                       ORION_PCIE_REG(0x1820 + ((n) << 4)) : \
+                                       ORION_PCIE_REG(0x1880))
+#define PCIE_WIN_BASE(n)       (((n) < 5) ? \
+                                       ORION_PCIE_REG(0x1824 + ((n) << 4)) : \
+                                       ORION_PCIE_REG(0x1884))
+#define PCIE_WIN_REMAP(n)      (((n) < 5) ? \
+                                       ORION_PCIE_REG(0x182c + ((n) << 4)) : \
+                                       ORION_PCIE_REG(0x188c))
 #define PCIE_DEFWIN_CTRL       ORION_PCIE_REG(0x18b0)
 #define PCIE_EXPROM_WIN_CTRL   ORION_PCIE_REG(0x18c0)
 #define PCIE_EXPROM_WIN_REMP   ORION_PCIE_REG(0x18c4)
 #define PCIE_MAX_BARS          3
-#define PCIE_MAX_WINS          5
+#define PCIE_MAX_WINS          6
 
 /*
  * Use PCIE BAR '1' for all DDR banks
index 5f0ee4b8a9b73a5a1cfced1a0e0a5efa91e1e993..bbc2b4ec932ca8a407188a3810a3dcbcfd317840 100644 (file)
@@ -17,7 +17,9 @@
 #include <linux/mv643xx_eth.h>
 #include <linux/mv643xx_i2c.h>
 #include <asm/page.h>
+#include <asm/setup.h>
 #include <asm/timex.h>
+#include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/arch/hardware.h>
 #include "common.h"
@@ -177,8 +179,8 @@ static struct platform_device orion_ehci1 = {
 
 static struct resource orion_eth_shared_resources[] = {
        {
-               .start  = ORION_ETH_PHYS_BASE,
-               .end    = ORION_ETH_PHYS_BASE + 0xffff,
+               .start  = ORION_ETH_PHYS_BASE + 0x2000,
+               .end    = ORION_ETH_PHYS_BASE + 0x3fff,
                .flags  = IORESOURCE_MEM,
        },
 };
@@ -347,3 +349,21 @@ void __init orion_init(void)
                platform_device_register(&orion_ehci1);
        platform_device_register(&orion_i2c);
 }
+
+/*
+ * Many orion-based systems have buggy bootloader implementations.
+ * This is a common fixup for bogus memory tags.
+ */
+void __init tag_fixup_mem32(struct machine_desc *mdesc, struct tag *t,
+                           char **from, struct meminfo *meminfo)
+{
+       for (; t->hdr.size; t = tag_next(t))
+               if (t->hdr.tag == ATAG_MEM &&
+                   (!t->u.mem.size || t->u.mem.size & ~PAGE_MASK ||
+                    t->u.mem.start & ~PAGE_MASK)) {
+                       printk(KERN_WARNING
+                              "Clearing invalid memory bank %dKB@0x%08x\n",
+                              t->u.mem.size / 1024, t->u.mem.start);
+                       t->hdr.tag = 0;
+               }
+}
index 10154ec885dfb1c08339732710e59d2c3d9f333a..501497cc2c4df431658a0b036358d374d5f86c5a 100644 (file)
@@ -83,4 +83,10 @@ struct mv_sata_platform_data;
 
 void __init orion_sata_init(struct mv_sata_platform_data *sata_data);
 
+struct machine_desc;
+struct meminfo;
+struct tag;
+extern void __init tag_fixup_mem32(struct machine_desc *, struct tag *,
+                                  char **, struct meminfo *);
+
 #endif /* __ARCH_ORION_COMMON_H__ */
index 02b280c2482064d465fd23a489e046a2d36b3aa3..076e155ad5106106980f6ea05ef93762d986a4c7 100644 (file)
@@ -319,4 +319,5 @@ MACHINE_START(DNS323, "D-Link DNS-323")
        .map_io         = orion_map_io,
        .init_irq       = orion_init_irq,
        .timer          = &orion_timer,
+       .fixup          = tag_fixup_mem32,
 MACHINE_END
index d5f00c86d6163fb8a191bcea06089ed89a5e21d6..f713818c66a3dd3814f45c44fe31f02fa7e5dc64 100644 (file)
@@ -36,7 +36,7 @@ int gpio_direction_input(unsigned pin)
        unsigned long flags;
 
        if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
-               pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin);
+               pr_debug("%s: invalid GPIO %d\n", __func__, pin);
                return -EINVAL;
        }
 
@@ -62,7 +62,7 @@ int gpio_direction_output(unsigned pin, int value)
        int mask;
 
        if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
-               pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin);
+               pr_debug("%s: invalid GPIO %d\n", __func__, pin);
                return -EINVAL;
        }
 
@@ -141,7 +141,7 @@ int gpio_request(unsigned pin, const char *label)
        unsigned long flags;
 
        if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
-               pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin);
+               pr_debug("%s: invalid GPIO %d\n", __func__, pin);
                return -EINVAL;
        }
 
@@ -149,7 +149,7 @@ int gpio_request(unsigned pin, const char *label)
 
        if (gpio_label[pin]) {
                pr_debug("%s: GPIO %d already used as %s\n",
-                        __FUNCTION__, pin, gpio_label[pin]);
+                        __func__, pin, gpio_label[pin]);
                ret = -EBUSY;
        } else
                gpio_label[pin] = label ? label : "?";
@@ -162,12 +162,12 @@ EXPORT_SYMBOL(gpio_request);
 void gpio_free(unsigned pin)
 {
        if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
-               pr_debug("%s: invalid GPIO %d\n", __FUNCTION__, pin);
+               pr_debug("%s: invalid GPIO %d\n", __func__, pin);
                return;
        }
 
        if (!gpio_label[pin])
-               pr_warning("%s: GPIO %d already freed\n", __FUNCTION__, pin);
+               pr_warning("%s: GPIO %d already freed\n", __func__, pin);
        else
                gpio_label[pin] = NULL;
 }
index 6817aca4aa2653b6d92647add7ee6e65a1e66aaf..785a07bdf1e24681f63b28a0a603f43a2c89e00e 100644 (file)
@@ -240,4 +240,5 @@ MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro")
        .map_io         = orion_map_io,
        .init_irq       = orion_init_irq,
        .timer          = &orion_timer,
+       .fixup          = tag_fixup_mem32,
 MACHINE_END
index b8cfe6813e9d5313f8d7d5ad7d29b3b2e75050c5..45764dad16d0fb3bb121b5e5911761ae36051162 100644 (file)
@@ -357,4 +357,5 @@ MACHINE_START(TS209, "QNAP TS-109/TS-209")
        .map_io         = orion_map_io,
        .init_irq       = orion_init_irq,
        .timer          = &orion_timer,
+       .fixup          = tag_fixup_mem32,
 MACHINE_END
index daa8d3d98eff13b7d33927d7a8218bdc021d4bc7..8e00ed43fb95d76fb0dc5243cf0a3acdf0d2d809 100644 (file)
@@ -976,7 +976,7 @@ static int __init clk_init(void)
                                (*clkp)->set_parent((*clkp), (*clkp)->parent);
                }
                pr_debug("%s: clock %s, rate %ld\n",
-                       __FUNCTION__, (*clkp)->name, (*clkp)->rate);
+                       __func__, (*clkp)->name, (*clkp)->rate);
        }
 
        local_clk_use(&ck_pll4);
index f7009d845be838e58ede89dc9851d743a810bd4c..fe152e82590b366990ab96f5dfc91bdc6eb2b41b 100644 (file)
@@ -192,7 +192,7 @@ void pnx4008_free_channel(int ch)
        if (!dma_channels[ch].name) {
                printk(KERN_CRIT
                       "%s: trying to free channel %d which is already freed\n",
-                      __FUNCTION__, ch);
+                      __func__, ch);
                return;
        }
 
index 15c4e0df3e10dcc375180b79b33247a1ea9fe4e2..fcda7d5cb693a15096f9b6420fa86572f33f206c 100644 (file)
@@ -104,7 +104,7 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
 {
        int irq;
 
-       dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __FUNCTION__, slot, pin);
+       dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __func__, slot, pin);
 
        irq = it8152_pci_map_irq(dev, slot, pin);
        if (irq)
index 6012177a29a35b5afb0227c8f0d31bd95ed0f81c..ecdbc96a4de1240f026c6b7c813409faf1073911 100644 (file)
@@ -504,11 +504,11 @@ static void cmx270_mci_setpower(struct device *dev, unsigned int vdd)
        struct pxamci_platform_data *p_d = dev->platform_data;
 
        if ((1 << vdd) & p_d->ocr_mask) {
-               printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
+               printk(KERN_DEBUG "%s: on\n", __func__);
                GPCR(105) = GPIO_bit(105);
        } else {
                GPSR(105) = GPIO_bit(105);
-               printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
+               printk(KERN_DEBUG "%s: off\n", __func__);
        }
 }
 
index 93c4f31f127faa053dcd555f5fe7aa66fb5aee34..3215316d7b063fe31ff5a5cc4b3867f40a4344d7 100644 (file)
@@ -81,7 +81,7 @@ void pxa_free_dma (int dma_ch)
        if (!dma_channels[dma_ch].name) {
                printk (KERN_CRIT
                        "%s: trying to free channel %d which is already freed\n",
-                       __FUNCTION__, dma_ch);
+                       __func__, dma_ch);
                return;
        }
 
index 3d0ad5065ee5c132b1d1f8ed47b3344ffb440650..3bb31314429af0568b9a3920e76895fca580d29b 100644 (file)
@@ -264,7 +264,7 @@ static int em_x270_mci_init(struct device *dev,
                          "MMC card detect", data);
        if (err) {
                printk(KERN_ERR "%s: can't request MMC card detect IRQ: %d\n",
-                      __FUNCTION__, err);
+                      __func__, err);
                return err;
        }
 
index 345c3deeb02ef586eeae1628459ef16aa1cf7c6f..72a436fb9a291f4509a314f6b8c39202b5080d16 100644 (file)
@@ -390,11 +390,11 @@ static void mainstone_mci_setpower(struct device *dev, unsigned int vdd)
        struct pxamci_platform_data* p_d = dev->platform_data;
 
        if (( 1 << vdd) & p_d->ocr_mask) {
-               printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
+               printk(KERN_DEBUG "%s: on\n", __func__);
                MST_MSCWR1 |= MST_MSCWR1_MMC_ON;
                MST_MSCWR1 &= ~MST_MSCWR1_MS_SEL;
        } else {
-               printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
+               printk(KERN_DEBUG "%s: off\n", __func__);
                MST_MSCWR1 &= ~MST_MSCWR1_MMC_ON;
        }
 }
index 853fc9433750efc0ea33987aa62df87a7ed237f6..f207fcd30cd7426f041806d88f0b52db6be69832 100644 (file)
@@ -217,7 +217,7 @@ void board_pcmcia_power(int power)
                ConXS_BCR = trizeps_conxs_bcr;
 
        }
-       pr_debug("%s: o%s 0x%x\n", __FUNCTION__, power ? "n": "ff", trizeps_conxs_bcr);
+       pr_debug("%s: o%s 0x%x\n", __func__, power ? "n": "ff", trizeps_conxs_bcr);
 }
 
 /* backlight power switching for LCD panel */
@@ -228,7 +228,7 @@ static void board_backlight_power(int on)
        } else {
                trizeps_conxs_bcr &= ~ConXS_BCR_L_DISP;
        }
-       pr_debug("%s: o%s 0x%x\n", __FUNCTION__, on ? "n" : "ff", trizeps_conxs_bcr);
+       pr_debug("%s: o%s 0x%x\n", __func__, on ? "n" : "ff", trizeps_conxs_bcr);
        ConXS_BCR = trizeps_conxs_bcr;
 }
 
@@ -238,10 +238,10 @@ static void board_mci_power(struct device *dev, unsigned int vdd)
        struct pxamci_platform_data* p_d = dev->platform_data;
 
        if (( 1 << vdd) & p_d->ocr_mask) {
-               pr_debug("%s: on\n", __FUNCTION__);
+               pr_debug("%s: on\n", __func__);
                /* FIXME fill in values here */
        } else {
-               pr_debug("%s: off\n", __FUNCTION__);
+               pr_debug("%s: off\n", __func__);
                /* FIXME fill in values here */
        }
 }
index f60b7a66dfa022bc66699a7e26b151cb8c1f1c58..842d9e6dc5ff77c94c802baa47647cba879ed73a 100644 (file)
@@ -206,7 +206,7 @@ static int __init badge4_init(void)
        if (ret < 0)
                printk(KERN_ERR
                       "%s: SA-1111 initialization failed (%d)\n",
-                      __FUNCTION__, ret);
+                      __func__, ret);
 
 
        /* maybe turn on 5v0 from the start */
@@ -240,11 +240,11 @@ void badge4_set_5V(unsigned subsystem, int on)
        /* detect on->off and off->on transitions */
        if ((!old_5V_bitmap) && (badge4_5V_bitmap)) {
                /* was off, now on */
-               printk(KERN_INFO "%s: enabling 5V supply rail\n", __FUNCTION__);
+               printk(KERN_INFO "%s: enabling 5V supply rail\n", __func__);
                GPSR = BADGE4_GPIO_PCMEN5V;
        } else if ((old_5V_bitmap) && (!badge4_5V_bitmap)) {
                /* was on, now off */
-               printk(KERN_INFO "%s: disabling 5V supply rail\n", __FUNCTION__);
+               printk(KERN_INFO "%s: disabling 5V supply rail\n", __func__);
                GPCR = BADGE4_GPIO_PCMEN5V;
        }
 
index d68630b74d787fa4a733120e4f89a6b5c5fcf733..343368aa82de471137232e8848d8d4c1cb30d9d2 100644 (file)
@@ -139,7 +139,7 @@ static void sa1100_update_dram_timings(int current_speed, int new_speed)
 
        if (settings->speed == 0) {
                panic("%s: couldn't find dram setting for speed %d\n",
-                     __FUNCTION__, new_speed);
+                     __func__, new_speed);
        }
 
        /* No risk, no fun: run with interrupts on! */
index 1fbe053e8b5998cd46216d9ba445fb26849a3a4e..e5080286060e3be165e4830b29a0a401b8108950 100644 (file)
@@ -129,7 +129,7 @@ int sa1100_request_dma (dma_device_t device, const char *device_id,
        if (err) {
                printk(KERN_ERR
                       "%s: unable to request IRQ %d for %s\n",
-                      __FUNCTION__, IRQ_DMA0 + i, device_id);
+                      __func__, IRQ_DMA0 + i, device_id);
                dma->device = 0;
                return err;
        }
@@ -165,12 +165,12 @@ void sa1100_free_dma(dma_regs_t *regs)
                if (regs == (dma_regs_t *)&DDAR(i))
                        break;
        if (i >= SA1100_DMA_CHANNELS) {
-               printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__);
+               printk(KERN_ERR "%s: bad DMA identifier\n", __func__);
                return;
        }
 
        if (!dma_chan[i].device) {
-               printk(KERN_ERR "%s: Trying to free free DMA\n", __FUNCTION__);
+               printk(KERN_ERR "%s: Trying to free free DMA\n", __func__);
                return;
        }
 
@@ -329,7 +329,7 @@ void sa1100_reset_dma(dma_regs_t *regs)
                if (regs == (dma_regs_t *)&DDAR(i))
                        break;
        if (i >= SA1100_DMA_CHANNELS) {
-               printk(KERN_ERR "%s: bad DMA identifier\n", __FUNCTION__);
+               printk(KERN_ERR "%s: bad DMA identifier\n", __func__);
                return;
        }
 
index b72fee0f2538ee6865a69389b7cb8eb253040c8b..8473c37b77d6e1bf4f5c7d6ce06109793c4275c4 100644 (file)
@@ -596,7 +596,7 @@ static void h3800_control_egpio(enum ipaq_egpio_type x, int setp)
        case IPAQ_EGPIO_CODEC_NRESET:
        case IPAQ_EGPIO_AUDIO_ON:
        case IPAQ_EGPIO_QMUTE:
-               printk("%s: error - should not be called\n", __FUNCTION__);
+               printk("%s: error - should not be called\n", __func__);
                break;
        case IPAQ_EGPIO_OPT_NVRAM_ON:
                SET_ASIC2(GPIO2_OPT_ON_NVRAM);
@@ -638,7 +638,7 @@ static int h3800_pm_callback(int req)
        static u16 asic2_data;
        int result = 0;
 
-       printk("%s %d\n", __FUNCTION__, req);
+       printk("%s %d\n", __func__, req);
 
        switch (req) {
        case PM_RESUME:
@@ -666,7 +666,7 @@ static int h3800_pm_callback(int req)
                asic2_data = H3800_ASIC2_GPIOPIOD;
                break;
        default:
-               printk("%s: unrecognized PM callback\n", __FUNCTION__);
+               printk("%s: unrecognized PM callback\n", __func__);
                break;
        }
        return result;
@@ -706,7 +706,7 @@ static void h3800_IRQ_demux(unsigned int irq, struct irq_desc *desc)
 {
        int i;
 
-       if (0) printk("%s: interrupt received\n", __FUNCTION__);
+       if (0) printk("%s: interrupt received\n", __func__);
 
        desc->chip->ack(irq);
 
@@ -716,21 +716,21 @@ static void h3800_IRQ_demux(unsigned int irq, struct irq_desc *desc)
 
                /* KPIO */
                irq = H3800_ASIC2_KPIINTFLAG;
-               if (0) printk("%s KPIO 0x%08X\n", __FUNCTION__, irq);
+               if (0) printk("%s KPIO 0x%08X\n", __func__, irq);
                for (j = 0; j < H3800_KPIO_IRQ_COUNT; j++)
                        if (irq & kpio_irq_mask[j])
                                handle_edge_irq(H3800_KPIO_IRQ_COUNT + j, irq_desc + H3800_KPIO_IRQ_COUNT + j);
 
                /* GPIO2 */
                irq = H3800_ASIC2_GPIINTFLAG;
-               if (0) printk("%s GPIO 0x%08X\n", __FUNCTION__, irq);
+               if (0) printk("%s GPIO 0x%08X\n", __func__, irq);
                for (j = 0; j < H3800_GPIO_IRQ_COUNT; j++)
                        if (irq & gpio_irq_mask[j])
                                handle_edge_irq(H3800_GPIO_IRQ_COUNT + j, irq_desc + H3800_GPIO_IRQ_COUNT + j);
        }
 
        if (i >= MAX_ASIC_ISR_LOOPS)
-               printk("%s: interrupt processing overrun\n", __FUNCTION__);
+               printk("%s: interrupt processing overrun\n", __func__);
 
        /* For level-based interrupts */
        desc->chip->unmask(irq);
index 2b5aa1135b117395188b617eff8967a28682b5e9..98d01517b5634faf1448164f82183ba08c4f1aa7 100644 (file)
@@ -371,7 +371,7 @@ static int __init iop3xx_init_atu_setup(char *str)
                        default:
                                printk(KERN_DEBUG "\"%s\" malformed at "
                                            "character: \'%c\'",
-                                           __FUNCTION__,
+                                           __func__,
                                            *str);
                                *(str + 1) = '\0';
                        }
index c0d63b0c61c9c5a54a11a298ea0f8d7334444e58..d719c15daa558286e27351df5443f1c436a3b484 100644 (file)
 #define MPU_CLK                "virt_prcm_set"
 #endif
 
+static struct clk *mpu_clk;
+
 /* TODO: Add support for SDRAM timing changes */
 
 int omap_verify_speed(struct cpufreq_policy *policy)
 {
-       struct clk * mpu_clk;
-
        if (policy->cpu)
                return -EINVAL;
 
        cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
                                     policy->cpuinfo.max_freq);
-       mpu_clk = clk_get(NULL, MPU_CLK);
-       if (IS_ERR(mpu_clk))
-               return PTR_ERR(mpu_clk);
+
        policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000;
        policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000;
        cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
                                     policy->cpuinfo.max_freq);
-       clk_put(mpu_clk);
-
        return 0;
 }
 
 unsigned int omap_getspeed(unsigned int cpu)
 {
-       struct clk * mpu_clk;
        unsigned long rate;
 
        if (cpu)
                return 0;
 
-       mpu_clk = clk_get(NULL, MPU_CLK);
-       if (IS_ERR(mpu_clk))
-               return 0;
        rate = clk_get_rate(mpu_clk) / 1000;
-       clk_put(mpu_clk);
-
        return rate;
 }
 
@@ -77,14 +67,9 @@ static int omap_target(struct cpufreq_policy *policy,
                       unsigned int target_freq,
                       unsigned int relation)
 {
-       struct clk * mpu_clk;
        struct cpufreq_freqs freqs;
        int ret = 0;
 
-       mpu_clk = clk_get(NULL, MPU_CLK);
-       if (IS_ERR(mpu_clk))
-               return PTR_ERR(mpu_clk);
-
        freqs.old = omap_getspeed(0);
        freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
        freqs.cpu = 0;
@@ -92,15 +77,12 @@ static int omap_target(struct cpufreq_policy *policy,
        cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
        ret = clk_set_rate(mpu_clk, target_freq * 1000);
        cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-       clk_put(mpu_clk);
 
        return ret;
 }
 
 static int __init omap_cpu_init(struct cpufreq_policy *policy)
 {
-       struct clk * mpu_clk;
-
        mpu_clk = clk_get(NULL, MPU_CLK);
        if (IS_ERR(mpu_clk))
                return PTR_ERR(mpu_clk);
@@ -111,17 +93,23 @@ static int __init omap_cpu_init(struct cpufreq_policy *policy)
        policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000;
        policy->cpuinfo.max_freq = clk_round_rate(mpu_clk, VERY_HI_RATE) / 1000;
        policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
-       clk_put(mpu_clk);
 
        return 0;
 }
 
+static int omap_cpu_exit(struct cpufreq_policy *policy)
+{
+       clk_put(mpu_clk);
+       return 0;
+}
+
 static struct cpufreq_driver omap_driver = {
        .flags          = CPUFREQ_STICKY,
        .verify         = omap_verify_speed,
        .target         = omap_target,
        .get            = omap_getspeed,
        .init           = omap_cpu_init,
+       .exit           = omap_cpu_exit,
        .name           = "omap",
 };
 
index c5dab1d6417e113aeae93658b45a5d5730cdebb1..4a53f9ba6c43ce3c353531f4e7ba6edef98ac1b2 100644 (file)
@@ -88,68 +88,6 @@ EXPORT_SYMBOL(dsp_kfunc_device_register);
 static inline void omap_init_dsp(void) { }
 #endif /* CONFIG_OMAP_DSP */
 
-/*-------------------------------------------------------------------------*/
-#if    defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
-
-#define        OMAP1_I2C_BASE          0xfffb3800
-#define OMAP2_I2C_BASE1                0x48070000
-#define OMAP_I2C_SIZE          0x3f
-#define OMAP1_I2C_INT          INT_I2C
-#define OMAP2_I2C_INT1         56
-
-static struct resource i2c_resources1[] = {
-       {
-               .start          = 0,
-               .end            = 0,
-               .flags          = IORESOURCE_MEM,
-       },
-       {
-               .start          = 0,
-               .flags          = IORESOURCE_IRQ,
-       },
-};
-
-/* DMA not used; works around erratum writing to non-empty i2c fifo */
-
-static struct platform_device omap_i2c_device1 = {
-       .name           = "i2c_omap",
-       .id             = 1,
-       .num_resources  = ARRAY_SIZE(i2c_resources1),
-       .resource       = i2c_resources1,
-};
-
-/* See also arch/arm/mach-omap2/devices.c for second I2C on 24xx */
-static void omap_init_i2c(void)
-{
-       if (cpu_is_omap24xx()) {
-               i2c_resources1[0].start = OMAP2_I2C_BASE1;
-               i2c_resources1[0].end = OMAP2_I2C_BASE1 + OMAP_I2C_SIZE;
-               i2c_resources1[1].start = OMAP2_I2C_INT1;
-       } else {
-               i2c_resources1[0].start = OMAP1_I2C_BASE;
-               i2c_resources1[0].end = OMAP1_I2C_BASE + OMAP_I2C_SIZE;
-               i2c_resources1[1].start = OMAP1_I2C_INT;
-       }
-
-       /* FIXME define and use a boot tag, in case of boards that
-        * either don't wire up I2C, or chips that mux it differently...
-        * it can include clocking and address info, maybe more.
-        */
-       if (cpu_is_omap24xx()) {
-               omap_cfg_reg(M19_24XX_I2C1_SCL);
-               omap_cfg_reg(L15_24XX_I2C1_SDA);
-       } else {
-               omap_cfg_reg(I2C_SCL);
-               omap_cfg_reg(I2C_SDA);
-       }
-
-       (void) platform_device_register(&omap_i2c_device1);
-}
-
-#else
-static inline void omap_init_i2c(void) {}
-#endif
-
 /*-------------------------------------------------------------------------*/
 #if    defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE)
 
@@ -501,7 +439,6 @@ static int __init omap_init_devices(void)
         * in alphabetical order so they're easier to sort through.
         */
        omap_init_dsp();
-       omap_init_i2c();
        omap_init_kp();
        omap_init_mmc();
        omap_init_uwire();
index a46676db81138e5f1e06394179d2ee62fed6c95f..91004a3c4794fe1f90f41d856d3d389537465529 100644 (file)
@@ -137,7 +137,7 @@ static void omap_disable_channel_irq(int lch);
 static inline void omap_enable_channel_irq(int lch);
 
 #define REVISIT_24XX()         printk(KERN_ERR "FIXME: no %s on 24xx\n", \
-                                               __FUNCTION__);
+                                               __func__);
 
 #ifdef CONFIG_ARCH_OMAP15XX
 /* Returns 1 if the DMA module is in OMAP1510-compatible mode, 0 otherwise */
@@ -699,7 +699,7 @@ omap_dma_set_global_params(int arb_rate, int max_fifo_depth, int tparams)
        u32 reg;
 
        if (!cpu_class_is_omap2()) {
-               printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __FUNCTION__);
+               printk(KERN_ERR "FIXME: no %s on 15xx/16xx\n", __func__);
                return;
        }
 
@@ -1705,14 +1705,8 @@ static int omap2_dma_handle_ch(int ch)
                status = OMAP_DMA_CSR_REG(ch);
        }
 
-       if (likely(dma_chan[ch].callback != NULL)) {
-               if (dma_chan[ch].chain_id != -1)
-                       dma_chan[ch].callback(dma_chan[ch].chain_id, status,
-                                             dma_chan[ch].data);
-               else
-                       dma_chan[ch].callback(ch, status, dma_chan[ch].data);
-
-       }
+       if (likely(dma_chan[ch].callback != NULL))
+               dma_chan[ch].callback(ch, status, dma_chan[ch].data);
 
        OMAP_DMA_CSR_REG(ch) = status;
 
index e719d0eeb5c88f2b079d2d67c07486730dc55bbb..302ad8dff2cb5d49a088c43feb1fdea5fe46b027 100644 (file)
@@ -268,7 +268,7 @@ struct omap_dm_timer *omap_dm_timer_request_specific(int id)
        if (id <= 0 || id > dm_timer_count || dm_timers[id-1].reserved) {
                spin_unlock_irqrestore(&dm_timer_lock, flags);
                printk("BUG: warning at %s:%d/%s(): unable to get timer %d\n",
-                      __FILE__, __LINE__, __FUNCTION__, id);
+                      __FILE__, __LINE__, __func__, id);
                dump_stack();
                return NULL;
        }
index 56f4d1394d562bdfc652a2d7f13ee436042ed88c..66a1455595f49c7d15c5b861ce332d5e6a448586 100644 (file)
@@ -333,13 +333,14 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
 void omap_set_gpio_direction(int gpio, int is_input)
 {
        struct gpio_bank *bank;
+       unsigned long flags;
 
        if (check_gpio(gpio) < 0)
                return;
        bank = get_gpio_bank(gpio);
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        _set_gpio_direction(bank, get_gpio_index(gpio), is_input);
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 }
 
 static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
@@ -406,13 +407,14 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
 void omap_set_gpio_dataout(int gpio, int enable)
 {
        struct gpio_bank *bank;
+       unsigned long flags;
 
        if (check_gpio(gpio) < 0)
                return;
        bank = get_gpio_bank(gpio);
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        _set_gpio_dataout(bank, get_gpio_index(gpio), enable);
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 }
 
 int omap_get_gpio_datain(int gpio)
@@ -624,6 +626,7 @@ static int gpio_irq_type(unsigned irq, unsigned type)
        struct gpio_bank *bank;
        unsigned gpio;
        int retval;
+       unsigned long flags;
 
        if (!cpu_class_is_omap2() && irq > IH_MPUIO_BASE)
                gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE);
@@ -642,13 +645,13 @@ static int gpio_irq_type(unsigned irq, unsigned type)
                return -EINVAL;
 
        bank = get_irq_chip_data(irq);
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type);
        if (retval == 0) {
                irq_desc[irq].status &= ~IRQ_TYPE_SENSE_MASK;
                irq_desc[irq].status |= type;
        }
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
        return retval;
 }
 
@@ -830,11 +833,13 @@ static inline void _set_gpio_irqenable(struct gpio_bank *bank, int gpio, int ena
  */
 static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
 {
+       unsigned long flags;
+
        switch (bank->method) {
 #ifdef CONFIG_ARCH_OMAP16XX
        case METHOD_MPUIO:
        case METHOD_GPIO_1610:
-               spin_lock(&bank->lock);
+               spin_lock_irqsave(&bank->lock, flags);
                if (enable) {
                        bank->suspend_wakeup |= (1 << gpio);
                        enable_irq_wake(bank->irq);
@@ -842,7 +847,7 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
                        disable_irq_wake(bank->irq);
                        bank->suspend_wakeup &= ~(1 << gpio);
                }
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
                return 0;
 #endif
 #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
@@ -853,7 +858,7 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
                                        (bank - gpio_bank) * 32 + gpio);
                        return -EINVAL;
                }
-               spin_lock(&bank->lock);
+               spin_lock_irqsave(&bank->lock, flags);
                if (enable) {
                        bank->suspend_wakeup |= (1 << gpio);
                        enable_irq_wake(bank->irq);
@@ -861,7 +866,7 @@ static int _set_gpio_wakeup(struct gpio_bank *bank, int gpio, int enable)
                        disable_irq_wake(bank->irq);
                        bank->suspend_wakeup &= ~(1 << gpio);
                }
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
                return 0;
 #endif
        default:
@@ -897,16 +902,17 @@ static int gpio_wake_enable(unsigned int irq, unsigned int enable)
 int omap_request_gpio(int gpio)
 {
        struct gpio_bank *bank;
+       unsigned long flags;
 
        if (check_gpio(gpio) < 0)
                return -EINVAL;
 
        bank = get_gpio_bank(gpio);
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        if (unlikely(bank->reserved_map & (1 << get_gpio_index(gpio)))) {
                printk(KERN_ERR "omap-gpio: GPIO %d is already reserved!\n", gpio);
                dump_stack();
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
                return -1;
        }
        bank->reserved_map |= (1 << get_gpio_index(gpio));
@@ -925,7 +931,7 @@ int omap_request_gpio(int gpio)
                __raw_writel(__raw_readl(reg) | (1 << get_gpio_index(gpio)), reg);
        }
 #endif
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 
        return 0;
 }
@@ -933,15 +939,16 @@ int omap_request_gpio(int gpio)
 void omap_free_gpio(int gpio)
 {
        struct gpio_bank *bank;
+       unsigned long flags;
 
        if (check_gpio(gpio) < 0)
                return;
        bank = get_gpio_bank(gpio);
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        if (unlikely(!(bank->reserved_map & (1 << get_gpio_index(gpio))))) {
                printk(KERN_ERR "omap-gpio: GPIO %d wasn't reserved!\n", gpio);
                dump_stack();
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
                return;
        }
 #ifdef CONFIG_ARCH_OMAP16XX
@@ -960,7 +967,7 @@ void omap_free_gpio(int gpio)
 #endif
        bank->reserved_map &= ~(1 << get_gpio_index(gpio));
        _reset_gpio(bank, gpio);
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 }
 
 /*
@@ -1194,11 +1201,12 @@ static int omap_mpuio_suspend_late(struct platform_device *pdev, pm_message_t me
 {
        struct gpio_bank        *bank = platform_get_drvdata(pdev);
        void __iomem            *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;
+       unsigned long           flags;
 
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        bank->saved_wakeup = __raw_readl(mask_reg);
        __raw_writel(0xffff & ~bank->suspend_wakeup, mask_reg);
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 
        return 0;
 }
@@ -1207,10 +1215,11 @@ static int omap_mpuio_resume_early(struct platform_device *pdev)
 {
        struct gpio_bank        *bank = platform_get_drvdata(pdev);
        void __iomem            *mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;
+       unsigned long           flags;
 
-       spin_lock(&bank->lock);
+       spin_lock_irqsave(&bank->lock, flags);
        __raw_writel(bank->saved_wakeup, mask_reg);
-       spin_unlock(&bank->lock);
+       spin_unlock_irqrestore(&bank->lock, flags);
 
        return 0;
 }
@@ -1277,6 +1286,11 @@ static struct clk *gpio_fclks[OMAP34XX_NR_GPIOS];
 static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
 #endif
 
+/* This lock class tells lockdep that GPIO irqs are in a different
+ * category than their parents, so it won't report false recursion.
+ */
+static struct lock_class_key gpio_lock_class;
+
 static int __init _omap_gpio_init(void)
 {
        int i;
@@ -1450,6 +1464,7 @@ static int __init _omap_gpio_init(void)
 #endif
                for (j = bank->virtual_irq_start;
                     j < bank->virtual_irq_start + gpio_count; j++) {
+                       lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class);
                        set_irq_chip_data(j, bank);
                        if (bank_is_mpuio(bank))
                                set_irq_chip(j, &mpuio_irq_chip);
@@ -1489,6 +1504,7 @@ static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
                void __iomem *wake_status;
                void __iomem *wake_clear;
                void __iomem *wake_set;
+               unsigned long flags;
 
                switch (bank->method) {
 #ifdef CONFIG_ARCH_OMAP16XX
@@ -1509,11 +1525,11 @@ static int omap_gpio_suspend(struct sys_device *dev, pm_message_t mesg)
                        continue;
                }
 
-               spin_lock(&bank->lock);
+               spin_lock_irqsave(&bank->lock, flags);
                bank->saved_wakeup = __raw_readl(wake_status);
                __raw_writel(0xffffffff, wake_clear);
                __raw_writel(bank->suspend_wakeup, wake_set);
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
        }
 
        return 0;
@@ -1530,6 +1546,7 @@ static int omap_gpio_resume(struct sys_device *dev)
                struct gpio_bank *bank = &gpio_bank[i];
                void __iomem *wake_clear;
                void __iomem *wake_set;
+               unsigned long flags;
 
                switch (bank->method) {
 #ifdef CONFIG_ARCH_OMAP16XX
@@ -1548,10 +1565,10 @@ static int omap_gpio_resume(struct sys_device *dev)
                        continue;
                }
 
-               spin_lock(&bank->lock);
+               spin_lock_irqsave(&bank->lock, flags);
                __raw_writel(0xffffffff, wake_clear);
                __raw_writel(bank->saved_wakeup, wake_set);
-               spin_unlock(&bank->lock);
+               spin_unlock_irqrestore(&bank->lock, flags);
        }
 
        return 0;
index ac9ff1666fccf729ba3f2b85b38c21e4e2ed5626..60f162dc4fad5d1617f074c5256dc5c8b8227e03 100644 (file)
@@ -130,8 +130,8 @@ dmadbg_showregs(const char *fname, int line, struct s3c2410_dma_chan *chan)
        dmadbg_dumpregs(fname, line, chan, &state);
 }
 
-#define dbg_showregs(chan) dmadbg_showregs(__FUNCTION__, __LINE__, (chan))
-#define dbg_showchan(chan) dmadbg_showchan(__FUNCTION__, __LINE__, (chan))
+#define dbg_showregs(chan) dmadbg_showregs(__func__, __LINE__, (chan))
+#define dbg_showchan(chan) dmadbg_showchan(__func__, __LINE__, (chan))
 #else
 #define dbg_showregs(chan) do { } while(0)
 #define dbg_showchan(chan) do { } while(0)
@@ -403,7 +403,7 @@ static int s3c2410_dma_start(struct s3c2410_dma_chan *chan)
 
                        if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
                                pr_debug("%s: buff not yet loaded, no more todo\n",
-                                        __FUNCTION__);
+                                        __func__);
                        } else {
                                chan->load_state = S3C2410_DMALOAD_1RUNNING;
                                s3c2410_dma_loadbuffer(chan, chan->next);
@@ -463,16 +463,16 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
                return -EINVAL;
 
        pr_debug("%s: id=%p, data=%08x, size=%d\n",
-                __FUNCTION__, id, (unsigned int)data, size);
+                __func__, id, (unsigned int)data, size);
 
        buf = kmem_cache_alloc(dma_kmem, GFP_ATOMIC);
        if (buf == NULL) {
                pr_debug("%s: out of memory (%ld alloc)\n",
-                        __FUNCTION__, (long)sizeof(*buf));
+                        __func__, (long)sizeof(*buf));
                return -ENOMEM;
        }
 
-       //pr_debug("%s: new buffer %p\n", __FUNCTION__, buf);
+       //pr_debug("%s: new buffer %p\n", __func__, buf);
        //dbg_showchan(chan);
 
        buf->next  = NULL;
@@ -486,18 +486,18 @@ int s3c2410_dma_enqueue(unsigned int channel, void *id,
        if (chan->curr == NULL) {
                /* we've got nothing loaded... */
                pr_debug("%s: buffer %p queued onto empty channel\n",
-                        __FUNCTION__, buf);
+                        __func__, buf);
 
                chan->curr = buf;
                chan->end  = buf;
                chan->next = NULL;
        } else {
                pr_debug("dma%d: %s: buffer %p queued onto non-empty channel\n",
-                        chan->number, __FUNCTION__, buf);
+                        chan->number, __func__, buf);
 
                if (chan->end == NULL)
                        pr_debug("dma%d: %s: %p not empty, and chan->end==NULL?\n",
-                                chan->number, __FUNCTION__, chan);
+                                chan->number, __func__, chan);
 
                chan->end->next = buf;
                chan->end = buf;
@@ -572,7 +572,7 @@ s3c2410_dma_lastxfer(struct s3c2410_dma_chan *chan)
                if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
                                /* flag error? */
                        printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n",
-                              chan->number, __FUNCTION__);
+                              chan->number, __func__);
                        return;
                }
                break;
@@ -658,7 +658,7 @@ s3c2410_dma_irq(int irq, void *devpw)
 
                if (buf->magic != BUF_MAGIC) {
                        printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n",
-                              chan->number, __FUNCTION__, buf);
+                              chan->number, __func__, buf);
                        return IRQ_HANDLED;
                }
 
@@ -692,7 +692,7 @@ s3c2410_dma_irq(int irq, void *devpw)
                        if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
                                /* flag error? */
                                printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n",
-                                      chan->number, __FUNCTION__);
+                                      chan->number, __func__);
                                return IRQ_HANDLED;
                        }
 
@@ -759,7 +759,7 @@ int s3c2410_dma_request(unsigned int channel,
 
        if (!chan->irq_claimed) {
                pr_debug("dma%d: %s : requesting irq %d\n",
-                        channel, __FUNCTION__, chan->irq);
+                        channel, __func__, chan->irq);
 
                chan->irq_claimed = 1;
                local_irq_restore(flags);
@@ -786,7 +786,7 @@ int s3c2410_dma_request(unsigned int channel,
 
        /* need to setup */
 
-       pr_debug("%s: channel initialised, %p\n", __FUNCTION__, chan);
+       pr_debug("%s: channel initialised, %p\n", __func__, chan);
 
        return chan->number | DMACH_LOW_LEVEL;
 }
@@ -823,7 +823,7 @@ int s3c2410_dma_free(dmach_t channel, struct s3c2410_dma_client *client)
 
        if (chan->state != S3C2410_DMA_IDLE) {
                pr_debug("%s: need to stop dma channel %p\n",
-                      __FUNCTION__, chan);
+                      __func__, chan);
 
                /* possibly flush the channel */
                s3c2410_dma_ctrl(channel, S3C2410_DMAOP_STOP);
@@ -852,7 +852,7 @@ static int s3c2410_dma_dostop(struct s3c2410_dma_chan *chan)
        unsigned long flags;
        unsigned long tmp;
 
-       pr_debug("%s:\n", __FUNCTION__);
+       pr_debug("%s:\n", __func__);
 
        dbg_showchan(chan);
 
@@ -907,14 +907,14 @@ static int s3c2410_dma_flush(struct s3c2410_dma_chan *chan)
        struct s3c2410_dma_buf *buf, *next;
        unsigned long flags;
 
-       pr_debug("%s: chan %p (%d)\n", __FUNCTION__, chan, chan->number);
+       pr_debug("%s: chan %p (%d)\n", __func__, chan, chan->number);
 
        dbg_showchan(chan);
 
        local_irq_save(flags);
 
        if (chan->state != S3C2410_DMA_IDLE) {
-               pr_debug("%s: stopping channel...\n", __FUNCTION__ );
+               pr_debug("%s: stopping channel...\n", __func__ );
                s3c2410_dma_ctrl(chan->number, S3C2410_DMAOP_STOP);
        }
 
@@ -929,7 +929,7 @@ static int s3c2410_dma_flush(struct s3c2410_dma_chan *chan)
                        next = buf->next;
 
                        pr_debug("%s: free buffer %p, next %p\n",
-                              __FUNCTION__, buf, buf->next);
+                              __func__, buf, buf->next);
 
                        s3c2410_dma_buffdone(chan, buf, S3C2410_RES_ABORT);
                        s3c2410_dma_freebuf(buf);
@@ -976,7 +976,7 @@ static int s3c2410_dma_started(struct s3c2410_dma_chan *chan)
 
                        if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
                                pr_debug("%s: buff not yet loaded, no more todo\n",
-                                        __FUNCTION__);
+                                        __func__);
                        } else {
                                chan->load_state = S3C2410_DMALOAD_1RUNNING;
                                s3c2410_dma_loadbuffer(chan, chan->next);
@@ -1050,16 +1050,16 @@ int s3c2410_dma_config(dmach_t channel,
        struct s3c2410_dma_chan *chan = lookup_dma_channel(channel);
 
        pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n",
-                __FUNCTION__, channel, xferunit, dcon);
+                __func__, channel, xferunit, dcon);
 
        if (chan == NULL)
                return -EINVAL;
 
-       pr_debug("%s: Initial dcon is %08x\n", __FUNCTION__, dcon);
+       pr_debug("%s: Initial dcon is %08x\n", __func__, dcon);
 
        dcon |= chan->dcon & dma_sel.dcon_mask;
 
-       pr_debug("%s: New dcon is %08x\n", __FUNCTION__, dcon);
+       pr_debug("%s: New dcon is %08x\n", __func__, dcon);
 
        switch (xferunit) {
        case 1:
@@ -1075,14 +1075,14 @@ int s3c2410_dma_config(dmach_t channel,
                break;
 
        default:
-               pr_debug("%s: bad transfer size %d\n", __FUNCTION__, xferunit);
+               pr_debug("%s: bad transfer size %d\n", __func__, xferunit);
                return -EINVAL;
        }
 
        dcon |= S3C2410_DCON_HWTRIG;
        dcon |= S3C2410_DCON_INTREQ;
 
-       pr_debug("%s: dcon now %08x\n", __FUNCTION__, dcon);
+       pr_debug("%s: dcon now %08x\n", __func__, dcon);
 
        chan->dcon = dcon;
        chan->xfer_unit = xferunit;
@@ -1099,7 +1099,7 @@ int s3c2410_dma_setflags(dmach_t channel, unsigned int flags)
        if (chan == NULL)
                return -EINVAL;
 
-       pr_debug("%s: chan=%p, flags=%08x\n", __FUNCTION__, chan, flags);
+       pr_debug("%s: chan=%p, flags=%08x\n", __func__, chan, flags);
 
        chan->flags = flags;
 
@@ -1120,7 +1120,7 @@ int s3c2410_dma_set_opfn(dmach_t channel, s3c2410_dma_opfn_t rtn)
        if (chan == NULL)
                return -EINVAL;
 
-       pr_debug("%s: chan=%p, op rtn=%p\n", __FUNCTION__, chan, rtn);
+       pr_debug("%s: chan=%p, op rtn=%p\n", __func__, chan, rtn);
 
        chan->op_fn = rtn;
 
@@ -1136,7 +1136,7 @@ int s3c2410_dma_set_buffdone_fn(dmach_t channel, s3c2410_dma_cbfn_t rtn)
        if (chan == NULL)
                return -EINVAL;
 
-       pr_debug("%s: chan=%p, callback rtn=%p\n", __FUNCTION__, chan, rtn);
+       pr_debug("%s: chan=%p, callback rtn=%p\n", __func__, chan, rtn);
 
        chan->callback_fn = rtn;
 
@@ -1170,7 +1170,7 @@ int s3c2410_dma_devconfig(int channel,
                return -EINVAL;
 
        pr_debug("%s: source=%d, hwcfg=%08x, devaddr=%08lx\n",
-                __FUNCTION__, (int)source, hwcfg, devaddr);
+                __func__, (int)source, hwcfg, devaddr);
 
        chan->source = source;
        chan->dev_addr = devaddr;
@@ -1180,7 +1180,7 @@ int s3c2410_dma_devconfig(int channel,
        case S3C2410_DMASRC_HW:
                /* source is hardware */
                pr_debug("%s: hw source, devaddr=%08lx, hwcfg=%d\n",
-                        __FUNCTION__, devaddr, hwcfg);
+                        __func__, devaddr, hwcfg);
                dma_wrreg(chan, S3C2410_DMA_DISRCC, hwcfg & 3);
                dma_wrreg(chan, S3C2410_DMA_DISRC,  devaddr);
                dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0));
@@ -1190,8 +1190,8 @@ int s3c2410_dma_devconfig(int channel,
 
        case S3C2410_DMASRC_MEM:
                /* source is memory */
-               pr_debug( "%s: mem source, devaddr=%08lx, hwcfg=%d\n",
-                         __FUNCTION__, devaddr, hwcfg);
+               pr_debug("%s: mem source, devaddr=%08lx, hwcfg=%d\n",
+                        __func__, devaddr, hwcfg);
                dma_wrreg(chan, S3C2410_DMA_DISRCC, (0<<1) | (0<<0));
                dma_wrreg(chan, S3C2410_DMA_DIDST,  devaddr);
                dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3);
index 1c2b55c61ca013b1f4704511a8e04b645368fdac..0f6404435ea8f11d38ab1998fdb98696076e5168 100644 (file)
@@ -36,7 +36,7 @@
 
 #define NR_IRQS                                (MAXIRQNUM + 1)
 
-extern void __init h3_mmc_init(void);
+extern void h3_mmc_init(void);
 extern void h3_mmc_slot_cover_handler(void *arg, int state);
 
 #endif /*  __ASM_ARCH_OMAP_H3_H */
index 442aecbb8f44b23f3392906b9c790dc5e651f626..224e009e529633a07042429c4f51cf93c5781799 100644 (file)
@@ -27,9 +27,7 @@
 #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
 #define __ARCH_ARM_MACH_OMAP_COMMON_H
 
-#ifdef CONFIG_I2C_OMAP
 #include <linux/i2c.h>
-#endif
 
 struct sys_timer;
 
@@ -41,7 +39,12 @@ extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
                                 struct i2c_board_info const *info,
                                 unsigned len);
 #else
-#define omap_register_i2c_bus(a, b, c, d)      0
+static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
+                                struct i2c_board_info const *info,
+                                unsigned len)
+{
+       return 0;
+}
 #endif
 
 #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
index 7a43b0a912e4ec9826440cf6ab4d30fe031a8065..4eed1f80e2fb57c6ae4cd7c84d2b9ddefede12be 100644 (file)
 
 /* Function Prototypes for GPIO Expander functions */
 
+#ifdef CONFIG_GPIOEXPANDER_OMAP
 int read_gpio_expa(u8 *, int);
 int write_gpio_expa(u8 , int);
+#else
+static inline int read_gpio_expa(u8 *val, int addr)
+{
+       return 0;
+}
+static inline int write_gpio_expa(u8 val, int addr)
+{
+       return 0;
+}
+#endif
 
 #endif /* __ASM_ARCH_OMAP_GPIOEXPANDER_H */
index 33c83dd879654aa5e3c83f18b4ad022a1603ac3a..2e5868bbe03bd9dba8c0a3c791cbe1d9c02642ea 100644 (file)
@@ -92,6 +92,8 @@ extern unsigned int kobjsize(const void *objp);
 
 #define FIRST_USER_ADDRESS      (0)
 
+#include <asm-generic/pgtable.h>
+
 #else 
 
 /*
index b5e6208175d1738fb203450bd39793aa053fc040..19b9eda39485191ac13405ce02b8e0531f997ae1 100644 (file)
@@ -27,8 +27,8 @@ static void arch_detect_cpu(void);
 
 /* defines for UART registers */
 
-#include "asm/plat-s3c/regs-serial.h"
-#include "asm/plat-s3c/regs-watchdog.h"
+#include <asm/plat-s3c/regs-serial.h>
+#include <asm/plat-s3c/regs-watchdog.h>
 
 /* working in physical space... */
 #undef S3C2410_WDOGREG
index a4ce457199d3279fb3d07856cf5a5b178e9be687..75ec760f4c748a0bb9ab5722e552c45b866599b8 100644 (file)
 #ifndef __ASSEMBLY__
 
 #ifndef MULTI_CPU
-#include "asm/cpu-single.h"
+#include <asm/cpu-single.h>
 #else
-#include "asm/cpu-multi32.h"
+#include <asm/cpu-multi32.h>
 #endif
 
 #include <asm/memory.h>