12 Jan, 2012

3 commits

  • Paul Mundt
     
  • Signed-off-by: Yoshihiro Shimoda
    Signed-off-by: Paul Mundt

    Shimoda, Yoshihiro
     
  • This patch contains r8a7779 SMP support V3 - now including
    CPU hotplug offine and online support. The r8a7779 power
    domain code is tied together with SMP glue code which allows
    us to control the power domains via CPU hotplug.

    At this point the kernel boots with the 4 Cortex-A9 cores in
    SMP mode and all CPU cores except CPU0 can be hotplugged.

    The code in platsmp.c is quite far from pretty, but it is
    kept like that intentionally to avoid creating layers of
    code that will go away in the near future anyway. The code
    needs to be updated when some per-SoC handling code will be
    added to the ARM architecture, see the following patch for
    more information:
    "[RFC PATCH 0/3] Per SoC descriptor"

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

10 Jan, 2012

8 commits


09 Jan, 2012

29 commits

  • Add cache flushing code to the SH-Mobile specific CPU hotplug
    implementation. While at it, add a cpu mask to make sure the
    cache flushing code is finished in platform_cpu_die() before
    letting the SoC-specific code in shmobile_platform_cpu_kill()
    proceed with turning off power.

    Without this code CPU hotplug offline fails when cache is
    enabled on Cortex-A9 based SoCs.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add the function shmobile_platform_kill_cpu() to allow
    SoC specific code to tie in their CPU shutdown code.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Convert the low level SMP assembly code for SH-Mobile ARM
    from using the INIT to the CPUINIT section. This unbreaks
    onlining of CPUs using the CPU hotplug interface:

    echo 1 > /sys/devices/system/cpu/cpu1/online

    Without this fix the reset vector code used by CPU hotplug
    will be freed as init section data and CPU cores cannot
    be brought online.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Signed-off-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Kuninori Morimoto
     
  • Signed-off-by: Kuninori Morimoto
    Signed-off-by: Paul Mundt

    Kuninori Morimoto
     
  • Add LAN89218 support to the r8a7779 Marzen board.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add SCIF2 and SCIF4 pin configuration code to
    the r8a7779 Marzen board.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add GPIO-only r8a7779 PFC support V2.

    Only regular GPIOs are supported at this time. GPIO_FN are not
    supported because they require variable bit width support in be
    the shared pfc code.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Initial support for the r8a7779 SoC and the Marzen board (V2).

    Only SCIF ports and the TMU are supported at this point.

    To keep things simple only entity-mapped virt-to-phys mappings
    are supported. This forces drivers and other SoC glue code to
    make use of ioremap(). We cannot support early serial console
    due to virtual address space collisions with the ARM kernel.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Conflicts:
    arch/arm/mach-shmobile/clock-sh73a0.c

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • …linux into rmobile-latest

    Conflicts:
    arch/arm/mach-shmobile/Makefile

    Signed-off-by: Paul Mundt <lethal@linux-sh.org>

    Paul Mundt
     
  • Add PFC support for a 32-bit unlock register. Needed to
    drive the r8a7779 PFC that comes with a funky PMMR register.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add support for variable config reg hardware by adding
    the macro PINMUX_CFG_REG_VAR(). The width of each bitfield
    needs to be passed to the macro, and the correct space must
    be consumed by each bitfield in the enum table following the
    macro. Data registers still need to have fixed bitfields.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add a helper function for shared config reg access
    calculations. This allows us to reduce the amount
    of duplicated code, and at the same time prepare
    for a common place for future variable bitwidth
    config reg support.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Update the way the PFC code is passing bitfield
    selection between configure register functions.

    Convert the code from using index only to bitfield
    number and selected value. First step towards future
    variable bitfield width support.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Introduce gpio_read_bit() for data register read access
    and modify sh_gpio_get_value() to make use of the new
    function instead of gpio_read_reg(). The purpose of
    this change is to update the code to only use the
    gpio_read_reg() function for config register access.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • A call to va_copy() should always be followed by a call to va_end() in
    the same function. In kernel/autit.c::audit_log_vformat() this is not
    always done. This patch makes sure va_end() is always called.

    Signed-off-by: Jesper Juhl
    Cc: Al Viro
    Cc: Eric Paris
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • We leak in drivers/scsi/aacraid/commctrl.c::aac_send_raw_srb() :

    We allocate memory:

    ...
    struct user_sgmap* usg;
    usg = kmalloc(actual_fibsize - sizeof(struct aac_srb)
    + sizeof(struct sgmap), GFP_KERNEL);

    and then neglect to free it:

    ...
    for (i = 0; i < usg->count; i++) {
    u64 addr;
    void* p;
    if (usg->sg[i].count >
    ((dev->adapter_info.options &
    AAC_OPT_NEW_COMM) ?
    (dev->scsi_host_ptr->max_sectors << 9) :
    65536)) {
    rcode = -EINVAL;
    goto cleanup;
    ... this 'goto' makes 'usg' go out of scope and leak the memory we
    allocated.

    Other exits properly kfree(usg), it's just here it is neglected.

    Signed-off-by: Jesper Juhl
    Cc: James Bottomley
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • infiniband changes for 3.3 merge window

    * tag 'infiniband-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    rdma/core: Fix sparse warnings
    RDMA/cma: Fix endianness bugs
    RDMA/nes: Fix terminate during AE
    RDMA/nes: Make unnecessarily global nes_set_pau() static
    RDMA/nes: Change MDIO bus clock to 2.5MHz
    IB/cm: Fix layout of APR message
    IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE
    IB/qib: Default some module parameters optimally
    IB/qib: Optimize locking for get_txreq()
    IB/qib: Fix a possible data corruption when receiving packets
    IB/qib: Eliminate 64-bit jiffies use
    IB/qib: Fix style issues
    IB/uverbs: Protect QP multicast list

    Linus Torvalds
     
  • * 'dma-buf-merge' of git://people.freedesktop.org/~airlied/linux:
    dma-buf: mark EXPERIMENTAL for 1st release.
    dma-buf: Documentation for buffer sharing framework
    dma-buf: Introduce dma buffer sharing mechanism

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    max1111.c: fix checkpatch warning
    hwmon: (lm75) fix checkpatch warnings
    hwmon: (lm80) fix checkpatch messages
    hwmon: replaced strict_str* with kstr*
    hwmon: (lm75) fix checkpatch warning
    hwmon: (lm75) added error handling
    hwmon: (ltc4261) set data->valid to 0 if error
    hwmon: (f75375s) Add support for F75387SG/RG
    hwmon: (f75375s) Disable setting DC fan control mode for F75373
    hwmon: (f75375s) Initialize pwmX_mode and pwmX_enable if there is no platform data
    hwmon: (f75375s) Fix value range for PWM modes
    hwmon: (f75375s) Use standard sysfs attribute names
    hwmon: (f75375s) Fix checkpatch errors and warnings
    hwmon: (pmbus/zl6100) Only instantiate external temperature sensor if enabled
    hwmon: (pmbus/zl6100) Add support for Ericsson BMR45[0,1] and BMR46[2,3,4]
    hwmon: (pmbus/zl6100) Add support for ZL2005
    hwmon: (pmbus/adm1275) Validate device ID

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (36 commits)
    mfd: Clearing events requires event registers to be writable for da9052-core
    mfd: Fix annotations in da9052-core
    gpiolib: Mark da9052 driver broken
    mfd: Declare da9052_regmap_config for the bus drivers
    MFD: DA9052/53 MFD core module add SPI support v2
    MFD: DA9052/53 MFD core module
    regmap: Add irq_base accessor to regmap_irq
    regmap: Allow drivers to reinitialise the register cache at runtime
    regmap: Add trace event for successful cache reads
    regmap: Allow regmap_update_bits() users to detect changes
    regmap: Report if we actually handled an interrupt in regmap-irq
    regmap: Fix rbtreee build when not using debugfs
    regmap: Provide debugfs dump of the rbtree cache data
    regmap: Do debugfs init before cache init
    regmap: Suppress noop writes in regmap_update_bits()
    regmap: Remove indexed cache type
    regmap: Drop check whether a register is readable in regcache_read
    regmap: Properly round cache_word_size
    regmap: Add support for 10/14 register formating
    regmap: Try cached read before checking if a hardware read is possible
    ...

    Linus Torvalds
     
  • md update for 3.3

    Big change is new hot-replacement.
    A slot in an array can hold 2 devices - one that
    wants-replacement and one that is the replacement.
    Once the replacement is built - either from the
    original or (in the case of errors) from elsewhere,
    the wants-replacement device will be removed.

    * tag 'md-3.3' of git://neil.brown.name/md: (36 commits)
    md/raid1: Mark device want_replacement when we see a write error.
    md/raid1: If there is a spare and a want_replacement device, start replacement.
    md/raid1: recognise replacements when assembling arrays.
    md/raid1: handle activation of replacement device when recovery completes.
    md/raid1: Allow a failed replacement device to be removed.
    md/raid1: Allocate spare to store replacement devices and their bios.
    md/raid1: Replace use of mddev->raid_disks with conf->raid_disks.
    md/raid10: If there is a spare and a want_replacement device, start replacement.
    md/raid10: recognise replacements when assembling array.
    md/raid10: Allow replacement device to be replace old drive.
    md/raid10: handle recovery of replacement devices.
    md/raid10: Handle replacement devices during resync.
    md/raid10: writes should get directed to replacement as well as original.
    md/raid10: allow removal of failed replacement devices.
    md/raid10: preferentially read from replacement device if possible.
    md/raid10: change read_balance to return an rdev
    md/raid10: prepare data structures for handling replacement.
    md/raid5: Mark device want_replacement when we see a write error.
    md/raid5: If there is a spare and a want_replacement device, start replacement.
    md/raid5: recognise replacements when assembling array.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
    x86: Kconfig: drop unknown symbol 'APM_MODULE'

    Linus Torvalds
     
  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
    GFS2: local functions should be static
    GFS2: We only need one ACL getting function
    GFS2: Fix multi-block allocation
    GFS2: decouple quota allocations from block allocations
    GFS2: split function rgblk_search
    GFS2: Fix up "off by one" in the previous patch
    GFS2: move toward a generic multi-block allocator
    GFS2: O_(D)SYNC support for fallocate
    GFS2: remove vestigial al_alloced
    GFS2: combine gfs2_alloc_block and gfs2_alloc_di
    GFS2: Add non-try locks back to get_local_rgrp
    GFS2: f_ra is always valid in dir readahead function
    GFS2: Fix very unlikley memory leak in ACL xattr code
    GFS2: More automated code analysis fixes
    GFS2: Add readahead to sequential directory traversal
    GFS2: Fix up REQ flags

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs: (22 commits)
    xfs: mark the xfssyncd workqueue as non-reentrant
    xfs: simplify xfs_qm_detach_gdquots
    xfs: fix acl count validation in xfs_acl_from_disk()
    xfs: remove unused XBT_FORCE_SLEEP bit
    xfs: remove XFS_QMOPT_DQSUSER
    xfs: kill xfs_qm_idtodq
    xfs: merge xfs_qm_dqinit_core into the only caller
    xfs: add a xfs_dqhold helper
    xfs: simplify xfs_qm_dqattach_grouphint
    xfs: nest qm_dqfrlist_lock inside the dquot qlock
    xfs: flatten the dquot lock ordering
    xfs: implement lazy removal for the dquot freelist
    xfs: remove XFS_DQ_INACTIVE
    xfs: cleanup xfs_qm_dqlookup
    xfs: cleanup dquot locking helpers
    xfs: remove the sync_mode argument to xfs_qm_dqflush_all
    xfs: remove xfs_qm_sync
    xfs: make sure to really flush all dquots in xfs_qm_quotacheck
    xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush
    xfs: remove the lid_size field in struct log_item_desc
    ...

    Fix up trivial conflict in fs/xfs/xfs_sync.c

    Linus Torvalds
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds