1. 10 5月, 2014 1 次提交
    • S
      powerpc/fsl-rio: Fix fsl_rio_setup error paths and use-after-unmap · a614db9a
      Scott Wood 提交于
      Several of the error paths from fsl_rio_setup are missing error
      messages.
      
      Worse, fsl_rio_setup initializes several global pointers and does not
      NULL them out after freeing/unmapping on error.  This caused
      fsl_rio_mcheck_exception() to crash when accessing rio_regs_win which
      was non-NULL but had been unmapped.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Cc: Liu Gang <Gang.Liu@freescale.com>
      ---
      Liu Gang, are you sure all of these error conditions are fatal?  Why
      does the rio driver fail if rmu is not present (e.g.  on t4240)?
      a614db9a
  2. 08 4月, 2014 1 次提交
    • A
      rapidio: rework device hierarchy and introduce mport class of devices · 2aaf308b
      Alexandre Bounine 提交于
      This patch removes an artificial RapidIO bus root device and establishes
      actual device hierarchy by providing reference to real parent devices.
      It also introduces device class for RapidIO controller devices (on-chip
      or an eternal bridge, known as "mport").
      
      Existing implementation was sufficient for SoC-based platforms that have
      a single RapidIO controller.  With introduction of devices using
      multiple RapidIO controllers and PCIe-to-RapidIO bridges the old scheme
      is very limiting or does not work at all.  The implemented changes allow
      to properly reference platform's local RapidIO mport devices and provide
      device details needed for upper layers.
      
      This change to RapidIO device hierarchy does not break any known
      existing kernel or user space interfaces.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com>
      Cc: Stef van Os <stef.van.os@prodrive-technologies.com>
      Cc: Jerry Jacobs <jerry.jacobs@prodrive-technologies.com>
      Cc: Arno Tiemersma <arno.tiemersma@prodrive-technologies.com>
      Cc: Rob Landley <rob@landley.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2aaf308b
  3. 10 10月, 2013 1 次提交
    • R
      powerpc: add explicit OF includes · 26a2056e
      Rob Herring 提交于
      When removing prom.h include by of.h, several OF headers will no longer
      be implicitly included. Add explicit includes of of_*.h as needed.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Acked-by: NGrant Likely <grant.likely@linaro.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: linuxppc-dev@lists.ozlabs.org
      26a2056e
  4. 04 1月, 2013 1 次提交
    • G
      POWERPC: drivers: remove __dev* attributes. · cad5cef6
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cad5cef6
  5. 16 3月, 2012 1 次提交
    • L
      powerpc/srio: Fix the relocation errors when building with 64bit · b6c46dcf
      Liu Gang 提交于
      For the file "arch/powerpc/sysdev/fsl_rio.c", there will be some relocation
      errors while using the corenet64_smp_defconfig:
      
      WARNING: modpost: Found 6 section mismatch(es).
      To see full details build your kernel with:
      'make CONFIG_DEBUG_SECTION_MISMATCH=y'
        GEN     .version
        CHK     include/generated/compile.h
        UPD     include/generated/compile.h
        CC      init/version.o
        LD      init/built-in.o
        LD      .tmp_vmlinux1
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x0):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3208
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x2):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x4):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3230
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x6):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+c
      arch/powerpc/sysdev/built-in.o:(__ex_table+0x8):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3250
      arch/powerpc/sysdev/built-in.o:(__ex_table+0xa):
      	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+18
      
      Rewrote the corresponding code with the support of 64bit building.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      b6c46dcf
  6. 24 11月, 2011 2 次提交
  7. 15 11月, 2011 1 次提交
    • L
      fsl-rio: fix compile error · e0ce42e1
      Liu Gang 提交于
      The "#include <linux/module.h>" was replaced by "#include <linux/export.h>"
      in the patch "powerpc: various straight conversions from module.h --> export.h".
      This will cause the following compile problem:
      arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_mcheck_exception':
      arch/powerpc/sysdev/fsl_rio.c:296: error: implicit declaration of function 'search_exception_tables'.
      
      The file fsl_rio.c needs the declaration of function "search_exception_tables"
      in the header file "linux/module.h".
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      e0ce42e1
  8. 03 11月, 2011 1 次提交
    • L
      arch/powerpc/sysdev/fsl_rio.c: release rapidio port I/O region resource if... · e80dd9a7
      Liu Gang 提交于
      arch/powerpc/sysdev/fsl_rio.c: release rapidio port I/O region resource if port failed to initialize
      
      The "struct rio_mport" contains a member of master port I/O memory
      resource structure "struct resource iores".  This resource will be read
      from device tree and be used for rapidio R/W transaction memory space.
      Rapidio requests the port I/O memory resource under the root resource
      "iomem_resource".
      
      			struct rio_mport *port;
      			port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL);
      
      			request_resource(&iomem_resource, &port->iores);
      
      When port failed to initialize, allocated "rio_mport" structure memory
      will be freed, and the port I/O memory resource structure pointer
      "&port->iores" will be invalid.  If other requests resource under
      "iomem_resource", "&port->iores" node may be operated in the child
      resources list and this will cause the system to crash.
      
      So the requested port I/O memory resource should be released before
      freeing allocated "rio_mport" structure.
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Acked-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e80dd9a7
  9. 01 11月, 2011 1 次提交
  10. 26 8月, 2011 1 次提交
  11. 22 6月, 2011 1 次提交
    • S
      powerpc/e500: fix breakage with fsl_rio_mcheck_exception · 82a9a480
      Scott Wood 提交于
      The wrong MCSR bit was being used on e500mc.  MCSR_BUS_RBERR only exists
      on e500v1/v2.  Use MCSR_LD on e500mc, and remove all MCSR checking
      in fsl_rio_mcheck_exception as we now no longer call that function
      if the appropriate bit in MCSR is not set.
      
      If RIO support was enabled at compile-time, but was never probed, just
      return from fsl_rio_mcheck_exception rather than dereference a NULL
      pointer.
      
      TODO: There is still a remaining, though comparitively minor, issue in
      that this recovery mechanism will falsely engage if there's an unrelated
      MCSR_LD event at the same time as a RIO error.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      82a9a480
  12. 10 6月, 2011 1 次提交
  13. 20 5月, 2011 2 次提交
  14. 15 4月, 2011 1 次提交
  15. 24 3月, 2011 4 次提交
  16. 28 2月, 2011 1 次提交
  17. 14 1月, 2011 1 次提交
    • T
      rapidio: fix hang on RapidIO doorbell queue full condition · 12a4dc43
      Thomas Taranowski 提交于
      In fsl_rio_dbell_handler() the code currently simply acknowledges the QFI
      queue full interrupt, but does nothing to resolve the queue full
      condition.  Instead, it jumps to the end of the isr.  When a queue full
      condition occurs, the isr is then re-entered immediately and continually,
      forever.
      
      The fix is to just fall through and read out current doorbell entries.
      Signed-off-by: NThomas Taranowski <tom@baringforge.com>
      Cc: Alexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      12a4dc43
  18. 13 1月, 2011 1 次提交
  19. 28 10月, 2010 2 次提交
  20. 14 10月, 2010 1 次提交
  21. 01 9月, 2010 1 次提交
  22. 06 8月, 2010 1 次提交
  23. 24 7月, 2010 1 次提交
  24. 02 6月, 2010 1 次提交
  25. 28 5月, 2010 4 次提交
  26. 22 5月, 2010 1 次提交
    • G
      of: Remove duplicate fields from of_platform_driver · 4018294b
      Grant Likely 提交于
      .name, .match_table and .owner are duplicated in both of_platform_driver
      and device_driver.  This patch is a removes the extra copies from struct
      of_platform_driver and converts all users to the device_driver members.
      
      This patch is a pretty mechanical change.  The usage model doesn't change
      and if any drivers have been missed, or if anything has been fixed up
      incorrectly, then it will fail with a compile time error, and the fixup
      will be trivial.  This patch looks big and scary because it touches so
      many files, but it should be pretty safe.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NSean MacLennan <smaclennan@pikatech.com>
      4018294b
  27. 19 5月, 2010 1 次提交
  28. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  29. 20 8月, 2009 1 次提交
  30. 08 7月, 2009 1 次提交
  31. 19 5月, 2009 1 次提交