24 Nov, 2011

2 commits

  • Power supply for LBC registers is off when system go to deep-sleep state.
    We save the values of registers before suspend and restore to registers
    after resume.

    We removed the last two reservation arrays from struct fsl_lbc_regs for
    allocating less memory and minimizing the memcpy size.

    Signed-off-by: Jiang Yutang
    Signed-off-by: Jia Hongtao
    Signed-off-by: Li Yang
    Signed-off-by: Kumar Gala

    Jia Hongtao
     
  • If Freescale LBC driver fails to initialise itself from device tree, then
    internal structure is freed only but not NULL-fied. As result functions
    fsl_lbc_find() after checking the structure is not NULL are trying to
    access device registers.

    Signed-off-by: Alexandre Rusev
    Signed-off-by: Kumar Gala

    Alexandre Rusev
     

01 Nov, 2011

2 commits

  • All these files were including module.h just for the basic
    EXPORT_SYMBOL infrastructure. We can shift them off to the
    export.h header which is a way smaller footprint and thus
    realize some compile time gains.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • They are getting it through device.h --> module.h path, but we want
    to clean that up. This is a sample of what will happen if we don't:

    pseries/iommu.c: In function 'tce_build_pSeriesLP':
    pseries/iommu.c:136: error: implicit declaration of function 'show_stack'

    pseries/eeh.c: In function 'eeh_token_to_phys':
    pseries/eeh.c:359: error: 'init_mm' undeclared (first use in this function)

    pseries/eeh_event.c: In function 'eeh_event_handler':
    pseries/eeh_event.c:63: error: implicit declaration of function 'daemonize'
    pseries/eeh_event.c:64: error: implicit declaration of function 'set_current_state'
    pseries/eeh_event.c:64: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)
    pseries/eeh_event.c:64: error: (Each undeclared identifier is reported only once
    pseries/eeh_event.c:64: error: for each function it appears in.)
    pseries/eeh_event.c: In function 'eeh_thread_launcher':
    pseries/eeh_event.c:109: error: 'CLONE_KERNEL' undeclared (first use in this function)

    hotplug-cpu.c: In function 'pseries_mach_cpu_die':
    hotplug-cpu.c:115: error: implicit declaration of function 'idle_task_exit'

    kernel/swsusp_64.c: In function 'do_after_copyback':
    kernel/swsusp_64.c:17: error: implicit declaration of function 'touch_softlockup_watchdog'

    cell/spufs/context.c: In function 'alloc_spu_context':
    cell/spufs/context.c:60: error: implicit declaration of function 'get_task_mm'
    cell/spufs/context.c:60: warning: assignment makes pointer from integer without a cast
    cell/spufs/context.c: In function 'spu_forget':
    cell/spufs/context.c:127: error: implicit declaration of function 'mmput'

    pasemi/dma_lib.c: In function 'pasemi_dma_stop_chan':
    pasemi/dma_lib.c:332: error: implicit declaration of function 'cond_resched'

    sysdev/fsl_lbc.c: In function 'fsl_lbc_ctrl_irq':
    sysdev/fsl_lbc.c:247: error: 'TASK_NORMAL' undeclared (first use in this function)

    Add in sched.h so these get the definitions they are looking for.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

03 Jun, 2011

1 commit


20 May, 2011

1 commit


25 Oct, 2010

2 commits

  • When system uses 36bit physical address, res.start is 36bit
    physical address. But the function of in_be32 returns 32bit
    physical address. Then both of them compared each other is
    wrong. So by converting the address of res.start into
    the right format fixes this issue.

    Signed-off-by: Lan Chunhe-B25806
    Signed-off-by: Roy Zang
    Reviewed-by: Anton Vorontsov
    Signed-off-by: David Woodhouse

    Lan Chunhe-B25806
     
  • Move Freescale elbc interrupt from nand driver to elbc driver.
    Then all elbc devices can use the interrupt instead of ONLY nand.

    For former nand driver, it had the two functions:

    1. detecting nand flash partitions;
    2. registering elbc interrupt.

    Now, second function is removed to fsl_lbc.c.

    Signed-off-by: Lan Chunhe-B25806
    Signed-off-by: Roy Zang
    Reviewed-by: Anton Vorontsov
    Cc: Wood Scott-B07421
    Signed-off-by: David Woodhouse

    Roy Zang
     

06 Apr, 2009

1 commit

  • This patch adds support for multi-chip NAND devices to the FSL-UPM
    driver. This requires support for multiple GPIOs for the RNB pins.
    The NAND chips are selected through address lines defined by the
    FDT property "fsl,upm-addr-line-cs-offsets".

    Signed-off-by: Wolfgang Grandegger
    Acked-by: Anton Vorontsov
    Signed-off-by: David Woodhouse

    Wolfgang Grandegger
     

14 Oct, 2008

1 commit

  • The fsl_upm nand driver fails to build because fsl_lbc_lock isn't
    exported, the lock is needed by the inlined fsl_upm_run_pattern()
    function:

    ERROR: "fsl_lbc_lock" [drivers/mtd/nand/fsl_upm.ko] undefined!

    Dave Jones purposed to export the lock, but it is better to just uninline
    the fsl_upm_run_pattern().

    When uninlined we also no longer need the exported fsl_lbc_regs, and
    both fsl_lbc_lock and fsl_lbc_regs could be marked static.

    While at it, also add some missing includes that we should have included
    explicitly.

    Reported-by: Dave Jones
    Signed-off-by: Anton Vorontsov
    Signed-off-by: Kumar Gala

    Anton Vorontsov
     

17 Apr, 2008

1 commit

  • Freescale UPM can be used to adjust localbus timings or to generate
    orbitrary, pre-programmed "patterns" on the external Localbus signals.
    This patch implements few routines so drivers could work with UPMs in
    safe and generic manner.

    So far there is just one user of these routines: Freescale UPM NAND
    driver.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Kumar Gala

    Anton Vorontsov