21 Nov, 2013

1 commit

  • Pull more ACPI and power management updates from Rafael Wysocki:

    - ACPI-based device hotplug fixes for issues introduced recently and a
    fix for an older error code path bug in the ACPI PCI host bridge
    driver

    - Fix for recently broken OMAP cpufreq build from Viresh Kumar

    - Fix for a recent hibernation regression related to s2disk

    - Fix for a locking-related regression in the ACPI EC driver from
    Puneet Kumar

    - System suspend error code path fix related to runtime PM and runtime
    PM documentation update from Ulf Hansson

    - cpufreq's conservative governor fix from Xiaoguang Chen

    - New processor IDs for intel_idle and turbostat and removal of an
    obsolete Kconfig option from Len Brown

    - New device IDs for the ACPI LPSS (Low-Power Subsystem) driver and
    ACPI-based PCI hotplug (ACPIPHP) cleanup from Mika Westerberg

    - Removal of several ACPI video DMI blacklist entries that are not
    necessary any more from Aaron Lu

    - Rework of the ACPI companion representation in struct device and code
    cleanup related to that change from Rafael J Wysocki, Lan Tianyu and
    Jarkko Nikula

    - Fixes for assigning names to ACPI-enumerated I2C and SPI devices from
    Jarkko Nikula

    * tag 'pm+acpi-2-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
    PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration
    ACPI / scan: Set flags.match_driver in acpi_bus_scan_fixed()
    ACPI / PCI root: Clear driver_data before failing enumeration
    ACPI / hotplug: Fix PCI host bridge hot removal
    ACPI / hotplug: Fix acpi_bus_get_device() return value check
    cpufreq: governor: Remove fossil comment in the cpufreq_governor_dbs()
    ACPI / video: clean up DMI table for initial black screen problem
    ACPI / EC: Ensure lock is acquired before accessing ec struct members
    PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()
    ACPI / AC: Remove struct acpi_device pointer from struct acpi_ac
    spi: Use stable dev_name for ACPI enumerated SPI slaves
    i2c: Use stable dev_name for ACPI enumerated I2C slaves
    ACPI: Provide acpi_dev_name accessor for struct acpi_device device name
    ACPI / bind: Use (put|get)_device() on ACPI device objects too
    ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro
    ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node
    cpufreq: OMAP: Fix compilation error 'r & ret undeclared'
    PM / Runtime: Fix error path for prepare
    PM / Runtime: Update documentation around probe|remove|suspend
    cpufreq: conservative: set requested_freq to policy max when it is over policy max
    ...

    Linus Torvalds
     

15 Nov, 2013

5 commits

  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • Use module_pci_driver() macro which makes the code smaller and
    simpler.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • Casting the return value which is a void pointer is redundant.
    The conversion from void pointer to any other pointer type is
    guaranteed by the C programming language.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • Since DEVICE_ACPI_HANDLE() is now literally identical to
    ACPI_HANDLE(), replace it with the latter everywhere and drop its
    definition from include/acpi.h.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     
  • Modify struct acpi_dev_node to contain a pointer to struct acpi_device
    associated with the given device object (that is, its ACPI companion
    device) instead of an ACPI handle corresponding to it. Introduce two
    new macros for manipulating that pointer in a CONFIG_ACPI-safe way,
    ACPI_COMPANION() and ACPI_COMPANION_SET(), and rework the
    ACPI_HANDLE() macro to take the above changes into account.
    Drop the ACPI_HANDLE_SET() macro entirely and rework its users to
    use ACPI_COMPANION_SET() instead. For some of them who used to
    pass the result of acpi_get_child() directly to ACPI_HANDLE_SET()
    introduce a helper routine acpi_preset_companion() doing an
    equivalent thing.

    The main motivation for doing this is that there are things
    represented by struct acpi_device objects that don't have valid
    ACPI handles (so called fixed ACPI hardware features, such as
    power and sleep buttons) and we would like to create platform
    device objects for them and "glue" them to their ACPI companions
    in the usual way (which currently is impossible due to the
    lack of valid ACPI handles). However, there are more reasons
    why it may be useful.

    First, struct acpi_device pointers allow of much better type checking
    than void pointers which are ACPI handles, so it should be more
    difficult to write buggy code using modified struct acpi_dev_node
    and the new macros. Second, the change should help to reduce (over
    time) the number of places in which the result of ACPI_HANDLE() is
    passed to acpi_bus_get_device() in order to obtain a pointer to the
    struct acpi_device associated with the given "physical" device,
    because now that pointer is returned by ACPI_COMPANION() directly.
    Finally, the change should make it easier to write generic code that
    will build both for CONFIG_ACPI set and unset without adding explicit
    compiler directives to it.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Greg Kroah-Hartman
    Tested-by: Mika Westerberg # on Haswell
    Reviewed-by: Mika Westerberg
    Reviewed-by: Aaron Lu # for ATA and SDIO part

    Rafael J. Wysocki
     

12 Nov, 2013

1 commit

  • Pull h8300 platform removal from Guenter Roeck:
    "The patch series has been in -next for more than one relase cycle. I
    did get a number of Acks, and no objections.

    H8/300 has been dead for several years, the kernel for it has not
    compiled for ages, and recent versions of gcc for it are broken.
    Remove support for it"

    * tag 'h8300-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    CREDITS: Add Yoshinori Sato for h8300
    fs/minix: Drop dependency on H8300
    Drop remaining references to H8/300 architecture
    Drop MAINTAINERS entry for H8/300
    watchdog: Drop references to H8300 architecture
    net/ethernet: Drop H8/300 Ethernet driver
    net/ethernet: smsc9194: Drop conditional code for H8/300
    ide: Drop H8/300 driver
    Drop support for Renesas H8/300 (h8300) architecture

    Linus Torvalds
     

11 Nov, 2013

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This branch contains code cleanups, moves and removals for 3.13.

    Qualcomm msm targets had a bunch of code removal for legacy non-DT
    platforms. Nomadik saw more device tree conversions and cleanup of
    old code. Tegra has some code refactoring, etc.

    One longish patch series from Sebastian Hasselbarth changes the
    init_time hooks and tries to use a generic implementation for most
    platforms, since they were all doing more or less the same things.

    Finally the "shark" platform is removed in this release. It's been
    abandoned for a while and nobody seems to care enough to keep it
    around. If someone comes along and wants to resurrect it, the removal
    can easily be reverted and code brought back.

    Beyond this, mostly a bunch of removals of stale content across the
    board, etc"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (79 commits)
    ARM: gemini: convert to GENERIC_CLOCKEVENTS
    ARM: EXYNOS: remove CONFIG_MACH_EXYNOS[4, 5]_DT config options
    ARM: OMAP3: control: add API for setting IVA bootmode
    ARM: OMAP3: CM/control: move CM scratchpad save to CM driver
    ARM: OMAP3: McBSP: do not access CM register directly
    ARM: OMAP3: clock: add API to enable/disable autoidle for a single clock
    ARM: OMAP2: CM/PM: remove direct register accesses outside CM code
    MAINTAINERS: Add patterns for DTS files for AT91
    ARM: at91: remove init_machine() as default is suitable
    ARM: at91/dt: split sama5d3 peripheral definitions
    ARM: at91/dt: split sam9x5 peripheral definitions
    ARM: Remove temporary sched_clock.h header
    ARM: clps711x: Use linux/sched_clock.h
    MAINTAINERS: Add DTS files to patterns for Samsung platform
    ARM: EXYNOS: remove unnecessary header inclusions from exynos4/5 dt machine file
    ARM: tegra: fix ARCH_TEGRA_114_SOC select sort order
    clk: nomadik: fix missing __init on nomadik_src_init
    ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP
    ARM: S3C64XX: Kill CONFIG_PLAT_S3C64XX
    ASoC: samsung: Use CONFIG_ARCH_S3C64XX to check for S3C64XX support
    ...

    Linus Torvalds
     

17 Oct, 2013

1 commit


25 Sep, 2013

1 commit


17 Sep, 2013

1 commit


06 Sep, 2013

5 commits


30 Jul, 2013

1 commit


11 Jul, 2013

3 commits

  • Pull IDE updates from David Miller:
    "Just a few small things:

    1) module_platform_driver_probe() conversions from Jingoo Han.

    2) module_pci_driver() conversion from Libo Chen.

    3) PIO size calculation fix from Steven J Hill"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
    ide: Fix IDE PIO size calculation
    drivers/ide/delkin_cb: Convert to module_pci_driver
    ide: gayle: use module_platform_driver_probe()
    ide: tx4939ide: use module_platform_driver_probe()
    ide: tx4938ide: use module_platform_driver_probe()

    Linus Torvalds
     
  • IDE PIO calculates the size wrong when passing the parameter
    "ide-core.nodma=0.0" to the kernel.

    Signed-off-by: Leonid Yegoshin
    Acked-by: Steven J. Hill

    Signed-off-by: Steven J. Hill
    Signed-off-by: David S. Miller

    Steven J. Hill
     
  • use module_pci_driver instead of init/exit, make code clean.

    Signed-off-by: Libo Chen
    Signed-off-by: David S. Miller

    Libo Chen
     

04 Jul, 2013

1 commit

  • Calling dev_set_name with a single paramter causes it to be handled as a
    format string. Many callers are passing potentially dynamic string
    content, so use "%s" in those cases to avoid any potential accidents,
    including wrappers like device_create*() and bdi_register().

    Signed-off-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     

07 May, 2013

1 commit


10 Apr, 2013

1 commit

  • The only part of proc_dir_entry the code outside of fs/proc
    really cares about is PDE(inode)->data. Provide a helper
    for that; static inline for now, eventually will be moved
    to fs/proc, along with the knowledge of struct proc_dir_entry
    layout.

    Signed-off-by: Al Viro

    Al Viro
     

09 Mar, 2013

3 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
     

23 Feb, 2013

1 commit


22 Feb, 2013

1 commit

  • Pull trivial tree from Jiri Kosina:
    "Assorted tiny fixes queued in trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (22 commits)
    DocBook: update EXPORT_SYMBOL entry to point at export.h
    Documentation: update top level 00-INDEX file with new additions
    ARM: at91/ide: remove unsused at91-ide Kconfig entry
    percpu_counter.h: comment code for better readability
    x86, efi: fix comment typo in head_32.S
    IB: cxgb3: delay freeing mem untill entirely done with it
    net: mvneta: remove unneeded version.h include
    time: x86: report_lost_ticks doesn't exist any more
    pcmcia: avoid static analysis complaint about use-after-free
    fs/jfs: Fix typo in comment : 'how may' -> 'how many'
    of: add missing documentation for of_platform_populate()
    btrfs: remove unnecessary cur_trans set before goto loop in join_transaction
    sound: soc: Fix typo in sound/codecs
    treewide: Fix typo in various drivers
    btrfs: fix comment typos
    Update ibmvscsi module name in Kconfig.
    powerpc: fix typo (utilties -> utilities)
    of: fix spelling mistake in comment
    h8300: Fix home page URL in h8300/README
    xtensa: Fix home page URL in Kconfig
    ...

    Linus Torvalds
     

05 Feb, 2013

1 commit


12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: "David S. Miller"
    Signed-off-by: Kees Cook
    Acked-by: David S. Miller

    Kees Cook
     

04 Jan, 2013

1 commit

  • 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
    Cc: "David S. Miller"
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

06 Oct, 2012

1 commit


22 Aug, 2012

1 commit

  • This patch fixes a regresion introduced by commit 0998d063 (device-core: Ensure
    drvdata = NULL when no driver is bound).

    Suspend oopses in generic_ide_suspend() because dev_get_drvdata()
    returns NULL (dev->p->driver_data == NULL) and this function is not
    prepared for this.

    Fix is based on Alan Stern's suggestion.

    Signed-off-by: Miklos Szeredi
    Acked-by: Rafael J. Wysocki
    Signed-off-by: David S. Miller

    Miklos Szeredi
     

13 Jun, 2012

1 commit

  • IO_DATA_PATH_WIDTH_8 is 0, so a bit-and with it is always false. The
    value IO_DATA_PATH_WIDTH covers the bits of the IO_DATA_PATH constants, so
    first pick those bits and then make the test using !=.

    This problem was found using Coccinelle (http://coccinelle.lip6.fr/).

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     

07 Jun, 2012

2 commits


29 Mar, 2012

1 commit


20 Mar, 2012

1 commit


14 Feb, 2012

1 commit