1. 29 Sep, 2015 17 commits
    • Stefan Agner's avatar
      mtd: nand: vf610_nfc: add hardware BCH-ECC support · 049f4250
      Stefan Agner authored
      This adds hardware ECC support using the BCH encoder in the NFC IP.
      The ECC encoder supports up to 32-bit correction by using 60 error
      correction bytes. There is no sub-page ECC step, ECC is calculated
      always across the whole page (up to 2k pages).
      
      Limitations:
      - HW ECC: Only 2K page with 64+ OOB.
      - HW ECC: Only 24 and 32-bit error correction implemented.
      
      Raw writes have been tested using the generic nand_write_page_raw
      implementation. However, raw reads are currently not possible
      because the controller need to know whether we are going to use
      the ECC mode already at NAND_CMD_READ0 command time. At this point
      we do not have the information whether it is a raw read or a
      regular read at driver level...
      Signed-off-by: default avatarBill Pringlemeir <bpringlemeir@nbsps.com>
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      049f4250
    • Stefan Agner's avatar
      mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others · 456930d8
      Stefan Agner authored
      This driver supports Freescale NFC (NAND flash controller) found on
      Vybrid (VF610), MPC5125, MCF54418 and Kinetis K70. The driver has
      been tested using 8-bit and 16-bit NAND interface on the ARM based
      Vybrid SoC VF500 and VF610 platform.
      parameter page reading.
      
      Limitations:
      - Untested on MPC5125 and M54418.
      - DMA and pipelining not used.
      - 2K pages or less.
      - No chip select, one NAND chip per controller.
      - No hardware ECC.
      
      Some paths have been hand-optimized and evaluated by measurements
      made using mtd_speedtest.ko on a 100MB MTD partition.
      
      Colibri VF50
              eb write     %   eb read     %   page write      %   page read     %
      rel/opt     5175           11537                4560             11039
      opt         5164 -0.21     11420 -1.01          4737 +3.88       10918 -1.10
      none        5113 -1.20     11352 -1.60          4490 -1.54       10865 -1.58
      
      Colibri VF61
              eb write     %   eb read     %   page write      %   page read     %
      rel/opt     5766           13096                5459             12846
      opt         5883 +2.03     13064 -0.24          5561 +1.87       12802 -0.34
      none        5701 -1.13     12980 -0.89          5488 +0.53       12735 -0.86
      
      rel = using readl_relaxed/writel_relaxed in optimized paths
      opt = hand-optimized by combining multiple accesses into one read/write
      
      The measurements have not been statistically verfied, hence use them
      with care. The author came to the conclusion that using the relaxed
      variants of readl/writel are not worth the additional code.
      Signed-off-by: default avatarBill Pringlemeir <bpringlemeir@nbsps.com>
      Tested-by: default avatarAlbert ARIBAUD <albert.aribaud@3adev.fr>
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Reviewed-by: default avatarAlexey Klimov <klimov.linux@gmail.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      456930d8
    • Brian Norris's avatar
      mtd: provide proper 32/64-bit compat_ioctl() support for BLKPG · 53bb724f
      Brian Norris authored
      After a bit of poking around wondering why my 32-bit user-space can't
      seem to send a proper ioctl(BLKPG) to an MTD on my 64-bit kernel
      (ARM64), I noticed that struct blkpg_ioctl_arg is actually pretty
      unsuitable for use in the ioctl() ABI, due to its use of raw pointers,
      and its lack of alignment/packing restrictions (32-bit arch'es tend to
      pack the 4 fields into 4 32-bit words, whereas 64-bit arch'es would add
      padding after the third int, and make this 6 32-bit words).
      
      Anyway, this means BLKPG deserves some special compat_ioctl handling. Do
      the conversion in a small shim for MTD.
      
      block/compat_ioctl.c already has compat support for the block subsystem,
      but it does so by a re-marshalling data to/from user-space (see
      compat_blkpg_ioctl()). Personally, I think this approach is cleaner.
      
      Tested only on MTD, with an ARM32 user space on an ARM64 kernel.
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      53bb724f
    • Brian Norris's avatar
      mtd: spi-nor: add support for w25q128fw · 4404bd74
      Brian Norris authored
      Tested only with single I/O, but the datasheet says it supports dual and
      quad.
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      4404bd74
    • Furquan Shaikh's avatar
      mtd: spi-nor: scale up timeout for full-chip erase · 09b6a377
      Furquan Shaikh authored
      This patch fixes timeout issues seen on large NOR flash (e.g., 16MB
      w25q128fw) when using ioctl(MEMERASE) with offset=0 and length=16M. The
      input parameters matter because spi_nor_erase() uses a different code
      path for full-chip erase, where we use the SPINOR_OP_CHIP_ERASE (0xc7)
      opcode.
      
      Fix: use a different timeout for full-chip erase than for other
      commands.
      
      While most operations can be expected to perform relatively similarly
      across a variety of NOR flash types and sizes (and therefore might as
      well use a similar timeout to keep things simple), full-chip erase is
      unique, because the time it typically takes to complete:
      (1) is much larger than most operations and
      (2) scales with the size of the flash.
      
      Let's base our timeout on the original comments stuck here -- that a 2MB
      flash requires max 40s to erase.
      
      Small survey of a few flash datasheets I have lying around:
      
        Chip         Size (MB)   Max chip erase (seconds)
        ----         --------    ------------------------
        w25q32fw     4           50
        w25q64cv     8           30
        w25q64fw     8           100
        w25q128fw    16          200
        s25fl128s    16          ~256
        s25fl256s    32          ~512
      
      From this data, it seems plenty sufficient to say we need to wait for
      40 seconds for each 2MB of flash.
      
      After this change, it might make some sense to decrease the timeout for
      everything else, as even the most extreme operations (single block
      erase?) shouldn't take more than a handful of seconds. But for safety,
      let's leave it as-is. It's only an error case, after all, so we don't
      exactly need to optimize it.
      Signed-off-by: default avatarFurquan Shaikh <furquan@google.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      09b6a377
    • Yao Yuan's avatar
      mtd: spi-nor: Add support for sst25wf040b · c887be71
      Yao Yuan authored
      It is a 512KiB flash with 4 KiB erase sectors.
      Signed-off-by: default avatarYuan Yao <yao.yuan@freescale.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      c887be71
    • Tom Englund's avatar
      pcmciamtd: Add id for PRETEC 4MB SRAM · 15c2bf2f
      Tom Englund authored
      The module pcmciamtd doesn't generate a mtd node for PRETEC 4MB SRAM
      cards without the id and hash added to pcmciamtd.c
      
      Tested on 3 different 4MB pretec sram cards.
      Signed-off-by: default avatarTom Englund <tomenglund26@gmail.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      15c2bf2f
    • Graham Moore's avatar
      mtd: nand: denali: max_banks calculation changed in revision 5.1 · 271707b1
      Graham Moore authored
      Read Denali hardware revision number and use it to
      calculate max_banks,  The encoding of max_banks changed
      in Denali revision 5.1.
      Signed-off-by: default avatarGraham Moore <grmoore@opensource.altera.com>
      [Brian: parentheses around macro arg]
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      271707b1
    • Enrico Jorns's avatar
      mtd: nand: denali: pass col argument to READID operation · 9c07d094
      Enrico Jorns authored
      A read id operation followed by 0x00 reads the device ID while
      a read id operation followed by 0x20 reads the possible ONFI identifier.
      
      As the READID function did not propagate the second id parameter but had
      a hard-coded call for 0x90 0x00, reading the ONFI identifier was not
      possible and thus chips werde not detected (tested with
      MT29F8G08ABABAWP)
      Signed-off-by: default avatarEnrico Jorns <ejo@pengutronix.de>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      9c07d094
    • fangwei's avatar
      jffs2: remove unneeded kfree · 16c863bb
      fangwei authored
      c->oobbuf hasn't been kmalloced in jffs2_dataflash_setup, so
      there is no need to free it.
      Signed-off-by: default avatarWei Fang <fangwei1@huawei.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      16c863bb
    • Brian Norris's avatar
      mtd: cmdlinepart: convert printk() to pr_*() · ecb43e0a
      Brian Norris authored
      This driver uses some custom macros for printing. Let's use the standard
      pr_fmt()/pr_{err,warn}().
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      ecb43e0a
    • Brian Norris's avatar
      mtd: cmdlinepart: allow small partitions · d855d23b
      Brian Norris authored
      I'm not sure why we have a PAGE_SIZE restriction on this partition
      parser.
      
      If we really wanted the restriction, I would expect it to be a
      restriction for *all* parsers, so we'd move it to the MTD core
      
      At any rate, while small partitions may not be useful (they'll often be
      smaller than the eraseblock size and therefore can only be used
      read-only), they still have use as a read-only partition.
      
      This restriction is especially annoying because it aborts the entire
      MTD's cmdline parsing, leaving it unpartitioned.
      
      So, let's kill the restriction and only check for zero-sized partitions,
      which I expect we don't want to allow.
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      d855d23b
    • Joachim Eastwood's avatar
      mtd: spi-nor: s25fl008k and s25fl016k supports dual/quad mode · adf508c3
      Joachim Eastwood authored
      s25fl016k can be found on Embedded Artists' LPC4357 Developer's Kit
      where is used in quad mode by the LPC4357 SPIFI controller.
      Signed-off-by: default avatarJoachim Eastwood <manabian@gmail.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      adf508c3
    • Johannes Thumshirn's avatar
      mtd: Destroy mtd_idr on module_exit · 35667b99
      Johannes Thumshirn authored
      Destroy mtd_idr on module_exit, reclaiming the allocated memory.
      
      This was detected by the following semantic patch (written by Luis Rodriguez
      <mcgrof@suse.com>)
      <SmPL>
      @ defines_module_init @
      declarer name module_init, module_exit;
      declarer name DEFINE_IDR;
      identifier init;
      @@
      
      module_init(init);
      
      @ defines_module_exit @
      identifier exit;
      @@
      
      module_exit(exit);
      
      @ declares_idr depends on defines_module_init && defines_module_exit @
      identifier idr;
      @@
      
      DEFINE_IDR(idr);
      
      @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
        idr_destroy(&idr);
        ...
      }
      
      @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
       +idr_destroy(&idr);
      }
      </SmPL>
      Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      35667b99
    • Robert Jarzmik's avatar
      mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal · e971affa
      Robert Jarzmik authored
      After the conversion of pxa architecture to common clock framework, the
      NAND clock can be disabled on driver exit.
      
      In this case, it happens that if the driver used the NAND and set the
      DFI arbitration bit, the next access to a static memory controller area,
      such as an ethernet card, will stall the system bus, and the core will
      be stalled forever.
      
      This is especially true on pxa31x SoCs, where the NDCR was augmented
      with a new bit to prevent this lockups by giving full ownership of the
      DFI arbiter to the SMC, in change SCr#6.
      
      Fix this by clearing the DFI arbritration bit in driver exit. This
      effectively prevents a lockup on zylonite when removing pxa3xx-nand
      module, and using ethernet afterwards.
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      e971affa
    • Luis de Bethencourt's avatar
      mtd: mxc_nand: Fix module autoload for OF platform driver · b33c35b1
      Luis de Bethencourt authored
      This platform driver has a OF device ID table but the OF module
      alias information is not created so module autoloading won't work.
      Signed-off-by: default avatarLuis de Bethencourt <luisbg@osg.samsung.com>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      b33c35b1
    • Peng Fan's avatar
      mtd: blktrans: fix multiplication overflow · 2ce401d5
      Peng Fan authored
      In drivers/mtd/mtd_blkdevs.c:
      406	set_capacity(gd, (new->size * tr->blksize) >> 9);
      The type of new->size is unsigned long and the type of tr->blksize is int,
      the result of 'new->size * tr->blksize' may exceed ULONG_MAX on 32bit
      machines.
      
      I use nand chip MT29F32G08CBADBWP which is 4GB and the parameters passed
      to kernel is 'mtdparts=gpmi-nand:-(user)', the whole nand chip will be
      treated as a 4GB mtd partition. new->size is 0x800000 and tr->blksize is
      0x200, 'new->size * tr->blksize' however is 0. This is what we do not want
      to see.
      
      Using type cast u64 to fix the multiplication overflow issue.
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      2ce401d5
  2. 28 Sep, 2015 6 commits
  3. 22 Sep, 2015 2 commits
  4. 21 Sep, 2015 2 commits
  5. 14 Sep, 2015 1 commit
  6. 12 Sep, 2015 12 commits
    • Linus Torvalds's avatar
      Linux 4.3-rc1 · 6ff33f39
      Linus Torvalds authored
      6ff33f39
    • Linus Torvalds's avatar
      Merge tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris · 6917b51d
      Linus Torvalds authored
      Pull CRIS updates from Jesper Nilsson:
       "Mostly removal of old cruft of which we can use a generic version, or
        fixes for code not commonly run in the cris port, but also additions
        to enable some good debug"
      
      * tag 'cris-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: (25 commits)
        CRISv10: delete unused lib/dmacopy.c
        CRISv10: delete unused lib/old_checksum.c
        CRIS: fix switch_mm() lockdep splat
        CRISv32: enable LOCKDEP_SUPPORT
        CRIS: add STACKTRACE_SUPPORT
        CRISv32: annotate irq enable in idle loop
        CRISv32: add support for irqflags tracing
        CRIS: UAPI: use generic types.h
        CRIS: UAPI: use generic shmbuf.h
        CRIS: UAPI: use generic msgbuf.h
        CRIS: UAPI: use generic socket.h
        CRIS: UAPI: use generic sembuf.h
        CRIS: UAPI: use generic sockios.h
        CRIS: UAPI: use generic auxvec.h
        CRIS: UAPI: use generic headers via Kbuild
        CRIS: UAPI: fix elf.h export
        CRIS: don't make asm/elf.h depend on asm/user.h
        CRIS: UAPI: fix ptrace.h
        CRISv32: Squash compile warnings for axisflashmap
        CRISv32: Add GPIO driver to the default configs
        ...
      6917b51d
    • Linus Torvalds's avatar
      blk: rq_data_dir() should not return a boolean · 10fbd36e
      Linus Torvalds authored
      rq_data_dir() returns either READ or WRITE (0 == READ, 1 == WRITE), not
      a boolean value.
      
      Now, admittedly the "!= 0" doesn't really change the value (0 stays as
      zero, 1 stays as one), but it's not only redundant, it confuses gcc, and
      causes gcc to warn about the construct
      
          switch (rq_data_dir(req)) {
              case READ:
                  ...
              case WRITE:
                  ...
      
      that we have in a few drivers.
      
      Now, the gcc warning is silly and stupid (it seems to warn not about the
      switch value having a different type from the case statements, but about
      _any_ boolean switch value), but in this case the code itself is silly
      and stupid too, so let's just change it, and get rid of warnings like
      this:
      
        drivers/block/hd.c: In function ‘hd_request’:
        drivers/block/hd.c:630:11: warning: switch condition has boolean value [-Wswitch-bool]
           switch (rq_data_dir(req)) {
      
      The odd '!= 0' came in when "cmd_flags" got turned into a "u64" in
      commit 5953316d ("block: make rq->cmd_flags be 64-bit") and is
      presumably because the old code (that just did a logical 'and' with 1)
      would then end up making the type of rq_data_dir() be u64 too.
      
      But if we want to retain the old regular integer type, let's just cast
      the result to 'int' rather than use that rather odd '!= 0'.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      10fbd36e
    • Linus Torvalds's avatar
      Merge branch 'writeback-plugging' · e1df8b0a
      Linus Torvalds authored
      Fix up the writeback plugging introduced in commit d353d758
      ("writeback: plug writeback at a high level") that then caused problems
      due to the unplug happening with a spinlock held.
      
      * writeback-plugging:
        writeback: plug writeback in wb_writeback() and writeback_inodes_wb()
        Revert "writeback: plug writeback at a high level"
      e1df8b0a
    • Linus Torvalds's avatar
      writeback: plug writeback in wb_writeback() and writeback_inodes_wb() · 505a666e
      Linus Torvalds authored
      We had to revert the pluggin in writeback_sb_inodes() because the
      wb->list_lock is held, but we could easily plug at a higher level before
      taking that lock, and unplug after releasing it.  This does that.
      
      Chris will run performance numbers, just to verify that this approach is
      comparable to the alternative (we could just drop and re-take the lock
      around the blk_finish_plug() rather than these two commits.
      
      I'd have preferred waiting for actual performance numbers before picking
      one approach over the other, but I don't want to release rc1 with the
      known "sleeping function called from invalid context" issue, so I'll
      pick this cleanup version for now.  But if the numbers show that we
      really want to plug just at the writeback_sb_inodes() level, and we
      should just play ugly games with the spinlock, we'll switch to that.
      
      Cc: Chris Mason <clm@fb.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Neil Brown <neilb@suse.de>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      505a666e
    • Linus Torvalds's avatar
      thermal: fix intel PCH thermal driver mismerge · dfb22fc5
      Linus Torvalds authored
      I didn't notice this when merging the thermal code from Zhang, but his
      merge (commit 5a924a07: "Merge branches 'thermal-core' and
      'thermal-intel' of .git into next") of the thermal-core and
      thermal-intel branches was wrong.
      
      In thermal-core, commit 17e8351a ("thermal: consistently use int for
      temperatures") converted the thermal layer to use "int" for
      temperatures.
      
      But in parallel, in the thermal-intel branch commit d0a12625
      ("thermal: Add Intel PCH thermal driver") added support for the intel
      PCH thermal sensor using the old interfaces that used "unsigned long"
      pointers.
      
      This resulted in warnings like this:
      
        drivers/thermal/intel_pch_thermal.c:184:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
          .get_temp = pch_thermal_get_temp,
                      ^
        drivers/thermal/intel_pch_thermal.c:184:14: note: (near initialization for ‘tzd_ops.get_temp’)
        drivers/thermal/intel_pch_thermal.c:186:19: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
          .get_trip_temp = pch_get_trip_temp,
                           ^
        drivers/thermal/intel_pch_thermal.c:186:19: note: (near initialization for ‘tzd_ops.get_trip_temp’)
      
      This fixes it.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dfb22fc5
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 01b0c014
      Linus Torvalds authored
      Merge fourth patch-bomb from Andrew Morton:
      
       - sys_membarier syscall
      
       - seq_file interface changes
      
       - a few misc fixups
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        revert "ocfs2/dlm: use list_for_each_entry instead of list_for_each"
        mm/early_ioremap: add explicit #include of asm/early_ioremap.h
        fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void
        selftests: enhance membarrier syscall test
        selftests: add membarrier syscall test
        sys_membarrier(): system-wide memory barrier (generic, x86)
        MODSIGN: fix a compilation warning in extract-cert
      01b0c014
    • Vineet Gupta's avatar
      ARCv2: [axs103_smp] Reduce clk for SMP FPGA configs · 3ebb0540
      Vineet Gupta authored
      Newer bitfiles needs the reduced clk even for SMP builds
      
      Cc: <stable@vger.kernel.org>  #4.2
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3ebb0540
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.3' of git://github.com/jonmason/ntb · ded0e250
      Linus Torvalds authored
      Pull NTB fixes from Jon Mason:
       "NTB bug and documentation fixes, new device IDs, performance
        improvements, and adding a mailing list to MAINTAINERS for NTB"
      
      * tag 'ntb-4.3' of git://github.com/jonmason/ntb:
        NTB: Fix range check on memory window index
        NTB: Improve index handling in B2B MW workaround
        NTB: Fix documentation for ntb_peer_db_clear.
        NTB: Fix documentation for ntb_link_is_up
        NTB: Use unique DMA channels for TX and RX
        NTB: Remove dma_sync_wait from ntb_async_rx
        NTB: Clean up QP stats info
        NTB: Make the transport list in order of discovery
        NTB: Add PCI Device IDs for Broadwell Xeon
        NTB: Add flow control to the ntb_netdev
        NTB: Add list to MAINTAINERS
      ded0e250
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · f0c032d8
      Linus Torvalds authored
      Pull more input updates from Dmitry Torokhov:
       "Second round of updates for the input subsystem.
      
        This introduces two brand new touchscreen drivers (Colibri and
        imx6ul_tsc), some small driver fixes, and we are no longer report
        errors from evdev_flush() as users do not really have a way of
        handling errors, error codes that we were returning were not on the
        list of errors supposed to be returned by close(), and errors were
        causing issues with one of older versions of systemd"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: imx_keypad - remove obsolete comment
        Input: touchscreen - add imx6ul_tsc driver support
        Input: Add touchscreen support for Colibri VF50
        Input: i8042 - lower log level for "no controller" message
        Input: evdev - do not report errors form flush()
        Input: elants_i2c - extend the calibration timeout to 12 seconds
        Input: sparcspkr - fix module autoload for OF platform drivers
        Input: regulator-haptic - fix module autoload for OF platform driver
        Input: pwm-beeper - fix module autoload for OF platform driver
        Input: ab8500-ponkey - Fix module autoload for OF platform driver
        Input: cyttsp - remove unnecessary MODULE_ALIAS()
        Input: elan_i2c - add ACPI ID "ELAN1000"
      f0c032d8
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fa9a67ef
      Linus Torvalds authored
      Pull more power management and ACPI updates from Rafael Wysocki:
       "These are mostly fixes and cleanups on top of the previous PM+ACPI
        pull request (cpufreq core and drivers, cpuidle, generic power domains
        framework).  Some of them didn't make to that pull request and some
        fix issues introduced by it.
      
        The only really new thing is the support for suspend frequency in the
        cpufreq-dt driver, but it is needed to fix an issue with Exynos
        platforms.
      
        Specifics:
      
         - build fix for the new Mediatek MT8173 cpufreq driver (Guenter
           Roeck).
      
         - generic power domains framework fixes (power on error code path,
           subdomain removal) and cleanup of a deprecated API user (Geert
           Uytterhoeven, Jon Hunter, Ulf Hansson).
      
         - cpufreq-dt driver fixes including two fixes for bugs related to the
           new Operating Performance Points Device Tree bindings introduced
           recently (Viresh Kumar).
      
         - suspend frequency support for the cpufreq-dt driver (Bartlomiej
           Zolnierkiewicz, Viresh Kumar).
      
         - cpufreq core cleanups (Viresh Kumar).
      
         - intel_pstate driver fixes (Chen Yu, Kristen Carlson Accardi).
      
         - additional sanity check in the cpuidle core (Xunlei Pang).
      
         - fix for a comment related to CPU power management (Lina Iyer)"
      
      * tag 'pm+acpi-4.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        intel_pstate: fix PCT_TO_HWP macro
        intel_pstate: Fix user input of min/max to legal policy region
        PM / OPP: Return suspend_opp only if it is enabled
        cpufreq-dt: add suspend frequency support
        cpufreq: allow cpufreq_generic_suspend() to work without suspend frequency
        PM / OPP: add dev_pm_opp_get_suspend_opp() helper
        staging: board: Migrate away from __pm_genpd_name_add_device()
        cpufreq: Use __func__ to print function's name
        cpufreq: staticize cpufreq_cpu_get_raw()
        PM / Domains: Ensure subdomain is not in use before removing
        cpufreq: Add ARM_MT8173_CPUFREQ dependency on THERMAL
        cpuidle/coupled: Add sanity check for safe_state_index
        PM / Domains: Try power off masters in error path of __pm_genpd_poweron()
        cpufreq: dt: Tolerance applies on both sides of target voltage
        cpufreq: dt: Print error on failing to mark OPPs as shared
        cpufreq: dt: Check OPP count before marking them shared
        kernel/cpu_pm: fix cpu_cluster_pm_exit comment
      fa9a67ef
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 05c78081
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "Here are the outstanding target-pending updates for v4.3-rc1.
      
        Mostly bug-fixes and minor changes this round.  The fallout from the
        big v4.2-rc1 RCU conversion have (thus far) been minimal.
      
        The highlights this round include:
      
         - Move sense handling routines into scsi_common code (Sagi)
      
         - Return ABORTED_COMMAND sense key for PI errors (Sagi)
      
         - Add tpg_enabled_sendtargets attribute for disabled iscsi-target
           discovery (David)
      
         - Shrink target struct se_cmd by rearranging fields (Roland)
      
         - Drop iSCSI use of mutex around max_cmd_sn increment (Roland)
      
         - Replace iSCSI __kernel_sockaddr_storage with sockaddr_storage (Andy +
           Chris)
      
         - Honor fabric max_data_sg_nents I/O transfer limit (Arun + Himanshu +
           nab)
      
         - Fix EXTENDED_COPY >= v4.1 regression OOPsen (Alex + nab)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (37 commits)
        target: use stringify.h instead of own definition
        target/user: Fix UFLAG_UNKNOWN_OP handling
        target: Remove no-op conditional
        target/user: Remove unused variable
        target: Fix max_cmd_sn increment w/o cmdsn mutex regressions
        target: Attach EXTENDED_COPY local I/O descriptors to xcopy_pt_sess
        target/qla2xxx: Honor max_data_sg_nents I/O transfer limit
        target/iscsi: Replace __kernel_sockaddr_storage with sockaddr_storage
        target/iscsi: Replace conn->login_ip with login_sockaddr
        target/iscsi: Keep local_ip as the actual sockaddr
        target/iscsi: Fix np_ip bracket issue by removing np_ip
        target: Drop iSCSI use of mutex around max_cmd_sn increment
        qla2xxx: Update tcm_qla2xxx module description to 24xx+
        iscsi-target: Add tpg_enabled_sendtargets for disabled discovery
        drivers: target: Drop unlikely before IS_ERR(_OR_NULL)
        target: check DPO/FUA usage for COMPARE AND WRITE
        target: Shrink struct se_cmd by rearranging fields
        target: Remove cmd->se_ordered_id (unused except debug log lines)
        target: add support for START_STOP_UNIT SCSI opcode
        target: improve unsupported opcode message
        ...
      05c78081