01 Mar, 2013

28 commits


27 Feb, 2013

1 commit

  • Pull vfs pile (part one) from Al Viro:
    "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
    locking violations, etc.

    The most visible changes here are death of FS_REVAL_DOT (replaced with
    "has ->d_weak_revalidate()") and a new helper getting from struct file
    to inode. Some bits of preparation to xattr method interface changes.

    Misc patches by various people sent this cycle *and* ocfs2 fixes from
    several cycles ago that should've been upstream right then.

    PS: the next vfs pile will be xattr stuff."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
    saner proc_get_inode() calling conventions
    proc: avoid extra pde_put() in proc_fill_super()
    fs: change return values from -EACCES to -EPERM
    fs/exec.c: make bprm_mm_init() static
    ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
    ocfs2: fix possible use-after-free with AIO
    ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
    get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
    target: writev() on single-element vector is pointless
    export kernel_write(), convert open-coded instances
    fs: encode_fh: return FILEID_INVALID if invalid fid_type
    kill f_vfsmnt
    vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
    nfsd: handle vfs_getattr errors in acl protocol
    switch vfs_getattr() to struct path
    default SET_PERSONALITY() in linux/elf.h
    ceph: prepopulate inodes only when request is aborted
    d_hash_and_lookup(): export, switch open-coded instances
    9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
    9p: split dropping the acls from v9fs_set_create_acl()
    ...

    Linus Torvalds
     

25 Feb, 2013

1 commit

  • Pull MFS updates from Samuel Ortiz:
    "This is the MFD pull request for the 3.9 merge window.

    No new drivers this time, but a bunch of fairly big cleanups:

    - Roger Quadros worked on a OMAP USBHS and TLL platform data
    consolidation, OMAP5 support and clock management code cleanup.

    - The first step of a major sync for the ab8500 driver from Lee
    Jones. In particular, the debugfs and the sysct interfaces got
    extended and improved.

    - Peter Ujfalusi sent a nice patchset for cleaning and fixing the
    twl-core driver, with a much needed module id lookup code
    improvement.

    - The regular wm5102 and arizona cleanups and fixes from Mark Brown.

    - Laxman Dewangan extended the palmas APIs in order to implement the
    palmas GPIO and rt drivers.

    - Laxman also added DT support for the tps65090 driver.

    - The Intel SCH and ICH drivers got a couple fixes from Aaron Sierra
    and Darren Hart.

    - Linus Walleij patchset for the ab8500 driver allowed ab8500 and
    ab9540 based devices to switch to the new abx500 pin-ctrl driver.

    - The max8925 now has device tree and irqdomain support thanks to
    Qing Xu.

    - The recently added rtsx driver got a few cleanups and fixes for a
    better card detection code path and now also supports the RTS5227
    chipset, thanks to Wei Wang and Roger Tseng."

    * tag 'mfd-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (109 commits)
    mfd: lpc_ich: Use devres API to allocate private data
    mfd: lpc_ich: Add Device IDs for Intel Wellsburg PCH
    mfd: lpc_sch: Accomodate partial population of the MFD devices
    mfd: da9052-i2c: Staticize da9052_i2c_fix()
    mfd: syscon: Fix sparse warning
    mfd: twl-core: Fix kernel panic on boot
    mfd: rtsx: Fix issue that booting OS with SD card inserted
    mfd: ab8500: Fix compile error
    mfd: Add missing GENERIC_HARDIRQS dependecies
    Documentation: Add docs for max8925 dt
    mfd: max8925: Add dts
    mfd: max8925: Support dt for backlight
    mfd: max8925: Fix onkey driver irq base
    mfd: max8925: Fix mfd device register failure
    mfd: max8925: Add irqdomain for dt
    mfd: vexpress: Allow vexpress-sysreg to self-initialise
    mfd: rtsx: Support RTS5227
    mfd: rtsx: Implement driving adjustment to device-dependent callbacks
    mfd: vexpress: Add pseudo-GPIO based LEDs
    mfd: ab8500: Rename ab8500 to abx500 for hwmon driver
    ...

    Linus Torvalds
     

23 Feb, 2013

1 commit


14 Feb, 2013

1 commit


26 Jan, 2013

1 commit

  • Convert all uses of devm_request_and_ioremap() to the newly introduced
    devm_ioremap_resource() which provides more consistent error handling.

    devm_ioremap_resource() provides its own error messages so all explicit
    error messages can be removed from the failure code paths.

    Signed-off-by: Thierry Reding
    Cc: Wim Van Sebroeck
    Signed-off-by: Greg Kroah-Hartman

    Thierry Reding
     

18 Jan, 2013

1 commit


02 Jan, 2013

4 commits


20 Dec, 2012

2 commits

  • If the DT does not include a regs parameter then the null res
    would be dereferenced.

    Signed-off-by: Jason Gunthorpe
    Signed-off-by: Wim Van Sebroeck

    Jason Gunthorpe
     
  • The current sp5100_tco driver only supports SP5100/SB7x0 chipset, doesn't
    support SB8x0 chipset, because current sp5100_tco driver doesn't know that the
    offset address for watchdog timer was changed from SB8x0 chipset.

    The offset address of SP5100 and SB7x0 chipsets are as follows, quote from the
    AMD SB700/710/750 Register Reference Guide (Page 164) and the AMD SP5100
    Register Reference Guide (Page 166).

    WatchDogTimerControl 69h
    WatchDogTimerBase0 6Ch
    WatchDogTimerBase1 6Dh
    WatchDogTimerBase2 6Eh
    WatchDogTimerBase3 6Fh

    In contrast, the offset address of SB8x0 chipset is as follows, quote from
    AMD SB800-Series Southbridges Register Reference Guide (Page 147).

    WatchDogTimerEn 48h
    WatchDogTimerConfig 4Ch

    So, In the case of SB8x0 chipset, sp5100_tco reads meaningless MMIO
    address (for example, 0xbafe00) from wrong offset address, and the following
    message is logged.

    SP5100 TCO timer: mmio address 0xbafe00 already in use

    With this patch, sp5100_tco driver supports SB8x0 chipset, and can avoid
    iomem resource conflict. The processing of this patch is as follows.

    Step 1) Attempt to get the watchdog base address from indirect I/O (0xCD6
    and 0xCD7).
    - Go to the step 7 if obtained address hasn't conflicted with other
    resource. But, currently, the address (0xfec000f0) conflicts with the
    IOAPIC MMIO address, and the following message is logged.

    SP5100 TCO timer: mmio address 0xfec000f0 already in use

    0xfec000f0 is recommended by AMD BIOS Developer's Guide. So, go to the
    next step.

    Step 2) Attempt to get the SBResource_MMIO base address from AcpiMmioEN (for
    SB8x0, PM_Reg:24h) or SBResource_MMIO (SP5100/SB7x0, PCI_Reg:9Ch)
    register.
    - Go to the step 7 if these register has enabled by BIOS, and obtained
    address hasn't conflicted with other resource.
    - If above condition isn't true, go to the next step.

    Step 3) Attempt to get the free MMIO address from allocate_resource().
    - Go to the step 7 if these register has enabled by BIOS, and obtained
    address hasn't conflicted with other resource.
    - Driver initialization has failed if obtained address has conflicted
    with other resource, and no 'force_addr' parameter is specified.

    Step 4) Use the specified address If 'force_addr' parameter is specified.
    - allocate_resource() function may fail, when the PCI bridge device occupies
    iomem resource from 0xf0000000 to 0xffffffff. To handle such a case,
    I added 'force_addr' parameter to sp5100_tco driver. With 'force_addr'
    parameter, sp5100_tco driver directly can assign MMIO address for watchdog
    timer from free iomem region. Note that It's dangerous to specify wrong
    address in the 'force_addr' parameter.

    Example of force_addr parameter use
    # cat /proc/iomem
    ...snip...
    fec00000-fec003ff : IOAPIC 0

    Tested-by: Paul Menzel
    Signed-off-by: Takahisa Tanaka
    Signed-off-by: Wim Van Sebroeck

    Takahisa Tanaka