Merge tag 'mtd/for-4.17' of git://git.infradead.org/linux-mtd
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 19:15:41 +0000 (12:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Apr 2018 19:15:41 +0000 (12:15 -0700)
Pull MTD updates from Boris Brezillon:
 "MTD Core:
   - Remove support for asynchronous erase (not implemented by any of
     the existing drivers anyway)
   - Remove Cyrille from the list of SPI NOR and MTD maintainers
   - Fix kernel doc headers
   - Allow users to define the partitions parsers they want to test
     through a DT property (compatible of the partitions subnode)
   - Remove the bfin-async-flash driver (the only architecture using it
     has been removed)
   - Fix pagetest test
   - Add extra checks in mtd_erase()
   - Simplify the MTD partition creation logic and get rid of
     mtd_add_device_partitions()

  MTD Drivers:
   - Add endianness information to the physmap DT binding
   - Add Eon EN29LV400A IDs to JEDEC probe logic
   - Use %*ph where appropriate

  SPI NOR Drivers:
   - Make fsl-quaspi assign different names to MTD devices connected to
     the same QSPI controller
   - Remove an unneeded driver.bus assigned in the fsl-qspi driver

  NAND Core:
   - Prepare arrival of the SPI NAND subsystem by implementing a generic
     (interface-agnostic) layer to ease manipulation of NAND devices
   - Move onenand code base to the drivers/mtd/nand/ dir
   - Rework timing mode selection
   - Provide a generic way for NAND chip drivers to flag a specific
     GET/SET FEATURE operation as supported/unsupported
   - Stop embedding ONFI/JEDEC param page in nand_chip

  NAND Drivers:
   - Rework/cleanup of the mxc driver
   - Various cleanups in the vf610 driver
   - Migrate the fsmc and vf610 to ->exec_op()
   - Get rid of the pxa driver (replaced by marvell_nand)
   - Support ->setup_data_interface() in the GPMI driver
   - Fix probe error path in several drivers
   - Remove support for unused hw_syndrome mode in sunxi_nand
   - Various minor improvements"

* tag 'mtd/for-4.17' of git://git.infradead.org/linux-mtd: (89 commits)
  dt-bindings: fsl-quadspi: Add the example of two SPI NOR
  mtd: fsl-quadspi: Distinguish the mtd device names
  mtd: nand: Fix some function description mismatches in core.c
  mtd: fsl-quadspi: Remove unneeded driver.bus assignment
  mtd: rawnand: marvell: Rename ->ecc_clk into ->core_clk
  mtd: rawnand: s3c2410: enhance the probe function error path
  mtd: rawnand: tango: fix probe function error path
  mtd: rawnand: sh_flctl: fix the probe function error path
  mtd: rawnand: omap2: fix the probe function error path
  mtd: rawnand: mxc: fix probe function error path
  mtd: rawnand: denali: fix probe function error path
  mtd: rawnand: davinci: fix probe function error path
  mtd: rawnand: cafe: fix probe function error path
  mtd: rawnand: brcmnand: fix probe function error path
  mtd: rawnand: sunxi: Stop supporting ECC_HW_SYNDROME mode
  mtd: rawnand: marvell: Fix clock resource by adding a register clock
  mtd: ftl: Use DIV_ROUND_UP()
  mtd: Fix some function description mismatches in mtdcore.c
  mtd: physmap_of: update struct map_info's swap as per map requirement
  dt-bindings: mtd-physmap: Add endianness supports
  ...

1  2 
.mailmap
Documentation/driver-api/gpio/drivers-on-gpio.rst
MAINTAINERS
drivers/mtd/chips/jedec_probe.c
drivers/mtd/mtdchar.c
drivers/mtd/nand/raw/atmel/pmecc.c
drivers/mtd/nand/raw/fsl_ifc_nand.c
drivers/staging/mt29f_spinand/mt29f_spinand.c

diff --cc .mailmap
Simple merge
index 0194838,0000000..7da0c1d
mode 100644,000000..100644
--- /dev/null
@@@ -1,97 -1,0 +1,97 @@@
- - gpio-nand: drivers/mtd/nand/gpio.c is used to connect a NAND flash chip to
-   a set of simple GPIO lines: RDY, NCE, ALE, CLE, NWP. It interacts with the
 +============================
 +Subsystem drivers using GPIO
 +============================
 +
 +Note that standard kernel drivers exist for common GPIO tasks and will provide
 +the right in-kernel and userspace APIs/ABIs for the job, and that these
 +drivers can quite easily interconnect with other kernel subsystems using
 +hardware descriptions such as device tree or ACPI:
 +
 +- leds-gpio: drivers/leds/leds-gpio.c will handle LEDs connected to  GPIO
 +  lines, giving you the LED sysfs interface
 +
 +- ledtrig-gpio: drivers/leds/trigger/ledtrig-gpio.c will provide a LED trigger,
 +  i.e. a LED will turn on/off in response to a GPIO line going high or low
 +  (and that LED may in turn use the leds-gpio as per above).
 +
 +- gpio-keys: drivers/input/keyboard/gpio_keys.c is used when your GPIO line
 +  can generate interrupts in response to a key press. Also supports debounce.
 +
 +- gpio-keys-polled: drivers/input/keyboard/gpio_keys_polled.c is used when your
 +  GPIO line cannot generate interrupts, so it needs to be periodically polled
 +  by a timer.
 +
 +- gpio_mouse: drivers/input/mouse/gpio_mouse.c is used to provide a mouse with
 +  up to three buttons by simply using GPIOs and no mouse port. You can cut the
 +  mouse cable and connect the wires to GPIO lines or solder a mouse connector
 +  to the lines for a more permanent solution of this type.
 +
 +- gpio-beeper: drivers/input/misc/gpio-beeper.c is used to provide a beep from
 +  an external speaker connected to a GPIO line.
 +
 +- extcon-gpio: drivers/extcon/extcon-gpio.c is used when you need to read an
 +  external connector status, such as a headset line for an audio driver or an
 +  HDMI connector. It will provide a better userspace sysfs interface than GPIO.
 +
 +- restart-gpio: drivers/power/reset/gpio-restart.c is used to restart/reboot
 +  the system by pulling a GPIO line and will register a restart handler so
 +  userspace can issue the right system call to restart the system.
 +
 +- poweroff-gpio: drivers/power/reset/gpio-poweroff.c is used to power the
 +  system down by pulling a GPIO line and will register a pm_power_off()
 +  callback so that userspace can issue the right system call to power down the
 +  system.
 +
 +- gpio-gate-clock: drivers/clk/clk-gpio.c is used to control a gated clock
 +  (off/on) that uses a GPIO, and integrated with the clock subsystem.
 +
 +- i2c-gpio: drivers/i2c/busses/i2c-gpio.c is used to drive an I2C bus
 +  (two wires, SDA and SCL lines) by hammering (bitbang) two GPIO lines. It will
 +  appear as any other I2C bus to the system and makes it possible to connect
 +  drivers for the I2C devices on the bus like any other I2C bus driver.
 +
 +- spi_gpio: drivers/spi/spi-gpio.c is used to drive an SPI bus (variable number
 +  of wires, at least SCK and optionally MISO, MOSI and chip select lines) using
 +  GPIO hammering (bitbang). It will appear as any other SPI bus on the system
 +  and makes it possible to connect drivers for SPI devices on the bus like
 +  any other SPI bus driver. For example any MMC/SD card can then be connected
 +  to this SPI by using the mmc_spi host from the MMC/SD card subsystem.
 +
 +- w1-gpio: drivers/w1/masters/w1-gpio.c is used to drive a one-wire bus using
 +  a GPIO line, integrating with the W1 subsystem and handling devices on
 +  the bus like any other W1 device.
 +
 +- gpio-fan: drivers/hwmon/gpio-fan.c is used to control a fan for cooling the
 +  system, connected to a GPIO line (and optionally a GPIO alarm line),
 +  presenting all the right in-kernel and sysfs interfaces to make your system
 +  not overheat.
 +
 +- gpio-regulator: drivers/regulator/gpio-regulator.c is used to control a
 +  regulator providing a certain voltage by pulling a GPIO line, integrating
 +  with the regulator subsystem and giving you all the right interfaces.
 +
 +- gpio-wdt: drivers/watchdog/gpio_wdt.c is used to provide a watchdog timer
 +  that will periodically "ping" a hardware connected to a GPIO line by toggling
 +  it from 1-to-0-to-1. If that hardware does not receive its "ping"
 +  periodically, it will reset the system.
 +
++- gpio-nand: drivers/mtd/nand/raw/gpio.c is used to connect a NAND flash chip
++  to a set of simple GPIO lines: RDY, NCE, ALE, CLE, NWP. It interacts with the
 +  NAND flash MTD subsystem and provides chip access and partition parsing like
 +  any other NAND driving hardware.
 +
 +- ps2-gpio: drivers/input/serio/ps2-gpio.c is used to drive a PS/2 (IBM) serio
 +  bus, data and clock line, by bit banging two GPIO lines. It will appear as
 +  any other serio bus to the system and makes it possible to connect drivers
 +  for e.g. keyboards and other PS/2 protocol based devices.
 +
 +Apart from this there are special GPIO drivers in subsystems like MMC/SD to
 +read card detect and write protect GPIO lines, and in the TTY serial subsystem
 +to emulate MCTRL (modem control) signals CTS/RTS by using two GPIO lines. The
 +MTD NOR flash has add-ons for extra GPIO lines too, though the address bus is
 +usually connected directly to the flash.
 +
 +Use those instead of talking directly to the GPIOs using sysfs; they integrate
 +with kernel frameworks better than your userspace code could. Needless to say,
 +just using the appropriate kernel drivers will simplify and speed up your
 +embedded hacking in particular by providing ready-made components.
diff --cc MAINTAINERS
@@@ -4091,10 -4116,10 +4091,10 @@@ DENALI NAND DRIVE
  M:    Masahiro Yamada <yamada.masahiro@socionext.com>
  L:    linux-mtd@lists.infradead.org
  S:    Supported
- F:    drivers/mtd/nand/denali*
+ F:    drivers/mtd/nand/raw/denali*
  
  DESIGNWARE USB2 DRD IP DRIVER
 -M:    John Youn <johnyoun@synopsys.com>
 +M:    Minas Harutyunyan <hminas@synopsys.com>
  L:    linux-usb@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  S:    Maintained
Simple merge
Simple merge
Simple merge
Simple merge