1. 01 3月, 2018 3 次提交
  2. 23 2月, 2018 12 次提交
  3. 15 2月, 2018 12 次提交
    • S
      ARM: OMAP2+: Remove unused gpio header file references · 1ff4cb67
      Suman Anna 提交于
      Drop stale references to the generic and OMAP gpio header
      files from couple of files which no longer invoke any gpio
      functions.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1ff4cb67
    • S
      ARM: OMAP: Move plat/i2c.h into mach-omap1 folder · 9138f89e
      Suman Anna 提交于
      The current contents of plat/i2c.h are only relevant for OMAP1
      platforms, as all the equivalent functions for OMAP2 has been
      dropped in commit 65fa3e71 ("ARM: OMAP2+: Remove legacy i2c.c
      platform init code"), and which has also moved the left-over code
      from plat-omap into mach-omap1. The hwmod is a concept only
      applicable for OMAP2 platforms, and the omap_i2c_reset() is
      already declared in mach-omap2/i2c.h. So, move the current
      plat/i2c.h header file into the mach-omap1 folder, and adjust
      the header usage accordingly.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      9138f89e
    • S
      ARM: OMAP2+: Cleanup omap_mcbsp_dev_attr and other legacy data · 0693036c
      Suman Anna 提交于
      The omap_mcbsp_dev_attr data was used to supply instance-specific
      data for legacy non-DT devices. The legacy McBSP device support
      including the usage of the hwmod class revision data has been
      dropped in commit 48f66937 ("ARM: OMAP2+: Remove unused legacy
      code for McBSP") and this data is therefore no longer needed.
      So, cleanup the structure and all the associated data in various
      hwmod data files.
      
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0693036c
    • S
      ARM: OMAP2+: Cleanup omap2_spi_dev_attr and other legacy data · 1cddc364
      Suman Anna 提交于
      The omap2_spi_dev_attr data was used to supply instance-specific
      data for legacy non-DT devices. The SPI legacy device support
      including the usage of the hwmod class revision data has been
      dropped in commit 6f3ab009 ("ARM: OMAP2+: Remove unused legacy
      code for device init") and this data is therefore no longer needed.
      So, cleanup the structure and all the associated data in various
      hwmod data files.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1cddc364
    • S
      ARM: OMAP2+: Cleanup omap_timer_capability_dev_attr usage · cc7e3fb6
      Suman Anna 提交于
      The omap_timer_capability_dev_attr data was used to supply instance
      specific capabilities (like always-on, PWM functionality or ability
      to interrupt DSP cores) for legacy non-DT devices. These capabilities
      are now provided through device-tree properties. The legacy device
      support has been cleaned up in commit 8d39ff3d ("ARM: OMAP2+:
      Remove unused legacy code for timer") and this data is therefore
      no longer needed. So, cleanup the structure and all the associated
      data in various hwmod data files.
      
      While at this, remove the stale header in hwmod data files that
      already do not have any timer capability data.
      
      Cc: Keerthy <j-keerthy@ti.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      cc7e3fb6
    • S
      ARM: OMAP2+: Cleanup omap_i2c_dev_attr usage · 5297e1d7
      Suman Anna 提交于
      The omap_i2c_dev_attr data was used to supply instance-specific
      data for legacy non-DT devices. The I2C legacy device support has
      been cleaned up in commit 65fa3e71 ("ARM: OMAP2+: Remove legacy
      i2c.c platform init code") and this data is therefore no longer
      needed. So, cleanup the structure and all the associated data in
      various hwmod data files.
      
      The i2c-omap.h header is still needed because of the need for
      various OMAP_I2C_IP_VERSION_x macros.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      5297e1d7
    • S
      ARM: OMAP2+: Cleanup omap_gpio_dev_attr usage · a0e37da2
      Suman Anna 提交于
      The omap_gpio_dev_attr data was used to supply instance-specific
      data for legacy non-DT devices. The GPIO legacy device support has
      been cleaned up in commit 14944934 ("ARM: OMAP2+: Remove legacy
      gpio code") a while ago and this data is therefore no longer needed.
      So, cleanup the structure and all the associated data in various
      hwmod data files.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a0e37da2
    • T
      ARM: OMAP2+: Include types.h directly for hwmod data · ddd6a9d9
      Tony Lindgren 提交于
      This is needed in preparation for dropping some unused
      headers that indirectly include types.h.
      Tested-by: NSuman Anna <s-anna@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ddd6a9d9
    • T
      ARM: OMAP2+: Fix sar_base inititalization for HS omaps · fe27f167
      Tony Lindgren 提交于
      HS omaps use irq_save_secure_context() instead of irq_save_context()
      so sar_base will never get initialized and irq_sar_clear() gets called
      with a wrong address for HS omaps from irq_restore_context().
      
      Starting with commit f4b9f40a ("ARM: OMAP4+: Initialize SAR RAM
      base early for proper CPU1 reset for kexec") we have it available,
      and this ideally would been fixed with that commit already.
      
      Fixes: f4b9f40a ("ARM: OMAP4+: Initialize SAR RAM base early for
      proper CPU1 reset for kexec")
      Cc: Andrew F. Davis <afd@ti.com>
      Cc: Dave Gerlach <d-gerlach@ti.com>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Santosh Shilimkar <ssantosh@kernel.org>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      fe27f167
    • T
      ARM: OMAP3: Fix prm wake interrupt for resume · d3be6d2a
      Tony Lindgren 提交于
      For platform_suspend_ops, the finish call is too late to re-enable wake
      irqs and we need re-enable wake irqs on wake call instead.
      
      Otherwise noirq resume for devices has already happened. And then
      dev_pm_disarm_wake_irq() has already disabled the dedicated wake irqs
      when the interrupt triggers and the wake irq is never handled.
      
      For devices that are already in PM runtime suspended state when we
      enter suspend this means that a possible wake irq will never trigger.
      
      And this can lead into a situation where a device has a pending padconf
      wake irq, and the device will stay unresponsive to any further wake
      irqs.
      
      This issue can be easily reproduced by setting serial console log level
      to zero, letting the serial console idle, and suspend the system from
      an ssh terminal. Then try to wake up the system by typing to the serial
      console.
      
      Note that this affects only omap3 PRM interrupt as that's currently
      the only omap variant that does anything in omap_pm_wake().
      
      In general, for the wake irqs to work, the interrupt must have either
      IRQF_NO_SUSPEND or IRQF_EARLY_RESUME set for it to trigger before
      dev_pm_disarm_wake_irq() disables the wake irqs.
      Reported-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d3be6d2a
    • Q
      ARM: OMAP2+: timer: fix a kmemleak caused in omap_get_timer_dt · db35340c
      Qi Hou 提交于
      When more than one GP timers are used as kernel system timers and the
      corresponding nodes in device-tree are marked with the same "disabled"
      property, then the "attr" field of the property will be initialized
      more than once as the property being added to sys file system via
      __of_add_property_sysfs().
      
      In __of_add_property_sysfs(), the "name" field of pp->attr.attr is set
      directly to the return value of safe_name(), without taking care of
      whether it's already a valid pointer to a memory block. If it is, its
      old value will always be overwritten by the new one and the memory block
      allocated before will a "ghost", then a kmemleak happened.
      
      That the same "disabled" property being added to different nodes of device
      tree would cause that kind of kmemleak overhead, at least once.
      
      To fix it, allocate the property dynamically, and delete static one.
      Signed-off-by: NQi Hou <qi.hou@windriver.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      db35340c
    • T
      60c99c77
  4. 12 2月, 2018 7 次提交
    • L
      Linux 4.16-rc1 · 7928b2cb
      Linus Torvalds 提交于
      7928b2cb
    • A
      unify {de,}mangle_poll(), get rid of kernel-side POLL... · 7a163b21
      Al Viro 提交于
      except, again, POLLFREE and POLL_BUSY_LOOP.
      
      With this, we finally get to the promised end result:
      
       - POLL{IN,OUT,...} are plain integers and *not* in __poll_t, so any
         stray instances of ->poll() still using those will be caught by
         sparse.
      
       - eventpoll.c and select.c warning-free wrt __poll_t
      
       - no more kernel-side definitions of POLL... - userland ones are
         visible through the entire kernel (and used pretty much only for
         mangle/demangle)
      
       - same behavior as after the first series (i.e. sparc et.al. epoll(2)
         working correctly).
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7a163b21
    • L
      vfs: do bulk POLL* -> EPOLL* replacement · a9a08845
      Linus Torvalds 提交于
      This is the mindless scripted replacement of kernel use of POLL*
      variables as described by Al, done by this script:
      
          for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
              L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
              for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
          done
      
      with de-mangling cleanups yet to come.
      
      NOTE! On almost all architectures, the EPOLL* constants have the same
      values as the POLL* constants do.  But they keyword here is "almost".
      For various bad reasons they aren't the same, and epoll() doesn't
      actually work quite correctly in some cases due to this on Sparc et al.
      
      The next patch from Al will sort out the final differences, and we
      should be all done.
      Scripted-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a9a08845
    • L
      Merge branch 'work.poll2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ee5daa13
      Linus Torvalds 提交于
      Pull more poll annotation updates from Al Viro:
       "This is preparation to solving the problems you've mentioned in the
        original poll series.
      
        After this series, the kernel is ready for running
      
            for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
                  L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
                  for f in $L; do sed -i "-es/^\([^\"]*\)\(\<POLL$V\>\)/\\1E\\2/" $f; done
            done
      
        as a for bulk search-and-replace.
      
        After that, the kernel is ready to apply the patch to unify
        {de,}mangle_poll(), and then get rid of kernel-side POLL... uses
        entirely, and we should be all done with that stuff.
      
        Basically, that's what you suggested wrt KPOLL..., except that we can
        use EPOLL... instead - they already are arch-independent (and equal to
        what is currently kernel-side POLL...).
      
        After the preparations (in this series) switch to returning EPOLL...
        from ->poll() instances is completely mechanical and kernel-side
        POLL... can go away. The last step (killing kernel-side POLL... and
        unifying {de,}mangle_poll() has to be done after the
        search-and-replace job, since we need userland-side POLL... for
        unified {de,}mangle_poll(), thus the cherry-pick at the last step.
      
        After that we will have:
      
         - POLL{IN,OUT,...} *not* in __poll_t, so any stray instances of
           ->poll() still using those will be caught by sparse.
      
         - eventpoll.c and select.c warning-free wrt __poll_t
      
         - no more kernel-side definitions of POLL... - userland ones are
           visible through the entire kernel (and used pretty much only for
           mangle/demangle)
      
         - same behavior as after the first series (i.e. sparc et.al. epoll(2)
           working correctly)"
      
      * 'work.poll2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        annotate ep_scan_ready_list()
        ep_send_events_proc(): return result via esed->res
        preparation to switching ->poll() to returning EPOLL...
        add EPOLLNVAL, annotate EPOLL... and event_poll->event
        use linux/poll.h instead of asm/poll.h
        xen: fix poll misannotation
        smc: missing poll annotations
      ee5daa13
    • L
      Merge tag 'xtensa-20180211' of git://github.com/jcmvbkbc/linux-xtensa · 3fc928dc
      Linus Torvalds 提交于
      Pull xtense fix from Max Filippov:
       "Build fix for xtensa architecture with KASAN enabled"
      
      * tag 'xtensa-20180211' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: fix build with KASAN
      3fc928dc
    • L
      Merge tag 'nios2-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 · 60d7a21a
      Linus Torvalds 提交于
      Pull nios2 update from Ley Foon Tan:
      
       - clean up old Kconfig options from defconfig
      
       - remove leading 0x and 0s from bindings notation in dts files
      
      * tag 'nios2-v4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
        nios2: defconfig: Cleanup from old Kconfig options
        nios2: dts: Remove leading 0x and 0s from bindings notation
      60d7a21a
    • M
      xtensa: fix build with KASAN · f8d0cbf2
      Max Filippov 提交于
      The commit 917538e2 ("kasan: clean up KASAN_SHADOW_SCALE_SHIFT
      usage") removed KASAN_SHADOW_SCALE_SHIFT definition from
      include/linux/kasan.h and added it to architecture-specific headers,
      except for xtensa. This broke the xtensa build with KASAN enabled.
      Define KASAN_SHADOW_SCALE_SHIFT in arch/xtensa/include/asm/kasan.h
      
      Reported by: kbuild test robot <fengguang.wu@intel.com>
      Fixes: 917538e2 ("kasan: clean up KASAN_SHADOW_SCALE_SHIFT usage")
      Acked-by: NAndrey Konovalov <andreyknvl@google.com>
      Signed-off-by: NMax Filippov <jcmvbkbc@gmail.com>
      f8d0cbf2
  5. 11 2月, 2018 6 次提交