15 Jan, 2012

1 commit

  • 2nd round of GPIO changes for v3.3 merge window

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    GPIO: sa1100: implement proper gpiolib gpio_to_irq conversion
    gpio: pl061: remove combined interrupt
    gpio: pl061: convert to use generic irq chip
    GPIO: add bindings for managed devices
    ARM: realview: convert pl061 no irq to 0 instead of -1
    gpio: pl061: convert to use 0 for no irq
    gpio: pl061: use chained_irq_* functions in irq handler
    GPIO/pl061: Add suspend resume capability
    drivers/gpio/gpio-tegra.c: use devm_request_and_ioremap

    Linus Torvalds
     

14 Jan, 2012

2 commits

  • The existing gpio_to_irq() implementation on sa1100 only translates
    validly for internal GPIOs. Since this sub-arch enables GPIOLIB
    support, this results in buggy translations for non-internal GPIOs.

    Get rid of the private gpio_to_irq() implementation, replacing it
    with the .to_irq method in the sa1100 gpio chip instead.

    Signed-off-by: Russell King
    Acked-by: Linus Walleij
    Signed-off-by: Grant Likely

    Russell King
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (59 commits)
    rtc: max8925: Add function to work as wakeup source
    mfd: Add pm ops to max8925
    mfd: Convert aat2870 to dev_pm_ops
    mfd: Still check other interrupts if we get a wm831x touchscreen IRQ
    mfd: Introduce missing kfree in 88pm860x probe routine
    mfd: Add S5M series configuration
    mfd: Add s5m series irq driver
    mfd: Add S5M core driver
    mfd: Improve mc13xxx dt binding document
    mfd: Fix stmpe section mismatch
    mfd: Fix stmpe build warning
    mfd: Fix STMPE I2c build failure
    mfd: Constify aat2870-core i2c_device_id table
    gpio: Add support for stmpe variant 801
    mfd: Add support for stmpe variant 801
    mfd: Add support for stmpe variant 610
    mfd: Add support for STMPE SPI interface
    mfd: Separate out STMPE controller and interface specific code
    misc: Remove max8997-muic sysfs attributes
    mfd: Remove unused wm831x_irq_data_to_mask_reg()
    ...

    Fix up trivial conflict in drivers/leds/Kconfig due to addition of
    LEDS_MAX8997 and LEDS_TCA6507 next to each other.

    Linus Torvalds
     

11 Jan, 2012

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (31 commits)
    pinctrl: remove unnecessary max pin number
    pinctrl: correct a offset while enumerating pins
    pinctrl: some typo fixes
    pinctrl: rename U300 and SIRF pin controllers
    pinctrl: pass name instead of device to pin_config_*
    pinctrl: add "struct seq_file;" to pinconf.h
    pinctrl: conjure names for unnamed pins
    pinctrl: add a group-specific hog macro
    pinctrl: don't create a device for each pin controller
    arm/u300: don't use PINMUX_MAP_PRIMARY*
    pinctrl: implement PINMUX_MAP_SYS_HOG
    pinctrl: add a pin config interface
    pinctrl/coh901: driver to request its pins
    pinctrl: u300-pinmux: register proper GPIO ranges
    pinctrl: move the U300 GPIO driver to pinctrl
    ARM: u300: localize GPIO assignments
    pinctrl: make it possible to add multiple maps
    pinctrl: make a copy of pinmux map
    pinctrl: GPIO direction support for muxing
    pinctrl: print pin range in GPIO range debugs
    ...

    Linus Torvalds
     

10 Jan, 2012

2 commits

  • Driver specific changes

    Again, a lot of platforms have changes in here: pxa, samsung, omap,
    at91, imx, ...

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    ARM: sa1100: clean up of the clock support
    ARM: pxa: add dummy clock for sa1100-rtc
    RTC: sa1100: support sa1100, pxa and mmp soc families
    RTC: sa1100: remove redundant code of setting alarm
    RTC: sa1100: Clean out ost register
    Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
    pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
    ARM: EXYNOS: Modified files for SPI consolidation work
    ARM: S5P64X0: Enable SDHCI support
    ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
    ARM: S5P64X0: Add HSMMC setup for host Controller
    ARM: EXYNOS: Add USB OHCI support to ORIGEN board
    USB: Add Samsung Exynos OHCI diver
    ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
    ARM: EXYNOS: Add USB OHCI device
    net: macb: fix build break with !CONFIG_OF
    i2c: tegra: Support DVC controller in device tree
    i2c: tegra: Add __devinit/exit to probe/remove
    net/at91_ether: use gpio_is_valid for phy IRQ line
    ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
    ...

    Linus Torvalds
     
  • Device tree conversions for samsung and tegra

    Both platforms had some initial device tree support, but this adds
    much more to actually make it usable.

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
    ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
    ARM: EXYNOS: Add Exynos4 device tree enabled board file
    rtc: rtc-s3c: Add device tree support
    input: samsung-keypad: Add device tree support
    ARM: S5PV210: Modify platform data for pl330 driver
    ARM: S5PC100: Modify platform data for pl330 driver
    ARM: S5P64x0: Modify platform data for pl330 driver
    ARM: EXYNOS: Add a alias for pdma clocks
    ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
    ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
    DMA: PL330: Add device tree support
    ARM: EXYNOS: Modify platform data for pl330 driver
    DMA: PL330: Infer transfer direction from transfer request instead of platform data
    DMA: PL330: move filter function into driver
    serial: samsung: Fix build for non-Exynos4210 devices
    serial: samsung: add device tree support
    serial: samsung: merge probe() function from all SoC specific extensions
    serial: samsung: merge all SoC specific port reset functions
    ARM: SAMSUNG: register uart clocks to clock lookup list
    serial: samsung: remove all uses of get_clksrc and set_clksrc
    ...

    Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
    drivers/tty/serial/Kconfig both due to just adding code close to
    changes.

    Linus Torvalds
     

09 Jan, 2012

3 commits

  • STMPE801 is a GPIO expander. GPIO registers for 801 are slightly different from other
    variants. This patch adds support for STMPE801 in stmpe gpio driver.

    Signed-off-by: Bhupesh Sharma
    Signed-off-by: Pratyush Anand
    Signed-off-by: Viresh Kumar
    Signed-off-by: Samuel Ortiz

    Viresh Kumar
     
  • * '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
     
  • * '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
     

08 Jan, 2012

2 commits

  • Changes queued in gpio/next for the start of the 3.3 merge window

    * tag 'gpio-for-linus-20120104' of git://git.secretlab.ca/git/linux-2.6:
    gpio: Add decode of WM8994 GPIO configuration
    gpio: Convert GPIO drivers to module_platform_driver
    gpio: Fix typo in comment in Samsung driver
    gpio: Explicitly index samsung_gpio_cfgs
    gpio: Add Linus Walleij as gpio co-maintainer
    of: Add device tree selftests
    of: create of_phandle_args to simplify return of phandle parsing data
    gpio/powerpc: Eliminate duplication of of_get_named_gpio_flags()
    gpio/microblaze: Eliminate duplication of of_get_named_gpio_flags()
    gpiolib: output basic details and consolidate gpio device drivers
    pch_gpio: Change company name OKI SEMICONDUCTOR to LAPIS Semiconductor
    pch_gpio: Support new device LAPIS Semiconductor ML7831 IOH
    spi/pl022: make the chip deselect handling thread safe
    spi/pl022: add support for pm_runtime autosuspend
    spi/pl022: disable the PL022 block when unused
    spi/pl022: move device disable to workqueue thread
    spi/pl022: skip default configuration before suspending
    spi/pl022: fix build warnings
    spi/pl022: only enable RX interrupts when TX is complete

    Linus Torvalds
     
  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

07 Jan, 2012

2 commits

  • …git-cur/linux-2.6-arm

    * 'amba-modalias' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    sound: aaci: Enable module alias autogeneration for AMBA drivers
    watchdog: sp805: Enable module alias autogeneration for AMBA drivers
    fbdev: amba: Enable module alias autogeneration for AMBA drivers
    serial: pl011: Enable module alias autogeneration for AMBA drivers
    serial: pl010: Enable module alias autogeneration for AMBA drivers
    spi: pl022: Enable module alias autogeneration for AMBA drivers
    rtc: pl031: Enable module alias autogeneration for AMBA drivers
    rtc: pl030: Enable module alias autogeneration for AMBA drivers
    mmc: mmci: Enable module alias autogeneration for AMBA drivers
    input: ambakmi: Enable module alias autogeneration for AMBA drivers
    gpio: pl061: Enable module alias autogeneration for AMBA drivers
    dmaengine: pl330: Enable module alias autogeneration for AMBA drivers
    dmaengine: pl08x: Enable module alias autogeneration for AMBA drivers
    hwrng: nomadik: Enable module alias autogeneration for AMBA drivers
    ARM: amba: Auto-generate AMBA driver module aliases during modpost
    ARM: amba: Move definition of struct amba_id to mod_devicetable.h

    Linus Torvalds
     
  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

06 Jan, 2012

1 commit


05 Jan, 2012

5 commits

  • Drivers should not have a dependency on NR_IRQS. Doing so may break with
    SPARSE_IRQ enabled. As there are no in kernel users of the pl061 which
    have multiple instances with their interrupts combined to a single parent
    interrupt, remove this functionality. If this capability is needed later,
    it could be supported more cleanly by just using a devicetree property.

    Signed-off-by: Rob Herring
    Reviewed-by: Viresh Kumar
    Cc: Rajeev Kumar
    Acked-by: Baruch Siach
    Cc: Linus Walleij
    Cc: Grant Likely

    Rob Herring
     
  • Convert the pl061 irq_chip code to use the generic irq chip code.

    This has the side effect of using 32-bit accesses rather than 8-bit
    accesses to interrupt registers. The h/w TRM and testing seem to indicate
    this is fine.

    Signed-off-by: Rob Herring
    Acked-by: Grant Likely
    Acked-by: Linus Walleij

    Rob Herring
     
  • This patch adds 2 functions that allow managed devices to request GPIOs.
    These GPIOs will then be managed by drivers/base/devres.c.

    Signed-off-by: John Crispin
    Signed-off-by: Grant Likely

    John Crispin
     
  • We don't want drivers using NO_IRQ, so remove its use. For now, 0 or
    -1 means no irq until platforms are converted to use 0.

    Signed-off-by: Rob Herring
    Acked-by: Grant Likely
    Cc: Linus Walleij

    Rob Herring
     
  • Use chained_irq_enter/exit helper functions instead of direct pointer
    accesses. This is needed for generic irq chip conversion.

    Signed-off-by: Rob Herring
    Acked-by: Grant Likely
    Cc: Linus Walleij

    Rob Herring
     

04 Jan, 2012

1 commit

  • This patch adds the suspend and resume operations in the driver. The patch
    ensures the data save and restore for the device registers during the
    suspend and resume operations respectively.

    Signed-off-by: Deepak Sikri
    Signed-off-by: Viresh Kumar
    Acked-by: Baruch Siach
    Acked-by: Rafael J. Wysocki
    Acked-by: Linus Walleij
    Signed-off-by: Grant Likely

    Deepak Sikri
     

03 Jan, 2012

1 commit


02 Jan, 2012

5 commits

  • Reimplement a call to devm_request_mem_region followed by a call to ioremap
    or ioremap_nocache by a call to devm_request_and_ioremap.

    The semantic patch that makes this transformation is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @nm@
    expression myname;
    identifier i;
    @@

    struct platform_driver i = { .driver = { .name = myname } };

    @@
    expression dev,res,size;
    expression nm.myname;
    @@

    -if (!devm_request_mem_region(dev, res->start, size,
    - \(res->name\|dev_name(dev)\|myname\))) {
    - ...
    - return ...;
    -}
    ... when != res->start
    (
    -devm_ioremap(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    |
    -devm_ioremap_nocache(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    )
    ... when any
    when != res->start
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Grant Likely

    Julia Lawall
     
  • For the human reader.

    Signed-off-by: Mark Brown
    Acked-by: Linus Walleij
    Signed-off-by: Grant Likely

    Mark Brown
     
  • Where appropriate factor out some boilerplate code for platform device
    registration into module_platform_driver. Drivers that don't use the
    standard module_init initcall haven't been converted.

    Signed-off-by: Mark Brown
    Signed-off-by: Grant Likely

    Mark Brown
     
  • Signed-off-by: Mark Brown
    Acked-by: Kukjin Kim
    Signed-off-by: Grant Likely

    Mark Brown
     
  • Make it easier to follow the by number references into samsung_gpio_cfgs
    by putting the indexes into the code initialising the array, improving
    readability a bit. Ideally we wouldn't be using magic array indexes at all
    but this is easier than coming up with a better way.

    Signed-off-by: Mark Brown
    Acked-by: Kukjin Kim
    Signed-off-by: Grant Likely

    Mark Brown
     

28 Dec, 2011

3 commits


23 Dec, 2011

1 commit

  • As gpio chips get registered, a device tree node which represents the
    gpio chip is searched and attached to it. A translate function is also
    provided to convert the gpio specifier into actual platform settings
    for pin function selection, pull up/down and driver strength settings.

    Signed-off-by: Thomas Abraham
    Acked-by: Grant Likely
    [kgene.kim@samsung.com: fixed build error]
    Signed-off-by: Kukjin Kim

    Thomas Abraham
     

22 Dec, 2011

1 commit

  • The sysdev.h file should not be needed by any in-kernel code, so remove
    the .h file from these random files that seem to still want to include
    it.

    The sysdev code will be going away soon, so this include needs to be
    removed no matter what.

    Cc: Jiandong Zheng
    Cc: Scott Branden
    Cc: Russell King
    Cc: Kukjin Kim
    Cc: David Brown
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Cc: Ben Dooks
    Cc: Wan ZongShun
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Guan Xuetao
    Cc: "Venkatesh Pallipadi
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Grant Likely
    Cc: Richard Purdie
    Cc: Matthew Garrett
    Signed-off-by: Kay Sievers

    Kay Sievers
     

20 Dec, 2011

1 commit


16 Dec, 2011

1 commit

  • This patch is functionally tested on Samsung SMDKV6410.

    Reported-by: Stephen Rothwell
    Signed-off-by: David Dajun Chen
    Signed-off-by: Ashish Jangam
    [grant.likely: don't create an unnecessary header file]
    Signed-off-by: Grant Likely

    Ashish Jangam
     

14 Dec, 2011

4 commits


13 Dec, 2011

3 commits