1. 31 1月, 2014 5 次提交
  2. 30 1月, 2014 13 次提交
  3. 29 1月, 2014 22 次提交
    • J
      xtensa: fixup simdisk driver to work with immutable bio_vecs · 675675ad
      Jens Axboe 提交于
      Geert reported:
      
      arch/xtensa/platforms/iss/simdisk.c:108:23: error: 'struct bio' has no member named 'bi_sector'
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: incompatible types when assigning to type 'int' from type 'struct bvec_iter'
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:110:2: error: request for member 'bv_len' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_size' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_idx' in something not a structure or union
      arch/xtensa/platforms/iss/simdisk.c:111:18: error: request for member 'bi_bvec_done' in something not a structure or union
      make[2]: *** [arch/xtensa/platforms/iss/simdisk.o] Error 1
      
      Fixup the usage of bio_for_each_segment(). Also fix wrong use
      of __bio_kunmap_atomic() - it needs the mapped buffer passed in,
      not the originally mapped page.
      Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      675675ad
    • D
      a54983ae
    • P
      sparc: don't use module_init in non-modular pci.c code · 1b925b57
      Paul Gortmaker 提交于
      The pci.o is built for SPARC64_PCI -- which is bool, and hence
      this code is either present or absent.  It will never be modular,
      so using module_init as an alias for __initcall can be somewhat
      misleading.
      
      Fix this up now, so that we can relocate module_init from
      init.h into module.h in the future.  If we don't do this, we'd
      have to add module.h to obviously non-modular code, and that
      would be a worse thing.
      
      Note that direct use of __initcall is discouraged, vs. one
      of the priority categorized subgroups.  As __initcall gets
      mapped onto device_initcall, our use of device_initcall
      directly in this change means that the runtime impact is
      zero -- it will remain at level 6 in initcall ordering.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1b925b57
    • P
      sparc: delete non-required instances of include <linux/init.h> · 8b2abcbc
      Paul Gortmaker 提交于
      None of these files are actually using any __init type directives
      and hence don't need to include <linux/init.h>.  Most are just a
      left over from __devinit and __cpuinit removal, or simply due to
      code getting copied from one driver to the next.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8b2abcbc
    • S
      From: Eunbong Song <eunb.song@samsung.com> · 58095fda
      Steven Miao 提交于
      This patch removes CONFIG_MTD_PARTITIONS in config files for blackfin.
      Because CONFIG_MTD_PARTITIONS was removed by commit
      6a8a98b2.
      Signed-off-by: NEunbong Song <eunb.song@samsung.com>
      Signed-off-by: NSteven Miao <realmz6@gmail.com>
      58095fda
    • A
      Add platfrom device resource for bfin-sport on bf533 stamp · eb706def
      Aaron Wu 提交于
      Signed-off-by: NAaron Wu <Aaron.wu@analog.com>
      Signed-off-by: NSteven Miao <realmz6@gmail.com>
      eb706def
    • A
      fix build error for bf527-ezkit_defconfig for old silicon · 44148338
      Aaron Wu 提交于
      Signed-off-by: NAaron Wu <Aaron.wu@analog.com>
      
      fix build error for bf527-ezkit_defconfig for old silicon
      44148338
    • S
      blackfin: Support L1 SRAM parity checking feature on bf60x · 1b601239
      Sonic Zhang 提交于
      Move code for the SEC faults from the IRQ hanlders into IRQ actions.
      refine bfin fault routine handle
      Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: NSteven Miao <realmz6@gmail.com>
      1b601239
    • S
      cccdfcf7
    • P
      blackfin: delete non-required instances of <linux/init.h> · 10f3c513
      Paul Gortmaker 提交于
      None of these files are actually using any __init type directives
      and hence don't need to include <linux/init.h>.  Most are just a
      left over from __devinit and __cpuinit removal, or simply due to
      code getting copied from one driver to the next.
      
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: uclinux-dist-devel@blackfin.uclinux.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      10f3c513
    • S
      From: Paul Walmsley <pwalmsley@nvidia.com> · b48b3a39
      Steven Miao 提交于
      blackfin: bf60x: clock: return 0 upon error from clk_round_rate()
      
      clk_round_rate() should return 0 upon an error, rather than returning
      a negative error code.  This is because clk_round_rate() is being
      changed to return an unsigned return type rather than a signed type,
      since some clock sources can generate rates higher than (2^31)-1 Hz.
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Signed-off-by: NSteven Miao <realmz6@gmail.com>
      b48b3a39
    • J
      06/18] smp, blackfin: kill SMP single function call interrupt · 5e98c099
      Jiang Liu 提交于
      Commit 9a46ad6d "smp: make smp_call_function_many() use logic
      similar to smp_call_function_single()" has unified the way to handle
      single and multiple cross-CPU function calls. Now only one interrupt
      is needed for architecture specific code to support generic SMP function
      call interfaces, so kill the redundant single function call interrupt.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Shaohua Li <shli@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Jiri Kosina <trivial@kernel.org>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: uclinux-dist-devel@blackfin.uclinux.org
      Signed-off-by: NJiang Liu <liuj97@gmail.com>
      5e98c099
    • C
      arch: blackfin: uapi: be sure of "_UAPI" prefix for all guard macros · 13376509
      Chen Gang 提交于
      For all uapi headers, need use "_UAPI" prefix for its guard macro
      (which will be stripped by "scripts/headers_installer.sh").
      
      Also be sure that all files have their guard macros.
      
      Also be sure that all "#endif" are followed with comments, and no '\t'
      for guard macro
      Signed-off-by: NChen Gang <gang.chen@asianux.com>
      13376509
    • B
    • T
      powerpc/hugetlb: Replace __get_cpu_var with get_cpu_var · 94b09d75
      Tiejun Chen 提交于
      Replace __get_cpu_var safely with get_cpu_var to avoid
      the following call trace:
      
      [ 7253.637591] BUG: using smp_processor_id() in preemptible [00000000 00000000]
      code: hugemmap01/9048
      [ 7253.637601] caller is free_hugepd_range.constprop.25+0x88/0x1a8
      [ 7253.637605] CPU: 1 PID: 9048 Comm: hugemmap01 Not tainted 3.10.20-rt14+ #114
      [ 7253.637606] Call Trace:
      [ 7253.637617] [cb049d80] [c0007ea4] show_stack+0x4c/0x168 (unreliable)
      [ 7253.637624] [cb049dc0] [c031c674] debug_smp_processor_id+0x114/0x134
      [ 7253.637628] [cb049de0] [c0016d28] free_hugepd_range.constprop.25+0x88/0x1a8
      [ 7253.637632] [cb049e00] [c001711c] hugetlb_free_pgd_range+0x6c/0x168
      [ 7253.637639] [cb049e40] [c0117408] free_pgtables+0x12c/0x150
      [ 7253.637646] [cb049e70] [c011ce38] unmap_region+0xa0/0x11c
      [ 7253.637671] [cb049ef0] [c011f03c] do_munmap+0x224/0x3bc
      [ 7253.637676] [cb049f20] [c011f2e0] vm_munmap+0x38/0x5c
      [ 7253.637682] [cb049f40] [c000ef88] ret_from_syscall+0x0/0x3c
      [ 7253.637686] --- Exception: c01 at 0xff16004
      
      Signed-off-by: Tiejun Chen<tiejun.chen@windriver.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      94b09d75
    • P
      powerpc: Make sure "cache" directory is removed when offlining cpu · 91b973f9
      Paul Mackerras 提交于
      The code in remove_cache_dir() is supposed to remove the "cache"
      subdirectory from the sysfs directory for a CPU when that CPU is
      being offlined.  It tries to do this by calling kobject_put() on
      the kobject for the subdirectory.  However, the subdirectory only
      gets removed once the last reference goes away, and the reference
      being put here may well not be the last reference.  That means
      that the "cache" subdirectory may still exist when the offlining
      operation has finished.  If the same CPU subsequently gets onlined,
      the code tries to add a new "cache" subdirectory.  If the old
      subdirectory has not yet been removed, we get a WARN_ON in the
      sysfs code, with stack trace, and an error message printed on the
      console.  Further, we ultimately end up with an online cpu with no
      "cache" subdirectory.
      
      This fixes it by doing an explicit kobject_del() at the point where
      we want the subdirectory to go away.  kobject_del() removes the sysfs
      directory even though the object still exists in memory.  The object
      will get freed at some point in the future.  A subsequent onlining
      operation can create a new sysfs directory, even if the old object
      still exists in memory, without causing any problems.
      
      Cc: stable@vger.kernel.org # v3.0+
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      91b973f9
    • J
      powerpc/mm: Fix mmap errno when MAP_FIXED is set and mapping exceeds the allowed address space · 19751c07
      jmarchan@redhat.com 提交于
      According to Posix, if MAP_FIXED is specified mmap shall set ENOMEM if
      the requested mapping exceeds the allowed range for address space of
      the process. The generic code set it right, but the specific powerpc
      slice_get_unmapped_area() function currently returns -EINVAL in that
      case.
      This patch corrects it.
      Signed-off-by: NJerome Marchand <jmarchan@redhat.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      19751c07
    • D
      powerpc/powernv/cpuidle: Back-end cpuidle driver for powernv platform. · 2c2e6ecf
      Deepthi Dharwar 提交于
      Following patch ports the cpuidle framework for powernv
      platform and also implements a cpuidle back-end powernv
      idle driver calling on to power7_nap and snooze idle states.
      Signed-off-by: NDeepthi Dharwar <deepthi@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2c2e6ecf
    • D
      powerpc/pseries/cpuidle: smt-snooze-delay cleanup. · 3fa8cad8
      Deepthi Dharwar 提交于
      smt-snooze-delay was designed to disable NAP state or delay the entry
      to the NAP state prior to adoption of cpuidle framework. This
      is per-cpu variable. With the coming of CPUIDLE framework,
      states can be disabled on per-cpu basis using the cpuidle/enable
      sysfs entry.
      
      Also, with the coming of cpuidle driver each state's target residency
      is per-driver unlike earlier which was per-device. Therefore,
      the per-cpu sysfs smt-snooze-delay which decides the target residency
      of the idle state on a particular cpu causes more confusion to the user
      as we cannot have different smt-snooze-delay (target residency)
      values for each cpu.
      
      In the current code, smt-snooze-delay functionality is completely broken.
      It makes sense to remove smt-snooze-delay from idle driver with the
      coming of cpuidle framework.
      However, sysfs files are retained as ppc64_util currently
      utilises it. Once we fix ppc64_util, propose to clean
      up the kernel code.
      Signed-off-by: NDeepthi Dharwar <deepthi@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3fa8cad8
    • D
      powerpc/pseries/cpuidle: Move processor_idle.c to drivers/cpuidle. · 962e7bd4
      Deepthi Dharwar 提交于
      Move the file from arch specific pseries/processor_idle.c
      to drivers/cpuidle/cpuidle-pseries.c
      Make the relevant Makefile and Kconfig changes.
      Also, introduce Kconfig.powerpc in drivers/cpuidle
      for all powerpc cpuidle drivers.
      Signed-off-by: NDeepthi Dharwar <deepthi@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      962e7bd4
    • P
      powerpc: Fix 32-bit frames for signals delivered when transactional · d765ff23
      Paul Mackerras 提交于
      Commit d31626f7 ("powerpc: Don't corrupt transactional state when
      using FP/VMX in kernel") introduced a bug where the uc_link and uc_regs
      fields of the ucontext_t that is created to hold the transactional
      values of the registers in a 32-bit signal frame didn't get set
      correctly.  The reason is that we now clear the MSR_TS bits in the MSR
      in save_tm_user_regs(), before the code that sets uc_link and uc_regs.
      To fix this, we move the setting of uc_link and uc_regs into the same
      if statement that selects whether to call save_tm_user_regs() or
      save_user_regs().
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      d765ff23
    • A
      powerpc/iommu: Fix initialisation of DART iommu table · 67bfa0ee
      Alistair Popple 提交于
      Commit d0847757 switched the generic
      powerpc iommu backend code to use the it_page_shift field to determine
      page size. Commit 3a553170 should have
      initiliased this field for all platforms, however the DART iommu table
      code was not updated.
      
      This commit initialises the it_page_shift field to 4K for the DART
      iommu.
      Signed-off-by: NAlistair Popple <alistair@popple.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      67bfa0ee