1. 05 2月, 2013 2 次提交
  2. 31 1月, 2013 6 次提交
  3. 30 1月, 2013 1 次提交
  4. 23 1月, 2013 1 次提交
    • L
      drivers/pinctrl: grab default handles from device core · ab78029e
      Linus Walleij 提交于
      This makes the device core auto-grab the pinctrl handle and set
      the "default" (PINCTRL_STATE_DEFAULT) state for every device
      that is present in the device model right before probe. This will
      account for the lion's share of embedded silicon devcies.
      
      A modification of the semantics for pinctrl_get() is also done:
      previously if the pinctrl handle for a certain device was already
      taken, the pinctrl core would return an error. Now, since the
      core may have already default-grabbed the handle and set its
      state to "default", if the handle was already taken, this will
      be disregarded and the located, previously instanitated handle
      will be returned to the caller.
      
      This way all code in drivers explicitly requesting their pinctrl
      handlers will still be functional, and drivers that want to
      explicitly retrieve and switch their handles can still do that.
      But if the desired functionality is just boilerplate of this
      type in the probe() function:
      
      struct pinctrl  *p;
      
      p = devm_pinctrl_get_select_default(&dev);
      if (IS_ERR(p)) {
         if (PTR_ERR(p) == -EPROBE_DEFER)
              return -EPROBE_DEFER;
              dev_warn(&dev, "no pinctrl handle\n");
      }
      
      The discussion began with the addition of such boilerplate
      to the omap4 keypad driver:
      http://marc.info/?l=linux-input&m=135091157719300&w=2
      
      A previous approach using notifiers was discussed:
      http://marc.info/?l=linux-kernel&m=135263661110528&w=2
      This failed because it could not handle deferred probes.
      
      This patch alone does not solve the entire dilemma faced:
      whether code should be distributed into the drivers or
      if it should be centralized to e.g. a PM domain. But it
      solves the immediate issue of the addition of boilerplate
      to a lot of drivers that just want to grab the default
      state. As mentioned, they can later explicitly retrieve
      the handle and set different states, and this could as
      well be done by e.g. PM domains as it is only related
      to a certain struct device * pointer.
      
      ChangeLog v4->v5 (Stephen):
      - Simplified the devicecore grab code.
      - Deleted a piece of documentation recommending that pins
        be mapped to a device rather than hogged.
      ChangeLog v3->v4 (Linus):
      - Drop overzealous NULL checks.
      - Move kref initialization to pinctrl_create().
      - Seeking Tested-by from Stephen Warren so we do not disturb
        the Tegra platform.
      - Seeking ACK on this from Greg (and others who like it) so I
        can merge it through the pinctrl subsystem.
      ChangeLog v2->v3 (Linus):
      - Abstain from using IS_ERR_OR_NULL() in the driver core,
        Russell recently sent a patch to remove it. Handle the
        NULL case explicitly even though it's a bogus case.
      - Make sure we handle probe deferral correctly in the device
        core file. devm_kfree() the container on error so we don't
        waste memory for devices without pinctrl handles.
      - Introduce reference counting into the pinctrl core using
        <linux/kref.h> so that we don't release pinctrl handles
        that have been obtained for two or more places.
      ChangeLog v1->v2 (Linus):
      - Only store a pointer in the device struct, and only allocate
        this if it's really used by the device.
      
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Mitch Bradley <wmb@firmworks.com>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Rickard Andersson <rickard.andersson@stericsson.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Reviewed-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      [swarren: fixed and simplified error-handling in pinctrl_bind_pins(), to
      correctly handle deferred probe. Removed admonition from docs not to use
      pinctrl hogs for devices]
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      ab78029e
  5. 21 1月, 2013 3 次提交
  6. 19 1月, 2013 3 次提交
  7. 18 1月, 2013 3 次提交
  8. 12 1月, 2013 8 次提交
  9. 10 1月, 2013 5 次提交
  10. 09 1月, 2013 6 次提交
    • L
      Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 974b3358
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "People are back from the holiday breaks, and it shows.  Here are a
        bunch of fixes for a number of platforms:
         - A couple of small fixes for Nomadik
         - A larger set of changes for kirkwood/mvebu
           - uart driver selection, dt clocks, gpio-poweroff fixups, a few
             __init annotation fixes and some error handling improvement in
             their xor dma driver.
         - i.MX had a couple of minor fixes (and a critical one for flexcan2
           clock setup)
         - MXS has a small board fix and a framebuffer bugfix
         - A set of fixes for Samsung Exynos, fixing default bootargs and some
           Exynos5440 clock issues
         - A set of OMAP changes including PM fixes and a few sparse warning
           fixups
      
        All in all a bit more positive code delta than we'd ideally want to
        see here, mostly from the OMAP PM changes, but nothing overly crazy."
      
      * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        ARM: clps711x: Fix bad merge of clockevents setup
        ARM: highbank: save and restore L2 cache and GIC on suspend
        ARM: highbank: add a power request clear
        ARM: highbank: fix secondary boot and hotplug
        ARM: highbank: fix typos with hignbank in power request functions
        ARM: dts: fix highbank cpu mpidr values
        ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
        ARM: mx5: Fix MX53 flexcan2 clock
        ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
        pinctrl: mvebu: make pdma clock on dove mandatory
        ARM: Dove: Add pinctrl clock to DT
        dma: mv_xor: fix error handling for clocks
        dma: mv_xor: fix error handling of mv_xor_channel_add()
        arm: mvebu: Add missing ; for cpu node.
        arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
        arm: mvebu: Armada XP MV78230 has two cores, not one
        clk: mvebu: Remove inappropriate __init tagging
        ARM: Kirkwood: Use fixed-regulator instead of board gpio call
        ARM: Kirkwood: Fix missing sdio clock
        ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
        ...
      974b3358
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · ca5c8a4c
      Linus Torvalds 提交于
      Pull drm update from Dave Airlie:
       "Exynos and Radeon mostly, with a dma-buf and ttm fix thrown in.
      
        It's a bit big but its mostly exynos license fix ups and I'd rather
        not hold those up since its legally stuff.
      
        Radeon has a couple of fixes from dma engine work, TTM is just a
        locking fix, and dma-buf fix has been hanging around and I finally got
        a chance to review it."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits)
        drm/ttm: fix fence locking in ttm_buffer_object_transfer
        drm/prime: drop reference on imported dma-buf come from gem
        drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooks
        drm/exynos: move finish page flip to a common place
        drm/exynos: fimd: modify condition in fimd resume
        drm/radeon: fix DMA CS parser for r6xx linear copy packet
        drm/radeon: split r6xx and r7xx copy_dma functions
        drm/exynos: Use devm_clk_get in exynos_drm_gsc.c
        drm/exynos: Remove redundant NULL check in exynos_drm_gsc.c
        drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_gsc.c
        drm/exynos: Use devm_clk_get in exynos_drm_rotator.c
        drm/exynos: Remove redundant NULL check in exynos_drm_rotator.c
        drm/exynos: Remove unnecessary devm_* freeing APIs in exynos_drm_rotator.c
        drm/exynos: Use devm_clk_get in exynos_drm_fimc.c
        drm/exynos: Remove redundant NULL check
        drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_fimc.c
        drm/exynos: Use devm_kzalloc in exynos_drm_ipp.c
        drm/exynos: fix gem buffer allocation type checking
        drm/exynos: remove needless parenthesis.
        drm/exynos: fix incorrect interrupt induced by m2m operation.
        ...
      ca5c8a4c
    • O
      Merge tag 'omap-for-v3.8-rc2/fixes-signed-v2' of... · 434fec16
      Olof Johansson 提交于
      Merge tag 'omap-for-v3.8-rc2/fixes-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      From Tony Lindgren:
      The biggest change is a fix to deal with different power state
      on omap2 registers that causes issues trying to use common PM code.
      Also fix few incorrect registers, and an issue for omap1 USB, and
      few sparse fixes for issues that sneaked in with all the clean-up.
      
      * tag 'omap-for-v3.8-rc2/fixes-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
        ARM: OMAP1: fix USB configuration use-after-release
        ARM: OMAP2/3: PRM: fix bogus OMAP2xxx powerstate return values
        ARM: OMAP3: clock data: Add missing enable/disable for EMU clock
        ARM: OMAP4: PRM: Correct wrong instance usage for reading reset sources
        ARM: OMAP4: PRM: fix RSTTIME and RSTST offsets
        ARM: OMAP4: PRM: Correct reset source map
        ARM: OMAP: SRAM: resolve sparse warnings
        ARM: OMAP AM33xx: hwmod data: resolve sparse warnings
        ARM: OMAP: 32k counter: resolve sparse warnings
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      434fec16
    • O
      Merge branch 'v3.8-samsung-fixes-2' of... · 2f64a8d7
      Olof Johansson 提交于
      Merge branch 'v3.8-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      From Kukjin Kim:
      Most of them are EXYNOS5440 fixes which are for changing uart console,
      cpu id (typo)  and silent complaining gpio error in kernel boot.
      
      * 'v3.8-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: EXYNOS: skip the clock initialization for exynos5440
        ARM: EXYNOS: enable PINCTRL for EXYNOS5440
        ARM: dts: use uart port1 for console on exynos4210-smdkv310
        ARM: dts: use uart port0 for console on exynos5440-ssdk5440
        ARM: SAMSUNG: fix the cpu id for EXYNOS5440
        ARM: EXYNOS: Revise HDMI resource size
      2f64a8d7
    • O
      Merge tag 'mxs-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes · 5595e755
      Olof Johansson 提交于
      From Shawn Guo:
      I have to send one critical mxsfb fix through arm-soc, as FB maintainer
      is unresponsive for quite a while.  People start complaining the missing
      of such an important fix.
      
      * tag 'mxs-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
        video: mxsfb: fix crash when unblanking the display
        ARM: dts: imx23-olinuxino: Fix IOMUX settings
      5595e755
    • O
      Merge tag 'imx-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes · 2d9e02ca
      Olof Johansson 提交于
      From Shawn Guo:
      
      It includes one critical fix - wrong flexcan2 clock will hang system
      when the port gets brought up.  The other two are non-critical fixes,
      which are sent together here, since it's still early -rc stage.
      
      * tag 'imx-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
        ARM: mx5: Fix MX53 flexcan2 clock
        ARM: dts: imx31-bug: Fix manufacturer compatible string
        clk: imx: Remove 'clock-output-names' from the examples
      2d9e02ca
  11. 08 1月, 2013 2 次提交
    • L
      Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ed2c8911
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Nothing too exciting here, just a few regression and trivial fixes,
        and new quirks for HD-audio and USB-audio.
      
         - HD-audio mute LED mode enum fix
         - Fix kernel panic of Digidesign Mbox2 usb-audio quirk (which was new
           in 3.8-rc1)
         - Creative BT-D1 usb-audio quirk
         - mute LED fixup for HP Pavillion 17 laptop"
      
      * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec)
        ALSA: au88x0: fix incorrect left shift
        sound: oss/pas2: Fix possible access out of array
        ALSA: usb-audio: Fix kernel panic of Digidesign Mbox2 quirk
        ALSA: usb-audio: Add support for Creative BT-D1 via usb sound quirks
        ALSA: hda - Switch "On" and "Off" for "Mute-LED Mode" kcontrol
      ed2c8911
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 5c33d9b2
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) New sysctl ndisc_notify needs some documentation, from Hanns
          Frederic Sowa.
      
       2) Netfilter REJECT target doesn't set transport header of SKB
          correctly, from Mukund Jampala.
      
       3) Forcedeth driver needs to check for DMA mapping failures, from Larry
          Finger.
      
       4) brcmsmac driver can't use usleep_range while holding locks, use
          udelay instead.  From Niels Ole Salscheider.
      
       5) Fix unregister of netlink bridge multicast database handlers, from
          Vlad Yasevich and Rami Rosen.
      
       6) Fix checksum calculations in netfilter's ipv6 network prefix
          translation module.
      
       7) Fix high order page allocation failures in netfilter xt_recent, from
          Eric Dumazet.
      
       8) mac802154 needs to use netif_rx_ni() instead of netif_rx() because
          mac802154_process_data() can execute in process rather than
          interrupt context.  From Alexander Aring.
      
       9) Fix splice handling of MSG_SENDPAGE_NOTLAST, otherwise we elide one
          tcp_push() too many.  From Eric Dumazet and Willy Tarreau.
      
      10) Fix skb->truesize tracking in XEN netfront driver, from Ian
          Campbell.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
        xen/netfront: improve truesize tracking
        ipv4: fix NULL checking in devinet_ioctl()
        tcp: fix MSG_SENDPAGE_NOTLAST logic
        net/ipv4/ipconfig: really display the BOOTP/DHCP server's address.
        ip-sysctl: fix spelling errors
        mac802154: fix NOHZ local_softirq_pending 08 warning
        ipv6: document ndisc_notify in networking/ip-sysctl.txt
        ath9k: Fix Kconfig for ATH9K_HTC
        netfilter: xt_recent: avoid high order page allocations
        netfilter: fix missing dependencies for the NOTRACK target
        netfilter: ip6t_NPT: fix IPv6 NTP checksum calculation
        bridge: add empty br_mdb_init() and br_mdb_uninit() definitions.
        vxlan: allow live mac address change
        bridge: Correctly unregister MDB rtnetlink handlers
        brcmfmac: fix parsing rsn ie for ap mode.
        brcmsmac: add copyright information for Canonical
        rtlwifi: rtl8723ae: Fix warning for unchecked pci_map_single() call
        rtlwifi: rtl8192se: Fix warning for unchecked pci_map_single() call
        rtlwifi: rtl8192de: Fix warning for unchecked pci_map_single() call
        rtlwifi: rtl8192ce: Fix warning for unchecked pci_map_single() call
        ...
      5c33d9b2