1. 03 May, 2013 7 commits
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix unmet direct dependencies for SERIAL_OMAP · eb16d332
      Tony Lindgren authored
      Commit 8a6201b9 (ARM: OMAP2+: Fix unmet direct dependencies for zoom
      for 8250 serial) fixed unmet direct dependencies for 8250, but failed
      to do the same for omap serial. This can cause the following warning:
      
      warning: (ARCH_OMAP2PLUS_TYPICAL) selects SERIAL_OMAP which has
      unmet direct dependencies (TTY && HAS_IOMEM && GENERIC_HARDIRQS &&
      ARCH_OMAP2PLUS).
      
      We should not select drivers, they should be selected by the
      user. Fix the issue by removing the select and adding them to
      omap2plus_defconfig instead.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      eb16d332
    • Arnd Bergmann's avatar
      ARM: ux500: always select ABX500_CORE · ccefeea9
      Arnd Bergmann authored
      We are probably selecting more drivers than we should in ux500,
      but cleaning up that logic for good can be left for another
      time. Most of these could be converted into silent options in
      the future, since they are always enabled on ux500 and never
      needed elsewhere.
      
      As a fixup for 3.10, let's at least select the dependencies for
      the other drivers we already select, to make it consistent.
      
      warning: (UX500_SOC_COMMON) selects AB8500_CORE which has unmet direct dependencies (HAS_IOMEM && GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU)
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ccefeea9
    • Arnd Bergmann's avatar
      ARM: SIRF: select SMP_ON_UP only on SMP builds · cb0c480a
      Arnd Bergmann authored
      Like all other platforms, we can only select SMP_ON_UP if SMP
      is also enabled.
      
      warning: (SOC_IMX31 && SOC_IMX35 && ARCH_MARCO) selects
       SMP_ON_UP which has unmet direct dependencies (SMP && !XIP_KERNEL)
      
      Cc: Barry Song <baohua.song@csr.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      cb0c480a
    • Arnd Bergmann's avatar
      ARM: SPEAr: conditionalize l2x0 support · 6343b05f
      Arnd Bergmann authored
      If the cache controller implementation is disabled at build time,
      we must not call any functions related to it.
      
      arch/arm/mach-spear/built-in.o: In function `spear13xx_l2x0_init':
      arch/arm/mach-spear/spear13xx.c:47: undefined reference to `l2x0_init'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarViresh Kumar <viresh.linux@gmail.com>
      6343b05f
    • Arnd Bergmann's avatar
      ARM: imx: build CPU suspend code only when needed · cb48389b
      Arnd Bergmann authored
      The ARM CPU suspend function has its own configuration symbol,
      which we need to use for conditionalizing any code calling into
      it as well.
      
      arch/arm/mach-imx/built-in.o: In function `v7_cpu_resume':
      /git/arm-soc/arch/arm/mach-imx/headsmp.S:57: undefined
       reference to `cpu_resume'
      
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      cb48389b
    • Arnd Bergmann's avatar
      ARM: OMAP: build SMP code only for OMAP4/5 · 572b16db
      Arnd Bergmann authored
      The OMAP platform code assumes that SMP is only ever enabled when
      CONFIG_ARCH_OMAP4 or CONFIG_SOC_OMAP5 is enabled, which is not
      necessarirly true in a multiplatform configuration.
      
      arch/arm/mach-omap2/built-in.o: In function `omap4_smp_prepare_cpus':
       :(.init.text+0x413c): undefined reference to `omap_get_wakeupgen_base'
       :(.init.text+0x415c): undefined reference to `omap_secure_apis_support'
      arch/arm/mach-omap2/built-in.o: In function `omap4_boot_secondary':
       :(.cpuinit.text+0x28): undefined reference to `omap_get_wakeupgen_base'
       :(.cpuinit.text+0x3c): undefined reference to `omap_secure_apis_support'
      arch/arm/mach-omap2/built-in.o: In function `omap4_cpu_die':
       :(.ref.text+0x8): undefined reference to `omap_get_wakeupgen_base'
       :(.ref.text+0x10): undefined reference to `omap_secure_apis_support'
       :(.ref.text+0x4c): undefined reference to `omap4_hotplug_cpu'
       :(.ref.text+0x50): undefined reference to `omap_secure_apis_support'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      572b16db
    • Arnd Bergmann's avatar
      ARM: tegra: Tegra114 needs CPU_FREQ_TABLE · 63cc8467
      Arnd Bergmann authored
      Like the other Tegra SoCs using the same cpufreq driver, we
      have to enable CPU_FREQ_TABLE for this one.
      
      drivers/built-in.o: In function `tegra_cpu_exit':
       drivers/cpufreq/tegra-cpufreq.c:237: undefined reference to
       `cpufreq_frequency_table_cpuinfo'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Hiroshi Doyu <hdoyu@nvidia.com>
      63cc8467
  2. 29 Apr, 2013 2 commits
    • Arnd Bergmann's avatar
      ARM: default machine descriptor for multiplatform · 883a106b
      Arnd Bergmann authored
      Since we now have default implementations for init_time and init_irq,
      the init_machine callback is the only one that is not yet optional,
      but since simple DT based platforms all have the same
      of_platform_populate function call in there, we can consolidate them
      as well, and then actually boot with a completely empty machine_desc.
      Unofortunately we cannot just default to an empty init_machine: We
      cannot call of_platform_populate before init_machine because that
      does not work in case of auxdata, and we cannot call it after
      init_machine either because the machine might need to run code
      after adding the devices.
      
      To take the final step, this adds support for booting without defining
      any machine_desc whatsoever.
      
      For the case that CONFIG_MULTIPLATFORM is enabled, it adds a
      global machine descriptor that never matches any machine but is
      used as a fallback if nothing else matches. We assume that without
      CONFIG_MULTIPLATFORM, we only want to boot on the systems that the kernel
      is built for, so we still retain the build-time warning for missing
      machine descriptors and the run-time warning when the platform does not
      match in that case.
      
      In the case that we run on a multiplatform kernel and the machine
      provides a fully populated device tree, we attempt to keep booting,
      hoping that no machine specific callbacks are necessary.
      
      Finally, this also removes the misguided "select ARCH_VEXPRESS" that
      was only added to avoid a build error for allnoconfig kernels.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Acked-by: default avatarOlof Johansson <olof@lixom.net>
      Cc: "Russell King - ARM Linux" <linux@arm.linux.org.uk>
      Cc: Rob Herring <robherring2@gmail.com>
      883a106b
    • Olof Johansson's avatar
      ARM: dts: exynops4210: really add universal_c210 dts · 0682edaa
      Olof Johansson authored
      I fumbled when resolving a merge conflict on application of commit
      765d012c (ARM: dts: exynos4210: Add basic dts file for universal_c210
      board), and left out the dts source file. Here it is.
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      0682edaa
  3. 28 Apr, 2013 12 commits
  4. 20 Apr, 2013 1 commit
    • Tomasz Figa's avatar
      clocksource: add samsung pwm timer driver · f1189989
      Tomasz Figa authored
      This adds a new clocksource driver for the PWM timer that is
      present in most Samsung SoCs, based on the existing driver in
      arch/arm/plat-samsung/samsung-time.c and many changes implemented by
      Tomasz Figa.
      
      Originally, the conversion of all Samsung machines to the new driver was
      planned for 3.10, but that work ended up being too late and too invasive
      just before the merge window.
      
      Unfortunately, other changes in the Exynos platform resulted in some
      Exynos4 setups, particularly the Universal C210 board to be broken. In
      order to fix that with minimum risk, so we now leave the existing pwm
      clocksource driver in place for all older platforms and use the new
      driver only for device tree enabled boards. This way, we can get the
      broken machines running again using DT descriptions.
      
      All clocksource changes were implemented by Tomasz, while the DT
      registration was rewritten by Arnd.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      f1189989
  5. 28 Mar, 2013 1 commit
  6. 11 Mar, 2013 4 commits
  7. 10 Mar, 2013 2 commits
    • Linus Torvalds's avatar
      Linux 3.9-rc2 · f6161aa1
      Linus Torvalds authored
      f6161aa1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 72932611
      Linus Torvalds authored
      Pull namespace bugfixes from Eric Biederman:
       "This is three simple fixes against 3.9-rc1.  I have tested each of
        these fixes and verified they work correctly.
      
        The userns oops in key_change_session_keyring and the BUG_ON triggered
        by proc_ns_follow_link were found by Dave Jones.
      
        I am including the enhancement for mount to only trigger requests of
        filesystem modules here instead of delaying this for the 3.10 merge
        window because it is both trivial and the kind of change that tends to
        bit-rot if left untouched for two months."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        proc: Use nd_jump_link in proc_ns_follow_link
        fs: Limit sys_mount to only request filesystem modules (Part 2).
        fs: Limit sys_mount to only request filesystem modules.
        userns: Stop oopsing in key_change_session_keyring
      72932611
  8. 09 Mar, 2013 5 commits
    • Linus Torvalds's avatar
      Atmel MXT touchscreen: increase reset timeouts · 8343bce1
      Linus Torvalds authored
      There is a more complete atmel patch-series out by Nick Dyer that fixes
      this and other things, but in the meantime this is the minimal thing to
      get the touchscreen going on (at least my) Pixel Chromebook.
      
      Not that I want my dirty fingers near that beautiful screen, but it
      seems that a non-initialized touchscreen will also end up being a
      constant wakeup source, so you have to disable it to go to sleep.  And
      it's easier to just fix the initialization sequence.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8343bce1
    • Eric W. Biederman's avatar
      proc: Use nd_jump_link in proc_ns_follow_link · db04dc67
      Eric W. Biederman authored
      Update proc_ns_follow_link to use nd_jump_link instead of just
      manually updating nd.path.dentry.
      
      This fixes the BUG_ON(nd->inode != parent->d_inode) reported by Dave
      Jones and reproduced trivially with mkdir /proc/self/ns/uts/a.
      
      Sigh it looks like the VFS change to require use of nd_jump_link
      happend while proc_ns_follow_link was baking and since the common case
      of proc_ns_follow_link continued to work without problems the need for
      making this change was overlooked.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      db04dc67
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 0aefda3e
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "These are scattered fixes and one performance improvement.  The
        biggest functional change is in how we throttle metadata changes.  The
        new code bumps our average file creation rate up by ~13% in fs_mark,
        and lowers CPU usage.
      
        Stefan bisected out a regression in our allocation code that made
        balance loop on extents larger than 256MB."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: improve the delayed inode throttling
        Btrfs: fix a mismerge in btrfs_balance()
        Btrfs: enforce min_bytes parameter during extent allocation
        Btrfs: allow running defrag in parallel to administrative tasks
        Btrfs: avoid deadlock on transaction waiting list
        Btrfs: do not BUG_ON on aborted situation
        Btrfs: do not BUG_ON in prepare_to_reloc
        Btrfs: free all recorded tree blocks on error
        Btrfs: build up error handling for merge_reloc_roots
        Btrfs: check for NULL pointer in updating reloc roots
        Btrfs: fix unclosed transaction handler when the async transaction commitment fails
        Btrfs: fix wrong handle at error path of create_snapshot() when the commit fails
        Btrfs: use set_nlink if our i_nlink is 0
      0aefda3e
    • Benson Leung's avatar
      Platform: x86: chromeos_laptop : Add basic platform data for atmel devices · 2ef39204
      Benson Leung authored
      Add basic platform data to get the current upstream driver working
      with the 224s touchpad and 1664s touchscreen.
      We will be using NULL config so we will use the settings from the
      devices' NVRAMs.
      Signed-off-by: default avatarBenson Leung <bleung@chromium.org>
      Tested-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2ef39204
    • Daniel Kurtz's avatar
      Input: atmel_mxt_ts - Support for touchpad variant · 22dfab7f
      Daniel Kurtz authored
      This same driver can be used by atmel based touchscreens and touchpads
      (buttonpads). Platform data may specify a device is a touchpad
      using the is_tp flag.
      
      This will cause the driver to perform some touchpad specific
      initializations, such as:
        * register input device name "Atmel maXTouch Touchpad" instead of
        Touchscreen.
        * register BTN_LEFT & BTN_TOOL_* event types.
        * register axis resolution (as a fixed constant, for now)
        * register BUTTONPAD property
        * process GPIO buttons using reportid T19
      
      Input event GPIO mapping is done by the platform data key_map array.
      
      key_map[x] should contain the KEY or BTN code to send when processing
      GPIOx from T19. To specify a GPIO as not an input source, populate
      with KEY_RESERVED, or 0.
      Signed-off-by: default avatarDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: default avatarBenson Leung <bleung@chromium.org>
      Signed-off-by: default avatarNick Dyer <nick.dyer@itdev.co.uk>
      Tested-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22dfab7f
  9. 08 Mar, 2013 6 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 67a865a4
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "A small set of cifs fixes which includes one for a recent regression
        in the write path (pointed out by Anton), some fixes for rename
        problems and as promised for 3.9 removing the obsolete sockopt mount
        option (and the accompanying deprecation warning)."
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: Fix missing of oplock_read value in smb30_values structure
        cifs: don't try to unlock pagecache page after releasing it
        cifs: remove the sockopt= mount option
        cifs: Check server capability before attempting silly rename
        cifs: Fix bug when checking error condition in cifs_rename_pending_delete()
      67a865a4
    • Linus Torvalds's avatar
      Merge branch 'akpm' (fixes from Andrew) · 59d8e5eb
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton.
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        alpha: boot: fix build breakage introduced by system.h disintegration
        memcg: initialize kmem-cache destroying work earlier
        Randy has moved
        ksm: fix m68k build: only NUMA needs pfn_to_nid
        dmi_scan: fix missing check for _DMI_ signature in smbios_present()
        Revert parts of "hlist: drop the node parameter from iterators"
        idr: remove WARN_ON_ONCE() on negative IDs
        mm/mempolicy.c: fix sp_node_init() argument ordering
        mm/mempolicy.c: fix wrong sp_node insertion
        ipc: don't allocate a copy larger than max
        ipc: fix potential oops when src msg > 4k w/ MSG_COPY
      59d8e5eb
    • Will Deacon's avatar
      alpha: boot: fix build breakage introduced by system.h disintegration · c3d6b628
      Will Deacon authored
      Commit ec221208 ("Disintegrate asm/system.h for Alpha") removed the
      system.h include from boot/head.S, which puts the PAL_* asm constants
      out of scope.
      
      Include <asm/pal.h> so we can get building again.
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Cc: David Rusling <david.rusling@linaro.org>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c3d6b628
    • Konstantin Khlebnikov's avatar
      memcg: initialize kmem-cache destroying work earlier · 15cf17d2
      Konstantin Khlebnikov authored
      Fix a warning from lockdep caused by calling cancel_work_sync() for
      uninitialized struct work.  This path has been triggered by destructon
      kmem-cache hierarchy via destroying its root kmem-cache.
      
        cache ffff88003c072d80
        obj ffff88003b410000 cache ffff88003c072d80
        obj ffff88003b924000 cache ffff88003c20bd40
        INFO: trying to register non-static key.
        the code is fine but needs lockdep annotation.
        turning off the locking correctness validator.
        Pid: 2825, comm: insmod Tainted: G           O 3.9.0-rc1-next-20130307+ #611
        Call Trace:
          __lock_acquire+0x16a2/0x1cb0
          lock_acquire+0x8a/0x120
          flush_work+0x38/0x2a0
          __cancel_work_timer+0x89/0xf0
          cancel_work_sync+0xb/0x10
          kmem_cache_destroy_memcg_children+0x81/0xb0
          kmem_cache_destroy+0xf/0xe0
          init_module+0xcb/0x1000 [kmem_test]
          do_one_initcall+0x11a/0x170
          load_module+0x19b0/0x2320
          SyS_init_module+0xc6/0xf0
          system_call_fastpath+0x16/0x1b
      
      Example module to demonstrate:
      
        #include <linux/module.h>
        #include <linux/slab.h>
        #include <linux/mm.h>
        #include <linux/workqueue.h>
      
        int __init mod_init(void)
        {
        	int size = 256;
        	struct kmem_cache *cache;
        	void *obj;
        	struct page *page;
      
        	cache = kmem_cache_create("kmem_cache_test", size, size, 0, NULL);
        	if (!cache)
        		return -ENOMEM;
      
        	printk("cache %p\n", cache);
      
        	obj = kmem_cache_alloc(cache, GFP_KERNEL);
        	if (obj) {
        		page = virt_to_head_page(obj);
        		printk("obj %p cache %p\n", obj, page->slab_cache);
        		kmem_cache_free(cache, obj);
        	}
      
        	flush_scheduled_work();
      
        	obj = kmem_cache_alloc(cache, GFP_KERNEL);
        	if (obj) {
        		page = virt_to_head_page(obj);
        		printk("obj %p cache %p\n", obj, page->slab_cache);
        		kmem_cache_free(cache, obj);
        	}
      
        	kmem_cache_destroy(cache);
      
        	return -EBUSY;
        }
      
        module_init(mod_init);
        MODULE_LICENSE("GPL");
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Glauber Costa <glommer@parallels.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      15cf17d2
    • Randy Dunlap's avatar
      Randy has moved · 755727b7
      Randy Dunlap authored
      Update email address and CREDITS info.  xenotime.net is defunct.
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Harry Wei <harryxiyou@gmail.com>
      Cc: Keiichi KII <k-keiichi@bx.jp.nec.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      755727b7
    • Hugh Dickins's avatar
      ksm: fix m68k build: only NUMA needs pfn_to_nid · d8fc16a8
      Hugh Dickins authored
      A CONFIG_DISCONTIGMEM=y m68k config gave
      
        mm/ksm.c: In function `get_kpfn_nid':
        mm/ksm.c:492: error: implicit declaration of function `pfn_to_nid'
      
      linux/mmzone.h declares it for CONFIG_SPARSEMEM and CONFIG_FLATMEM, but
      expects the arch's asm/mmzone.h to declare it for CONFIG_DISCONTIGMEM
      (see arch/mips/include/asm/mmzone.h for example).
      
      Or perhaps it is only expected when CONFIG_NUMA=y: too much of a maze,
      and m68k got away without it so far, so fix the build in mm/ksm.c.
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Petr Holasek <pholasek@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d8fc16a8