20 Aug, 2012

1 commit

  • Macro for_each_child_of_node() makes it easy to iterate over all of the
    children for a given device tree node, including those nodes that are
    marked as unavailable (i.e. status = "disabled").

    Introduce for_each_available_child_of_node(), which is like
    for_each_child_of_node(), but it automatically skips unavailable nodes.
    This also requires the introduction of helper function
    of_get_next_available_child(), which returns the next available child
    node.

    Signed-off-by: Timur Tabi
    Signed-off-by: David S. Miller

    Timur Tabi
     

25 Jul, 2012

2 commits

  • Pull devicetree updates from Rob Herring:
    "A small set of changes for devicetree:
    - Couple of Documentation fixes
    - Addition of new helper function of_node_full_name
    - Improve of_parse_phandle_with_args return values
    - Some NULL related sparse fixes"

    Grant's busy packing.

    * tag 'dt-for-3.6' of git://sources.calxeda.com/kernel/linux:
    of: mtd: nuke useless const qualifier
    devicetree: add helper inline for retrieving a node's full name
    of: return -ENOENT when no property
    usage-model.txt: fix typo machine_init->init_machine
    of: Fix null pointer related warnings in base.c file
    LED: Fix missing semicolon in OF documentation
    of: fix a few typos in the binding documentation

    Linus Torvalds
     
  • Pull networking changes from David S Miller:

    1) Remove the ipv4 routing cache. Now lookups go directly into the FIB
    trie and use prebuilt routes cached there.

    No more garbage collection, no more rDOS attacks on the routing
    cache. Instead we now get predictable and consistent performance,
    no matter what the pattern of traffic we service.

    This has been almost 2 years in the making. Special thanks to
    Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who
    have helped along the way.

    I'm sure that with a change of this magnitude there will be some
    kind of fallout, but such things ought the be simple to fix at this
    point. Luckily I'm not European so I'll be around all of August to
    fix things :-)

    The major stages of this work here are each fronted by a forced
    merge commit whose commit message contains a top-level description
    of the motivations and implementation issues.

    2) Pre-demux of established ipv4 TCP sockets, saves a route demux on
    input.

    3) TCP SYN/ACK performance tweaks from Eric Dumazet.

    4) Add namespace support for netfilter L4 conntrack helpers, from Gao
    Feng.

    5) Add config mechanism for Energy Efficient Ethernet to ethtool, from
    Yuval Mintz.

    6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.

    7) Support for connection tracker helpers in userspace, from Pablo
    Neira Ayuso.

    8) Allow userspace driven TX load balancing functions in TEAM driver,
    from Jiri Pirko.

    9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with
    embedded gotos.

    10) TCP Small Queues, essentially minimize the amount of TCP data queued
    up in the packet scheduler layer. Whereas the existing BQL (Byte
    Queue Limits) limits the pkt_sched --> netdevice queuing levels,
    this controls the TCP --> pkt_sched queueing levels.

    From Eric Dumazet.

    11) Reduce the number of get_page/put_page ops done on SKB fragments,
    from Alexander Duyck.

    12) Implement protection against blind resets in TCP (RFC 5961), from
    Eric Dumazet.

    13) Support the client side of TCP Fast Open, basically the ability to
    send data in the SYN exchange, from Yuchung Cheng.

    Basically, the sender queues up data with a sendmsg() call using
    MSG_FASTOPEN, then they do the connect() which emits the queued up
    fastopen data.

    14) Avoid all the problems we get into in TCP when timers or PMTU events
    hit a locked socket. The TCP Small Queues changes added a
    tcp_release_cb() that allows us to queue work up to the
    release_sock() caller, and that's what we use here too. From Eric
    Dumazet.

    15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)
    genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
    r8169: revert "add byte queue limit support".
    ipv4: Change rt->rt_iif encoding.
    net: Make skb->skb_iif always track skb->dev
    ipv4: Prepare for change of rt->rt_iif encoding.
    ipv4: Remove all RTCF_DIRECTSRC handliing.
    ipv4: Really ignore ICMP address requests/replies.
    decnet: Don't set RTCF_DIRECTSRC.
    net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.
    ipv4: Remove redundant assignment
    rds: set correct msg_namelen
    openvswitch: potential NULL deref in sample()
    tcp: dont drop MTU reduction indications
    bnx2x: Add new 57840 device IDs
    tcp: avoid oops in tcp_metrics and reset tcpm_stamp
    niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value
    niu: Fix to check for dma mapping errors.
    net: Fix references to out-of-scope variables in put_cmsg_compat()
    net: ethernet: davinci_emac: add pm_runtime support
    net: ethernet: davinci_emac: Remove unnecessary #include
    ...

    Linus Torvalds
     

24 Jul, 2012

1 commit

  • Pull powerpc updates from Benjamin Herrenschmidt:
    "Notable highlights:

    - iommu improvements from Anton removing the per-iommu global lock in
    favor of dividing the DMA space into pools, each with its own lock,
    and hashed on the CPU number. Along with making the locking more
    fine grained, this gives significant improvements in multiqueue
    networking scalability.

    - Still from Anton, we know provide a vdso based variant of getcpu
    which makes sched_getcpu with the appropriate glibc patch something
    like 18 times faster.

    - More anton goodness (he's been busy !) in other areas such as a
    faster __clear_user and copy_page on P7, various perf fixes to
    improve sampling quality, etc...

    - One more step toward removing legacy i2c interfaces by using new
    device-tree based probing of platform devices for the AOA audio
    drivers

    - A nice series of patches from Michael Neuling that helps avoiding
    confusion between register numbers and litterals in assembly code,
    trying to enforce the use of "%rN" register names in gas rather
    than plain numbers.

    - A pile of FSL updates

    - The usual bunch of small fixes, cleanups etc...

    You may spot a change to drivers/char/mem. The patch got no comment
    or ack from outside, it's a trivial patch to allow the architecture to
    skip creating /dev/port, which we use to disable it on ppc64 that
    don't have a legacy brige. On those, IO ports 0...64K are not mapped
    in kernel space at all, so accesses to /dev/port cause oopses (and
    yes, distros -still- ship userspace that bangs hard coded ports such
    as kbdrate)."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)
    powerpc/mpic: Create a revmap with enough entries for IPIs and timers
    Remove stale .rej file
    powerpc/iommu: Fix iommu pool initialization
    powerpc/eeh: Check handle_eeh_events() return value
    powerpc/85xx: Add phy nodes in SGMII mode for MPC8536/44/72DS & P2020DS
    powerpc/e500: add paravirt QEMU platform
    powerpc/mpc85xx_ds: convert to unified PCI init
    powerpc/fsl-pci: get PCI init out of board files
    powerpc/85xx: Update corenet64_smp_defconfig
    powerpc/85xx: Update corenet32_smp_defconfig
    powerpc/85xx: Rename P1021RDB-PC device trees to be consistent
    powerpc/watchdog: move booke watchdog param related code to setup-common.c
    sound/aoa: Adapt to new i2c probing scheme
    i2c/powermac: Improve detection of devices from device-tree
    powerpc: Disable /dev/port interface on systems without an ISA bridge
    of: Improve prom_update_property() function
    powerpc: Add "memory" attribute for mfmsr()
    powerpc/ftrace: Fix assembly trampoline register usage
    powerpc/hw_breakpoints: Fix incorrect pointer access
    powerpc: Put the gpr save/restore functions in their own section
    ...

    Linus Torvalds
     

20 Jul, 2012

1 commit


12 Jul, 2012

1 commit

  • Pull ARM SoC fixes from Arnd Bergmann:
    - multiple omap2+ bug fixes
    - a regression on ux500 dt support
    - a build failure on shmobile

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: OMAP2+: omap2plus_defconfig: EHCI driver is not stable, disable it
    ARM: shmobile: fix platsmp.c build when ARCH_SH73A0=n
    ARM: ux500: Over-ride the DT device naming scheme for pinctrl
    ARM: ux500: Fix build errors/warnings when MACH_UX500_DT is not set
    of: address: Don't fail a lookup just because a node has no reg property
    ARM: OMAP2+: hwmod code/clockdomain data: fix 32K sync timer

    Linus Torvalds
     

11 Jul, 2012

2 commits

  • prom_update_property() currently fails if the property doesn't
    actually exist yet which isn't what we want. Change to add-or-update
    instead of update-only, then we can remove a lot duplicated lines.

    Suggested-by: Grant Likely
    Signed-off-by: Dong Aisheng
    Acked-by: Rob Herring
    Signed-off-by: Benjamin Herrenschmidt

    Dong Aisheng
     
  • This reverts commit 107a84e61cdd3406c842a0e4be7efffd3a05dba6.

    Meelis Roos reports a regression since 3.5-rc5 that stops Sun Fire V100
    and Sun Netra X1 sparc64 machines from booting, hanging after enabling
    serial console. He bisected it to commit 107a84e61cdd.

    Rob Herring explains:
    "The problem is match combinations of compatible plus name and/or type
    fail to match correctly. I have a fix for this, but given how late it
    is for 3.5 I think it is best to revert this for now. There could be
    other cases that rely on the current although wrong behavior. I will
    post an updated version for 3.6."

    Bisected-and-reported-by: Meelis Roos
    Requested-by: Rob Herring
    Cc: Thierry Reding
    Cc: Grant Likely
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

10 Jul, 2012

1 commit

  • This patch does the following:
    -const int of_get_nand_ecc_mode(struct device_node *np)
    +int of_get_nand_ecc_mode(struct device_node *np)

    because:
    1. it is probably just a typo?
    2. it causes warnings like this when people assing the returned
    value to an 'int' variable:
    include/linux/of_mtd.h:14:18: warning: type qualifiers ignored on functi=
    on return type [-Wignored-qualifiers]

    Remove also the unnecessary "extern" qualifier to be consistent with other
    declarations in this file.

    Signed-off-by: Artem Bityutskiy
    Signed-off-by: Rob Herring

    Artem Bityutskiy
     

07 Jul, 2012

1 commit

  • Sometimes it doesn't make any sense for a node to have an address.
    In this case device lookup will always be unsuccessful because we
    currently assume every node will have a reg property. This patch
    changes the semantics so that the resource address and the lookup
    address will only be compared if one exists.

    Things like AUXDATA() rely on of_dev_lookup to return the lookup
    entry of a particular device in order to do things like apply
    platform_data to a device. However, this is currently broken for
    nodes which do not have a reg property, meaning that platform_data
    can not be passed in those cases.

    Acked-by: Rob Herring
    Acked-by: Arnd Bergmann
    Signed-off-by: Lee Jones

    Lee Jones
     

06 Jul, 2012

3 commits

  • The pattern (np ? np->full_name : "") is rather common in the
    kernel, but can also make for quite long lines. This patch adds a new
    inline function, of_node_full_name() so that the test for a valid node
    pointer doesn't need to be open coded at all call sites.

    Signed-off-by: Grant Likely
    Cc: Paul Mundt
    Cc: Benjamin Herrenschmidt
    Cc: Thomas Gleixner
    Signed-off-by: Rob Herring

    Grant Likely
     
  • Make of_parse_phandle_with_args return -ENOENT instead of -EINVAL when
    no matching property is found, which allows to discriminate between
    absence of property and parsing error.

    Signed-off-by: Alexandre Courbot
    Signed-off-by: Rob Herring

    Alexandre Courbot
     
  • Fixes the following sparse warnings:
    drivers/of/base.c:176:41: warning: Using plain integer as NULL pointer
    drivers/of/base.c:178:37: warning: Using plain integer as NULL pointer
    drivers/of/base.c:500:49: warning: Using plain integer as NULL pointer

    Signed-off-by: Sachin Kamat
    Signed-off-by: Rob Herring

    Sachin Kamat
     

28 Jun, 2012

2 commits

  • Define two new "compatible" values for Ethernet
    PHYs. "ethernet-phy-ieee802.3-c22" and "ethernet-phy-ieee802.3-c45"
    are used to indicate a PHY uses the corresponding protocol.

    If a PHY is "compatible" with "ethernet-phy-ieee802.3-c45", we
    indicate this so that get_phy_device() can properly probe the device.

    If get_phy_device() fails, it was probably due to failing the probe of
    the PHY identifier registers. Since we have the device tree telling
    us the PHY exists, go ahead and add it anyhow with a phy_id of zero.
    There may be a driver match based on the "compatible" property.

    Signed-off-by: David Daney
    Signed-off-by: David S. Miller

    David Daney
     
  • The IEEE802.3 clause 45 MDIO bus protocol allows for directly
    addressing PHY registers using a 21 bit address, and is used by many
    10G Ethernet PHYS. Already existing is the ability of MDIO bus
    drivers to use clause 45, with the MII_ADDR_C45 flag. Here we add
    struct phy_c45_device_ids to hold the device identifier registers
    present in clause 45. struct phy_device gets a couple of new fields:
    c45_ids to hold the identifiers and is_c45 to signal that it is clause
    45.

    get_phy_device() gets a new parameter is_c45 to indicate that the PHY
    device should use the clause 45 protocol, and its callers are adjusted
    to pass false. The follow-on patch to of_mdio.c will pass true where
    appropriate.

    EXPORT phy_device_create() so that the follow-on patch to of_mdio.c
    can use it to create phy devices for PHYs, that have non-standard
    device identifier registers, based on the device tree bindings.

    Signed-off-by: David Daney
    Signed-off-by: David S. Miller

    David Daney
     

15 Jun, 2012

1 commit

  • When matching devices against an OF device ID table, the first string of
    the compatible property that is listed in the table should match,
    regardless of its position in the table.

    Cc: Grant Likely
    Cc: Rob Herring
    Cc: devicetree-discuss@lists.ozlabs.org
    Signed-off-by: Thierry Reding
    Signed-off-by: Rob Herring

    Thierry Reding
     

14 Jun, 2012

1 commit


30 May, 2012

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "The whole series has been sitting in -next for quite a while with no
    complaints. The last change to the series was before the weekend the
    removal of an SPI patch which Grant - even though previously acked by
    himself - appeared to raise objections. So I removed it until the
    situation is clarified. Other than that all the patches have the acks
    from their respective maintainers, all MIPS and x86 defconfigs are
    building fine and I'm not aware of any problems introduced by this
    series.

    Among the key features for this patch series is a sizable patchset for
    Lantiq which among other things introduces support for Lantiq's
    flagship product, the FALCON SOC. It also means that the opensource
    developers behind this patchset have overtaken Lantiq's competing
    inhouse development team that was working behind closed doors.

    Less noteworthy the ath79 patchset which adds support for a few more
    chip variants, cleanups and fixes. Finally the usual dose of tweaking
    of generic code."

    Fix up trivial conflicts in arch/mips/lantiq/xway/gpio_{ebu,stp}.c where
    printk spelling fixes clashed with file move and eventual removal of the
    printk.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (81 commits)
    MIPS: lantiq: remove orphaned code
    MIPS: Remove all -Wall and almost all -Werror usage from arch/mips.
    MIPS: lantiq: implement support for FALCON soc
    MTD: MIPS: lantiq: verify that the NOR interface is available on falcon soc
    MTD: MIPS: lantiq: implement OF support
    watchdog: MIPS: lantiq: implement OF support and minor fixes
    SERIAL: MIPS: lantiq: implement OF support
    GPIO: MIPS: lantiq: convert gpio-stp-xway to OF
    GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio
    GPIO: MIPS: lantiq: move gpio-stp and gpio-ebu to the subsystem folder
    MIPS: pci: convert lantiq driver to OF
    MIPS: lantiq: convert dma to platform driver
    MIPS: lantiq: implement support for clkdev api
    MIPS: lantiq: drop ltq_gpio_request() and gpio_to_irq()
    OF: MIPS: lantiq: implement irq_domain support
    OF: MIPS: lantiq: implement OF support
    MIPS: lantiq: drop mips_machine support
    OF: PCI: const usage needed by MIPS
    MIPS: Cavium: Remove smp_reserve_lock.
    MIPS: Move cache setup to setup_arch().
    ...

    Linus Torvalds
     

27 May, 2012

1 commit

  • Pull i2c-embedded changes from Wolfram Sang:
    "Major changes:

    - lots of devicetree additions for existing drivers. I tried hard to
    make sure the bindings are proper. In more complicated cases, I
    requested acks from people having more experience with them than
    me. That took a bit of extra time and also some time went into
    discussions with developers about what bindings are and what not.
    I have the feeling that the workflow with bindings should be
    improved to scale better. I will spend some more thought on
    this...

    - i2c-muxes are succesfully used meanwhile, so we dropped
    EXPERIMENTAL for them and renamed the drivers to a standard pattern
    to match the rest of the subsystem. They can also be used with
    devicetree now.

    - ixp2000 was removed since the whole platform goes away.

    - cleanups (strlcpy instead of strcpy, NULL instead of 0)

    - The rest is typical driver fixes I assume.

    All patches have been in linux-next at least since v3.4-rc6."

    Fixed up trivial conflict in arch/arm/mach-lpc32xx/common.c due to the
    same patch already having come in through the arm/soc trees, with
    additional patches on top of it.

    * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (35 commits)
    i2c: davinci: Free requested IRQ in remove
    i2c: ocores: register OF i2c devices
    i2c: tegra: notify transfer-complete after clearing status.
    I2C: xiic: Add OF binding support
    i2c: Rename last mux driver to standard pattern
    i2c: tegra: fix 10bit address configuration
    i2c: muxes: rename first set of drivers to a standard pattern
    of/i2c: implement of_find_i2c_adapter_by_node
    i2c: implement i2c_verify_adapter
    i2c-s3c2410: Add HDMIPHY quirk for S3C2440
    i2c-s3c2410: Rework device type handling
    i2c: muxes are not EXPERIMENTAL anymore
    i2c/of: Automatically populate i2c mux busses from device tree data.
    i2c: Add a struct device * parameter to i2c_add_mux_adapter()
    of/i2c: call i2c_verify_client from of_find_i2c_device_by_node
    i2c: designware: Add clk_{un}prepare() support
    i2c: designware: add PM support
    i2c: ixp2000: remove driver
    i2c: pnx: add device tree support
    i2c: imx: don't use strcpy but strlcpy
    ...

    Linus Torvalds
     

25 May, 2012

2 commits

  • Pull GPIO driver changes from Grant Likely:
    "Lots of gpio changes, both to core code and drivers.

    Changes do touch architecture code to remove the need for separate
    arm/gpio.h includes in most architectures.

    Some new drivers are added, and a number of gpio drivers are converted
    to use irq_domains for gpio inputs used as interrupts. Device tree
    support has been amended to allow multiple gpio_chips to use the same
    device tree node.

    Remaining changes are primarily bug fixes."

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6: (33 commits)
    gpio/generic: initialize basic_mmio_gpio shadow variables properly
    gpiolib: Remove 'const' from data argument of gpiochip_find()
    gpio/rc5t583: add gpio driver for RICOH PMIC RC5T583
    gpiolib: quiet gpiochip_add boot message noise
    gpio: mpc8xxx: Prevent NULL pointer deref in demux handler
    gpio/lpc32xx: Add device tree support
    gpio: Adjust of_xlate API to support multiple GPIO chips
    gpiolib: Implement devm_gpio_request_one()
    gpio-mcp23s08: dbg_show: fix pullup configuration display
    Add support for TCA6424A
    gpio/omap: (re)fix wakeups on level-triggered GPIOs
    gpio/omap: fix broken context restore for non-OFF mode transitions
    gpio/omap: fix missing check in *_runtime_suspend()
    gpio/omap: remove cpu_is_omapxxxx() checks from *_runtime_resume()
    gpio/omap: remove suspend/resume callbacks
    gpio/omap: remove retrigger variable in gpio_irq_handler
    gpio/omap: remove saved_wakeup field from struct gpio_bank
    gpio/omap: remove suspend_wakeup field from struct gpio_bank
    gpio/omap: remove saved_fallingdetect, saved_risingdetect
    gpio/omap: remove virtual_irq_start variable
    ...

    Conflicts:
    drivers/gpio/gpio-samsung.c

    Linus Torvalds
     
  • Pull SPI changes from Grant Likely:
    "Bug fixes and new features for SPI device drivers. Also move device
    tree support code out of drivers/of and into drivers/spi/spi.c where
    it makes more sense."

    * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    spi: By default setup spi_masters with 1 chipselect and dynamics bus number
    SPI: PRIMA2: use the newest APIs of PINCTRL to fix compiling errors
    spi/spi-fsl-spi: reference correct pdata in fsl_spi_cs_control
    spi: refactor spi-coldfire-qspi to use SPI queue framework.
    spi/omap2-mcspi: convert to the pump message infrastructure
    spi/rspi: add dmaengine support
    spi/topcliff: use correct __devexit_p annotation
    spi: Dont call prepare/unprepare transfer if not populated
    spi/ep93xx: clean probe/remove routines
    spi/devicetree: Move devicetree support code into spi directory
    spi: use module_pci_driver
    spi/omap2-mcspi: Trivial optimisation
    spi: omap2-mcspi: add support for pm_runtime autosuspend
    spi/omap: Remove bus_num usage for instance index
    OMAP : SPI : use devm_* functions
    spi: omap2-mcspi: convert to module_platform_driver
    spi: omap2-mcspi: make it behave as a module

    Linus Torvalds
     

23 May, 2012

1 commit

  • Pull device tree conversions for arm-soc, part 1, from Olof Johansson:
    "The spear3xx, lpc32xx, shmobile and mmp platforms are joining the game
    of booting using device trees, which is a great step forward for them.
    at91 and spear have pretty much completed this process with a huge
    amount of work being put into at91. The other platforms are
    continuing the process.

    We finally start to see the payback on this investment, as new
    machines are getting supported purely by adding a .dts source file
    that can be completely independent of the kernel source."

    Fix up trivial conflict in arch/arm/Kconfig

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: at91: Add ADC driver to at91sam9260/at91sam9g20 dtsi files
    arm/dts: omap4-panda: Add LEDs support
    arm/dts: omap4-sdp: Add LEDs support
    arm/dts: twl4030: Add twl4030-gpio node
    OMAP4: devices: Do not create mcpdm device if the dtb has been provided
    OMAP4: devices: Do not create dmic device if the dtb has been provided
    Documentation: update docs for mmp dt
    ARM: dts: refresh dts file for arch mmp
    ARM: mmp: support pxa910 with device tree
    ARM: mmp: support mmp2 with device tree
    gpio: pxa: parse gpio from DTS file
    ARM: mmp: support DT in timer
    ARM: mmp: support DT in irq
    ARM: mmp: append CONFIG_MACH_MMP2_DT
    ARM: mmp: fix build issue on mmp with device tree
    ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree
    ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
    ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement
    ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball
    ARM: SPEAr3xx: Correct keyboard data passed from DT
    ...

    Linus Torvalds
     

22 May, 2012

1 commit

  • Pull pin control subsystem changes from Linus Walleij:

    - Generic Device Tree bindings and hooks for drivers so we can move
    over modern drivers to using this.

    - Device Tree bindings for Tegra SoCs.

    - Funneling some devicetree helper code for the drivers/of subsystem.

    - New pin control drivers for:
    * Freescale MXS
    * Freescale i.MX51
    * Freescale i.MX53
    All of these use Device Tree bindings.

    - Dummy pinctrl handles for stepwise migration to pinctrl, akin to
    dummy regulators.
    - Minor non-urgent fixes and improvments.

    Fix up trivial conflicts in Documentation/driver-model/devres.txt and
    drivers/pinctrl/core.c,

    * tag 'pinctrl-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (46 commits)
    pinctrl: pinctrl-imx: add imx51 pinctrl driver
    pinctrl: pinctrl-imx: add imx53 pinctrl driver
    pinctrl: pinctrl-pxa3xx: remove empty pinmux disable function
    pinctrl: pinctrl-mxs: remove empty pinmux disable function
    pinctrl: pinctrl-imx: remove empty pinmux disable function
    pinctrl: make pinmux disable function optional
    pinctrl: a minor error checking improvement for pinconf
    pinctrl: mxs: skip gpio nodes for group creation
    pinctrl: mxs: create group for pin config node
    pinctrl: (cosmetic) fix two entries in DocBook comments
    pinctrl: add more info to error msgs in pin_request
    pinctrl: add pinctrl-mxs support
    pinctrl: pinctrl-imx: add imx6q pinctrl driver
    pinctrl: pinctrl-imx: add imx pinctrl core driver
    dt: add of_get_child_count helper function
    pinctrl: support gpio request deferred probing
    pinctrl: add pinctrl_provide_dummies interface for platforms to use
    pinctrl: enhance reporting of errors when loading from DT
    pinctrl: add kerneldoc for pinctrl_ops device tree functions
    pinctrl: propagate map validation errors
    ...

    Linus Torvalds
     

21 May, 2012

1 commit

  • On MIPS we want to call of_irq_map_pci from inside

    arch/mips/include/asm/pci.h:extern int pcibios_map_irq(
    const struct pci_dev *dev, u8 slot, u8 pin);
    For this to work we need to change several functions to const usage.

    Signed-off-by: John Crispin
    Cc: linux-pci@vger.kernel.org
    Cc: devicetree-discuss@lists.ozlabs.org
    Cc: linux-mips@linux-mips.org
    Acked-by: Bjorn Helgaas
    Acked-by: Grant Likely
    Patchwork: https://patchwork.linux-mips.org/patch/3710/
    Signed-off-by: Ralf Baechle

    John Crispin
     

12 May, 2012

2 commits


10 May, 2012

1 commit


08 May, 2012

1 commit

  • Add of_mdio_find_bus() which allows an mii_bus to be located given its
    associated the device tree node.

    This is needed by the follow-on patch to add a driver for MDIO bus
    multiplexers.

    The of_mdiobus_register() function is modified so that the device tree
    node is recorded in the mii_bus. Then we can find it again by
    iterating over all mdio_bus_class devices.

    Because the OF device tree has now become an integral part of the
    kernel, this can live in mdio_bus.c (which contains the needed
    mdio_bus_class structure) instead of of_mdio.c.

    Signed-off-by: David Daney
    Cc: Grant Likely
    Cc: "David S. Miller"
    Signed-off-by: David S. Miller

    David Daney
     

23 Apr, 2012

1 commit

  • The register and irq definitions in mach/*.h for spear3xx and
    spear6xx are now mostly obsolete, after the platforms have been
    converted to device tree based probing and the data is now
    part of the device tree files.

    The misc_regs.h contents are moved into clock.c because that is
    the only user, aside from the DMA_CHN_CFG that should eventually
    get handled differently. Some of the contents of mach/spear.h
    still remain, because they are used to set up the static map table,
    timer, uart and auxdata tables, but almost everything got removed.
    We might remove everything but the map table as the DT conversion
    completes, but that is not a priority. I've also made sure to
    make both copies of spear.h more or less identical so we can
    eventually combine them.

    The spear3?0.h files were only used by the spear3?0.c files, so I
    merged the contents in there and removed the bits that were unused.
    This is something that should still be looked at.

    Signed-off-by: Arnd Bergmann
    Acked-by: Viresh Kumar

    Arnd Bergmann
     

18 Apr, 2012

1 commit

  • This patch adds macros of_property_for_each_u32() and
    of_property_for_each_string(), which iterate over an array of values
    within a device-tree property. Usage is for example:

    struct property *prop;
    const __be32 *p;
    u32 u;
    of_property_for_each_u32(np, "propname", prop, p, u)
    printk("U32 value: %x\n", u);

    struct property *prop;
    const char *s;
    of_property_for_each_string(np, "propname", prop, s)
    printk("String value: %s\n", s);

    Based on work by Rob Herring

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

    Stephen Warren
     

14 Apr, 2012

1 commit


11 Apr, 2012

1 commit

  • of_gpio_simple_xlate() has an off-by-one bug where it checks to see if
    args[0] is > ngpio instead of >=. args[0] must always be less than
    ngpio because it is a zero-based enumeration.

    Signed-off-by: Roland Stigge
    [grant.likely: beef up commit text]
    Signed-off-by: Grant Likely

    Roland Stigge
     

08 Apr, 2012

1 commit


29 Mar, 2012

2 commits

  • Pull GPIO changes for v3.4 from Grant Likely:
    "Primarily gpio device driver changes with some minor side effects
    under arch/arm and arch/x86. Also includes a few core changes such as
    explicitly supporting (electrical) open source and open drain outputs
    and some help for parsing gpio devicetree properties."

    Fix up context conflict due to Laxman Dewangan adding sleep control for
    the tps65910 driver separately for gpio's and regulators.

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
    gpio/ep93xx: Remove unused inline function and useless pr_err message
    gpio/sodaville: Mark broken due to core irqdomain migration
    gpio/omap: fix redundant decoding of gpio offset
    gpio/omap: fix incorrect update to context.irqenable1
    gpio/omap: fix incorrect context restore logic in omap_gpio_runtime_*
    gpio/omap: fix missing dataout context save in _set_gpio_dataout_reg
    gpio/omap: fix _set_gpio_irqenable implementation
    gpio/omap: fix trigger type to unsigned
    gpio/omap: fix wakeup_en register update in _set_gpio_wakeup()
    gpio: tegra: tegra_gpio_config shouldn't be __init
    gpio/davinci: fix enabling unbanked GPIO IRQs
    gpio/davinci: fix oops on unbanked gpio irq request
    gpio/omap: Fix section warning for omap_mpuio_alloc_gc()
    ARM: tegra: export tegra_gpio_{en,dis}able
    gpio/gpio-stmpe: Fix the value returned by _get_value routine
    Documentation/gpio.txt: Explain expected pinctrl interaction
    GPIO: LPC32xx: Add output reading to GPO P3
    GPIO: LPC32xx: Fix missing bit selection mask
    gpio/omap: fix wakeups on level-triggered GPIOs
    gpio/omap: Fix IRQ handling for SPARSE_IRQ
    ...

    Linus Torvalds
     
  • Pull "ARM: More device tree support updates" from Olof Johansson:
    "This branch contains a number of updates for device tree support on
    several ARM platforms, in particular:

    * AT91 continues the device tree conversion adding support for a
    number of on-chip drivers and other functionality
    * ux500 adds probing of some of the core SoC blocks through device
    tree
    * Initial device tree support for ST SPEAr600 platforms
    * kirkwood continues the conversion to device-tree probing"

    Manually merge arch/arm/mach-ux500/Kconfig due to MACH_U8500 rename, and
    drivers/usb/gadget/at91_udc.c due to header file include cleanups.

    Also do an "evil merge" for the MACH_U8500 config option rename that the
    affected RMI4 touchscreen driver in staging. It's called MACH_MOP500
    now, and it was missed during previous merges.

    * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    ARM: SPEAr600: Add device-tree support to SPEAr600 boards
    ARM: ux500: Provide local timer support for Device Tree
    ARM: ux500: Enable PL022 SSP Controller in Device Tree
    ARM: ux500: Enable PL310 Level 2 Cache Controller in Device Tree
    ARM: ux500: Enable PL011 AMBA UART Controller for Device Tree
    ARM: ux500: Enable Cortex-A9 GIC (Generic Interrupt Controller) in Device Tree
    ARM: ux500: db8500: list most devices in the snowball device tree
    ARM: ux500: split dts file for snowball into generic part
    ARM: ux500: combine the board init functions for DT boot
    ARM: ux500: Initial Device Tree support for Snowball
    ARM: ux500: CONFIG: Enable Device Tree support for future endeavours
    ARM: kirkwood: use devicetree for rtc-mv
    ARM: kirkwood: rtc-mv devicetree bindings
    ARM: kirkwood: fdt: define uart[01] as disabled, enable uart0
    ARM: kirkwood: fdt: facilitate new boards during fdt migration
    ARM: kirkwood: fdt: absorb kirkwood_init()
    ARM: kirkwood: fdt: use mrvl ticker symbol
    ARM: orion: wdt: use resource vice direct access
    ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data.
    ARM: orion: spi: remove enable_clock_fix which is not used
    ...

    Linus Torvalds
     

24 Mar, 2012

1 commit

  • Pull #1 ARM updates from Russell King:
    "This one covers stuff which Arnd is waiting for me to push, as this is
    shared between both our trees and probably other trees elsewhere.

    Essentially, this contains:
    - AMBA primecell device initializer updates - mostly shrinking the
    size of the device declarations in platform code to something more
    reasonable.
    - Getting rid of the NO_IRQ crap from AMBA primecell stuff.
    - Nicolas' idle cleanups. This in combination with the restart
    cleanups from the last merge window results in a great many
    mach/system.h files being deleted."

    Yay: ~80 files, ~2000 lines deleted.

    * 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm: (60 commits)
    ARM: remove disable_fiq and arch_ret_to_user macros
    ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER
    ARM: rpc: make default fiq handler run-time installed
    ARM: make arch_ret_to_user macro optional
    ARM: amba: samsung: use common amba device initializers
    ARM: amba: spear: use common amba device initializers
    ARM: amba: nomadik: use common amba device initializers
    ARM: amba: u300: use common amba device initializers
    ARM: amba: lpc32xx: use common amba device initializers
    ARM: amba: netx: use common amba device initializers
    ARM: amba: bcmring: use common amba device initializers
    ARM: amba: ep93xx: use common amba device initializers
    ARM: amba: omap2: use common amba device initializers
    ARM: amba: integrator: use common amba device initializers
    ARM: amba: realview: get rid of private platform amba_device initializer
    ARM: amba: versatile: get rid of private platform amba_device initializer
    ARM: amba: vexpress: get rid of private platform amba_device initializer
    ARM: amba: provide common initializers for static amba devices
    ARM: amba: make use of -1 IRQs warn
    ARM: amba: u300: get rid of NO_IRQ initializers
    ...

    Linus Torvalds
     

22 Mar, 2012

2 commits

  • Pull core device tree changes for Linux v3.4 from Grant Likely:
    "This branch contains a minor documentation addition, a utility
    function for parsing string properties needed by some of the new ARM
    platforms, disables dynamic DT code that isn't used anywhere but on a
    few PPC machines, and exports DT node compatible data to userspace via
    UEVENT properties. Nothing earth shattering here."

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    of: Only compile OF_DYNAMIC on PowerPC pseries and iseries
    arm/dts: OMAP3: Add omap3evm and am335xevm support
    drivercore: Output common devicetree information in uevent
    of: Add of_property_match_string() to find index into a string list

    Linus Torvalds
     
  • Pull irq_domain support for all architectures from Grant Likely:
    "Generialize powerpc's irq_host as irq_domain

    This branch takes the PowerPC irq_host infrastructure (reverse mapping
    from Linux IRQ numbers to hardware irq numbering), generalizes it,
    renames it to irq_domain, and makes it available to all architectures.

    Originally the plan has been to create an all-new irq_domain
    implementation which addresses some of the powerpc shortcomings such
    as not handling 1:1 mappings well, but doing that proved to be far
    more difficult and invasive than generalizing the working code and
    refactoring it in-place. So, this branch rips out the 'new'
    irq_domain and replaces it with the modified powerpc version (in a
    fully bisectable way of course). It converts all users over to the
    new API and makes irq_domain selectable on any architecture.

    No architecture is forced to enable irq_domain, but the infrastructure
    is required for doing OpenFirmware style irq translations. It will
    even work on SPARC even though SPARC has it's own mechanism for
    translating irqs at boot time. MIPS, microblaze, embedded x86 and c6x
    are converted too.

    The resulting irq_domain code is probably still too verbose and can be
    optimized more, but that can be done incrementally and is a task for
    follow-on patches."

    * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6: (31 commits)
    dt: fix twl4030 for non-dt compile on x86
    mfd: twl-core: Add IRQ_DOMAIN dependency
    devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
    irq_domain: Centralize definition of irq_dispose_mapping()
    irq_domain/mips: Allow irq_domain on MIPS
    irq_domain/x86: Convert x86 (embedded) to use common irq_domain
    ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c
    irq_domain/microblaze: Convert microblaze to use irq_domains
    irq_domain/powerpc: Replace custom xlate functions with library functions
    irq_domain/powerpc: constify irq_domain_ops
    irq_domain/c6x: Use library of xlate functions
    irq_domain/c6x: constify irq_domain structures
    irq_domain/c6x: Convert c6x to use generic irq_domain support.
    irq_domain: constify irq_domain_ops
    irq_domain: Create common xlate functions that device drivers can use
    irq_domain: Remove irq_domain_add_simple()
    irq_domain: Remove 'new' irq_domain in favour of the ppc one
    mfd: twl-core.c: Fix the number of interrupts managed by twl4030
    of/address: add empty static inlines for !CONFIG_OF
    irq_domain: Add support for base irq and hwirq in legacy mappings
    ...

    Linus Torvalds
     

17 Mar, 2012

1 commit

  • * spear/dt:
    ARM: SPEAr600: Add device-tree support to SPEAr600 boards

    (update to v3.3-rc7)

    Conflicts:
    arch/arm/mach-spear6xx/spear6xx.c
    arch/arm/mach-vexpress/Kconfig

    The conflicts are between the previous contents of the next/dt2
    branch and upstream changes from v3.3-rc7.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

15 Mar, 2012

1 commit

  • - nand-ecc-mode : String, operation mode of the NAND ecc mode.
    Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first",
    "soft_bch".
    - nand-bus-width : 8 or 16 bus width if not present 8
    - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Grant Likely
    Acked-by: Stefan Roese

    Jean-Christophe PLAGNIOL-VILLARD