linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] Char/Misc driver patches for 4.12-rc1
@ 2017-05-05  0:18 Greg KH
  2017-05-05  2:28 ` Linus Torvalds
  0 siblings, 1 reply; 12+ messages in thread
From: Greg KH @ 2017-05-05  0:18 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Arnd Bergmann; +Cc: linux-kernel

The following changes since commit c02ed2e75ef4c74e41e421acb4ef1494671585e8:

  Linux 4.11-rc4 (2017-03-26 14:15:16 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/ tags/char-misc-4.12-rc1

for you to fetch changes up to 2a76f89fa58c769241cfc21f2614705591519ae3:

  firmware: google memconsole: Fix return value check in platform_memconsole_init() (2017-04-26 22:54:54 +0200)

----------------------------------------------------------------
char/misc patches for 4.12-rc1

Here is the big set of new char/misc driver drivers and features for
4.12-rc1.

There's lots of new drivers added this time around, new firmware drivers
from Google, more auxdisplay drivers, extcon drivers, fpga drivers, and
a bunch of other driver updates.  Nothing major, except if you happen to
have the hardware for these drivers, and then you will be happy :)

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

----------------------------------------------------------------
Aban Bedel (1):
      nvmem: core: Allow allocating several anonymous nvmem devices

Alan Tull (2):
      fpga: add config complete timeout
      MAINTAINERS: fpga: update email and directory paths

Alexander Usyskin (2):
      mei: drop amthif internal client
      mei: implement fsync

Anatolij Gustschin (2):
      dt: bindings: fpga: add xilinx slave-serial binding description
      fpga manager: Add Xilinx slave serial SPI driver

Andrew F. Davis (2):
      w1: Use kernel common min() implementation
      w1: Remove unneeded use of assert() and remove w1_log.h

Andy Shevchenko (3):
      Revert "extcon: usb-gpio: add support for ACPI gpio interface"
      auxdisplay: Move panel.c to drivers/auxdisplay folder
      auxdisplay: Move arm-charlcd.c to drivers/auxdisplay folder

Arnd Bergmann (4):
      drivers/misc: aspeed-lpc-ctrl: fix printk format warning again
      aspeed-lpc-ctrl: include linux/types.h for uapi header
      auxdisplay: ht16k33: don't access uninitialized data
      lkdtm: turn off kcov for lkdtm_rodata_do_nothing:

Chanwoo Choi (4):
      extcon: Add new extcon_register_notifier_all() to monitor all external connectors
      Merge branch 'ib-extcon-4.12' into HEAD
      extcon: Remove porting compatibility of swich class
      extcon: Use BIT() macro for the left-shift operation

Charles Keepax (1):
      extcon: arizona: Wait for any running HPDETs to complete on jack removal

Cyril Bur (2):
      drivers/misc: Add Aspeed LPC control driver
      drivers/misc: Aspeed LPC control fix compile error and warning

Dan Williams (1):
      device-dax: fix cdev leak

Dinh Nguyen (1):
      fpga: fix sparse warnings in fpga-mgr and fpga-bridge

Dmitry Torokhov (3):
      rapidio: use is_visible() to hide switch-specific attributes
      zorro: stop creating attributes by hand
      auxdisplay: ht16k33: use le16_to_cpup() to fetch LE16 data

Elena Reshetova (2):
      drivers, char: convert vma_data.refcnt from atomic_t to refcount_t
      drivers, firewire: convert fw_node.ref_count from atomic_t to refcount_t

Florian Fainelli (2):
      FPGA: Add TS-7300 FPGA manager
      ARM: ep93xx: Register ts73xx-fpga manager driver for TS-7300

Geert Uytterhoeven (7):
      auxdisplay: charlcd: Extract character LCD core from misc/panel
      auxdisplay: charlcd: Add support for 4-bit interfaces
      auxdisplay: charlcd: Add support for displays with more than two lines
      dt-bindings: auxdisplay: Add bindings for Hitachi HD44780
      auxdisplay: Add HD44780 Character LCD support
      MAINTAINERS: Add file patterns for fpga device tree bindings
      auxdisplay: hd44780: Fix DT properties to include units of measurement

Greg Kroah-Hartman (3):
      Merge 4.11-rc4 into char-misc-next
      Merge tag 'extcon-next-for-4.12' of git://git.kernel.org/.../chanwoo/extcon into char-misc-next
      goldfish_pipe: fix build warning about using too much stack.

Hans de Goede (3):
      extcon: intel-cht-wc: Add Intel Cherry Trail Whiskey Cove PMIC extcon driver
      extcon: intel-cht-wc: Disable external 5v boost converter on probe
      extcon: intel-cht-wc: Ignore failure to detect charger-type on host mode exit

Icenowy Zheng (2):
      nvmem: sunxi-sid: read NVMEM size from device compatible
      nvmem: sunxi-sid: add support for H3's SID controller

Jason Gunthorpe (1):
      IB/ucm: utilize new cdev_device_add helper function

Javier Martinez Canillas (4):
      auxdisplay: img-ascii-lcd: Fix module autoload
      misc: tsl2550: Add OF device ID table
      misc: ds1682: Add OF device ID table
      eeprom: idt_89hpesx: Add OF device ID table

Jin Qian (1):
      goldfish_pipe: An implementation of more parallel pipe

Joe Perches (1):
      drivers/char: Convert remaining use of pr_warning to pr_warn

Joel Holdsworth (2):
      Documentation: Add binding document for Lattice iCE40 FPGA manager
      fpga: Add support for Lattice iCE40 FPGAs

Julius Werner (1):
      firmware: Add coreboot device tree binding documentation

K. Y. Srinivasan (3):
      Drivers: hv: Fix a typo
      Drivers: hv: Base autoeoi enablement based on hypervisor hints
      Drivers: hv: Issue explicit EOI when autoeoi is not enabled

Kees Cook (1):
      lkdtm: add bad USER_DS test

Logan Gunthorpe (13):
      chardev: add helper function to register char devs with a struct device
      device-dax: utilize new cdev_device_add helper function
      input: utilize new cdev_device_add helper function
      gpiolib: utilize new cdev_device_add helper function
      tpm-chip: utilize new cdev_device_add helper function
      platform/chrome: cros_ec_dev - utilize new cdev_device_add helper function
      infiniband: utilize the new cdev_set_parent function
      iio:core: utilize new cdev_device_add helper function
      media: utilize new cdev_device_add helper function
      mtd: utilize new cdev_device_add helper function
      rapidio: utilize new cdev_device_add helper function
      rtc: utilize new cdev_device_add helper function
      scsi: utilize new cdev_device_add helper function

Mariusz Bialonczyk (4):
      w1: add missing DS2413 documentation
      w1: add support for DS2438 Smart Battery Monitor
      w1: add documentation for w1_ds2438
      w1: w1_ds2760.h: fix defines indentation

Martyn Welch (2):
      docs: Add kernel-doc comments to VME driver API
      docs: Update VME documentation to include kerneldoc comments

Matt Ranostay (2):
      pps: add ioctl_compat function to correct ioctl definitions
      pps: fix padding issue with PPS_FETCH for ioctl_compat

Matthew Gerlach (4):
      fpga pr ip: Core driver support for Altera Partial Reconfiguration IP.
      fpga dt: bindings for Altera Partial Reconfiguration IP.
      fpga pr ip: Platform driver for Altera Partial Reconfiguration IP.
      fpga fr br: update supported version numbers

Matthias Kaehlcke (1):
      hpet: Make cmd parameter of hpet_ioctl_common() unsigned

Maxime Ripard (1):
      MAINTAINERS: nvmem: Remove myself from maintainers

Michael Davidson (1):
      misc: lkdtm: Add volatile to intentional NULL pointer reference

Michael Grzeschik (1):
      nvmem: Add driver for the i.MX IIM

Michal Sojka (3):
      uio: Allow handling of non page-aligned memory regions
      uio_mf624: Refactor memory info initialization
      uio_mf624: Align memory regions to page size and set correct offsets

Mike Leach (1):
      coresight: Fixes coresight DT parse to get correct output port ID.

Ming Lei (1):
      MAINTAINERS: update firmware loader entry

Moritz Fischer (6):
      fpga: Add flag to indicate bitstream needs decrypting
      fpga: zynq: Add support for encrypted bitstreams
      fpga: region: Add fpga-region property 'encrypted-fpga-config'
      fpga: bridge: Replace open-coded list_for_each + list_entry
      fpga: altera_freeze_bridge: Constify ops
      fpga: Add support for Xilinx LogiCORE PR Decoupler

Peng Fan (2):
      dt-bindings: imx-ocotp: add compatible string for i.MX7D/S
      nvmem: octop: Add i.MX7D support

Peter Chen (1):
      extcon: usb-gpio: Do not enable USB as wakeup source by default

Richard Leitner (3):
      nvmem: imx-ocotp: fix usage of "dev" pointers
      nvmem: imx-ocotp: clear error bit after reading locked values
      nvmem: imx-ocotp: add write support

Rob Herring (1):
      binder: Add 'hwbinder' to the default devices

Roger Quadros (2):
      extcon: usb-gpio: Don't miss event during suspend/resume
      extcon: palmas: Don't miss GPIO events during suspend/resume

Sascha Hauer (1):
      dt-bindings: nvmem: Add i.MX IIM binding doc

Saul Wold (1):
      ver_linux: Use /usr/bin/awk instead of /bin/awk

Shile Zhang (1):
      hangcheck-timer: Fix typo in comment

Stephen Hemminger (9):
      vmbus: only reschedule tasklet if time limit exceeded
      hyperv: fix warning about missing prototype
      vmbus: remove useless return's
      vmbus: remove unnecessary initialization
      vmbus: fix spelling errors
      hyperv: remove unnecessary return variable
      vmbus: make channel_message table constant
      vmbus: cleanup header file style
      vmbus: expose debug info for drivers

Thierry Escande (4):
      firmware: google memconsole: Remove useless submenu in Kconfig
      firmware: google memconsole: Move specific EBDA parts
      firmware: google memconsole: Add coreboot support
      firmware: google memconsole: Add ARM/ARM64 support

Tobias Klauser (2):
      fpga altera-hps2fpga: disable/unprepare clock on error in alt_fpga_bridge_probe()
      fpga: region: release FPGA region reference in error path

Tomas Winkler (4):
      mei: add pci driver ops shutdown handler.
      mei: hbm: remove variable length arrays
      mei: bus: elminate variable length arrays
      mei: drop the TODO from samples

Varsha Rao (4):
      drivers: char: misc: Replace "foo * bar" with "foo *bar".
      drivers: char: misc: Add space after ','.
      drivers: char: misc: Add blank line after declaration.
      drivers: char: misc: Replace printk with pr_err.

Wei Yongjun (2):
      firmware: Google VPD: Fix return value check in vpd_platform_init()
      firmware: google memconsole: Fix return value check in platform_memconsole_init()

Wei-Ning Huang (2):
      firmware: Google VPD: import lib_vpd source files
      firmware: Google VPD sysfs driver

 Documentation/DocBook/rapidio.tmpl                 |   3 -
 .../devicetree/bindings/auxdisplay/hit,hd44780.txt |  45 +
 .../devicetree/bindings/firmware/coreboot.txt      |  33 +
 .../devicetree/bindings/fpga/altera-pr-ip.txt      |  12 +
 .../devicetree/bindings/fpga/fpga-region.txt       |   1 +
 .../bindings/fpga/lattice-ice40-fpga-mgr.txt       |  21 +
 .../bindings/fpga/xilinx-slave-serial.txt          |  44 +
 .../bindings/nvmem/allwinner,sunxi-sid.txt         |   6 +-
 .../devicetree/bindings/nvmem/imx-iim.txt          |  22 +
 .../devicetree/bindings/nvmem/imx-ocotp.txt        |   5 +
 Documentation/driver-api/vme.rst                   | 363 ++------
 Documentation/extcon/porting-android-switch-class  | 123 ---
 Documentation/w1/slaves/00-INDEX                   |   4 +
 Documentation/w1/slaves/w1_ds2413                  |  50 ++
 Documentation/w1/slaves/w1_ds2438                  |  63 ++
 MAINTAINERS                                        |   8 +-
 arch/arm/mach-ep93xx/ts72xx.c                      |  26 +
 arch/x86/hyperv/hv_init.c                          |   2 +-
 arch/x86/include/uapi/asm/hyperv.h                 |   7 +-
 arch/x86/kernel/cpu/mshyperv.c                     |   3 +
 drivers/android/Kconfig                            |   2 +-
 drivers/auxdisplay/Kconfig                         | 304 +++++++
 drivers/auxdisplay/Makefile                        |   4 +
 drivers/{misc => auxdisplay}/arm-charlcd.c         |   0
 drivers/auxdisplay/charlcd.c                       | 818 +++++++++++++++++
 drivers/auxdisplay/hd44780.c                       | 326 +++++++
 drivers/auxdisplay/ht16k33.c                       |  20 +-
 drivers/auxdisplay/img-ascii-lcd.c                 |   1 +
 drivers/{misc => auxdisplay}/panel.c               | 827 ++----------------
 drivers/char/hangcheck-timer.c                     |   2 +-
 drivers/char/hpet.c                                |   2 +-
 drivers/char/misc.c                                |  11 +-
 drivers/char/mspec.c                               |   9 +-
 drivers/char/tpm/tpm-chip.c                        |  19 +-
 drivers/char/virtio_console.c                      |   2 +-
 drivers/dax/dax.c                                  |  33 +-
 drivers/extcon/Kconfig                             |   7 +
 drivers/extcon/Makefile                            |   1 +
 drivers/extcon/devres.c                            |  61 ++
 drivers/extcon/extcon-arizona.c                    |  46 +
 drivers/extcon/extcon-intel-cht-wc.c               | 395 +++++++++
 drivers/extcon/extcon-palmas.c                     |   6 +
 drivers/extcon/extcon-usb-gpio.c                   |  10 +-
 drivers/extcon/extcon.c                            |  88 +-
 drivers/extcon/extcon.h                            |   3 +
 drivers/firewire/core-topology.c                   |   2 +-
 drivers/firewire/core.h                            |   8 +-
 drivers/firmware/google/Kconfig                    |  59 +-
 drivers/firmware/google/Makefile                   |  10 +-
 drivers/firmware/google/coreboot_table-acpi.c      |  88 ++
 drivers/firmware/google/coreboot_table-of.c        |  82 ++
 drivers/firmware/google/coreboot_table.c           |  94 ++
 drivers/firmware/google/coreboot_table.h           |  50 ++
 drivers/firmware/google/memconsole-coreboot.c      | 109 +++
 drivers/firmware/google/memconsole-x86-legacy.c    | 154 ++++
 drivers/firmware/google/memconsole.c               | 155 +---
 drivers/firmware/google/memconsole.h               |  43 +
 drivers/firmware/google/vpd.c                      | 332 +++++++
 drivers/firmware/google/vpd_decode.c               |  99 +++
 drivers/firmware/google/vpd_decode.h               |  58 ++
 drivers/fpga/Kconfig                               |  42 +
 drivers/fpga/Makefile                              |   6 +
 drivers/fpga/altera-freeze-bridge.c                |  32 +-
 drivers/fpga/altera-hps2fpga.c                     |  15 +-
 drivers/fpga/altera-pr-ip-core-plat.c              |  68 ++
 drivers/fpga/altera-pr-ip-core.c                   | 220 +++++
 drivers/fpga/fpga-bridge.c                         |  17 +-
 drivers/fpga/fpga-mgr.c                            |   2 +-
 drivers/fpga/fpga-region.c                         |  15 +-
 drivers/fpga/ice40-spi.c                           | 207 +++++
 drivers/fpga/ts73xx-fpga.c                         | 156 ++++
 drivers/fpga/xilinx-pr-decoupler.c                 | 161 ++++
 drivers/fpga/xilinx-spi.c                          | 198 +++++
 drivers/fpga/zynq-fpga.c                           |  28 +-
 drivers/gpio/gpiolib.c                             |  23 +-
 drivers/hv/channel.c                               |  10 +-
 drivers/hv/channel_mgmt.c                          |  48 +-
 drivers/hv/connection.c                            |  65 +-
 drivers/hv/hv.c                                    |   5 +-
 drivers/hv/hv_balloon.c                            |   2 -
 drivers/hv/hv_fcopy.c                              |   2 -
 drivers/hv/hv_kvp.c                                |  12 +-
 drivers/hv/hv_snapshot.c                           |   2 -
 drivers/hv/hyperv_vmbus.h                          |  29 +-
 drivers/hv/ring_buffer.c                           |  22 +-
 drivers/hv/vmbus_drv.c                             |   4 +-
 drivers/hwtracing/coresight/of_coresight.c         |   2 +-
 drivers/iio/industrialio-core.c                    |  15 +-
 drivers/infiniband/core/ucm.c                      |  35 +-
 drivers/infiniband/core/user_mad.c                 |   4 +-
 drivers/infiniband/core/uverbs_main.c              |   2 +-
 drivers/infiniband/hw/hfi1/device.c                |   2 +-
 drivers/input/evdev.c                              |  11 +-
 drivers/input/joydev.c                             |  11 +-
 drivers/input/mousedev.c                           |  11 +-
 drivers/media/cec/cec-core.c                       |  16 +-
 drivers/media/media-devnode.c                      |  20 +-
 drivers/misc/Kconfig                               | 293 +------
 drivers/misc/Makefile                              |   5 +-
 drivers/misc/aspeed-lpc-ctrl.c                     | 266 ++++++
 drivers/misc/ds1682.c                              |   7 +
 drivers/misc/eeprom/idt_89hpesx.c                  |  57 ++
 drivers/misc/lkdtm.h                               |   1 +
 drivers/misc/lkdtm_bugs.c                          |  13 +-
 drivers/misc/lkdtm_core.c                          |   1 +
 drivers/misc/mei/Makefile                          |   1 -
 drivers/misc/mei/amthif.c                          | 340 --------
 drivers/misc/mei/bus-fixup.c                       |   9 +-
 drivers/misc/mei/bus.c                             |   6 -
 drivers/misc/mei/client.c                          |  14 +-
 drivers/misc/mei/client.h                          |   5 -
 drivers/misc/mei/hbm.c                             |  29 +-
 drivers/misc/mei/init.c                            |  14 +-
 drivers/misc/mei/interrupt.c                       |  38 +-
 drivers/misc/mei/main.c                            | 125 +--
 drivers/misc/mei/mei_dev.h                         |  51 --
 drivers/misc/mei/pci-me.c                          |  31 +-
 drivers/misc/mei/pci-txe.c                         |  29 +-
 drivers/misc/tsl2550.c                             |   7 +
 drivers/mtd/ubi/build.c                            |  91 +-
 drivers/mtd/ubi/vmt.c                              |  49 +-
 drivers/nvmem/Kconfig                              |  11 +
 drivers/nvmem/Makefile                             |   2 +
 drivers/nvmem/core.c                               |   3 +-
 drivers/nvmem/imx-iim.c                            | 173 ++++
 drivers/nvmem/imx-ocotp.c                          | 254 +++++-
 drivers/nvmem/sunxi_sid.c                          |  89 +-
 drivers/platform/chrome/cros_ec_dev.c              |  31 +-
 drivers/platform/goldfish/goldfish_pipe.c          | 970 ++++++++++++++-------
 drivers/pps/pps.c                                  | 123 ++-
 drivers/rapidio/devices/rio_mport_cdev.c           |  24 +-
 drivers/rapidio/rio-sysfs.c                        |  76 +-
 drivers/rapidio/rio.c                              |   3 -
 drivers/rapidio/rio.h                              |   2 -
 drivers/rtc/class.c                                |  14 +-
 drivers/rtc/rtc-core.h                             |  10 -
 drivers/rtc/rtc-dev.c                              |  17 -
 drivers/scsi/osd/osd_uld.c                         |  56 +-
 drivers/uio/uio.c                                  |   2 +-
 drivers/uio/uio_mf624.c                            |  48 +-
 drivers/vme/vme.c                                  | 469 +++++++++-
 drivers/w1/masters/matrox_w1.c                     |   6 -
 drivers/w1/slaves/Kconfig                          |   6 +
 drivers/w1/slaves/Makefile                         |   1 +
 drivers/w1/slaves/w1_ds2438.c                      | 390 +++++++++
 drivers/w1/slaves/w1_ds2760.h                      |  10 +-
 drivers/w1/w1.c                                    |   1 -
 drivers/w1/w1_family.h                             |   1 +
 drivers/w1/w1_int.c                                |   1 -
 drivers/w1/w1_io.c                                 |   1 -
 drivers/w1/w1_log.h                                |  31 -
 drivers/w1/w1_netlink.c                            |   5 +-
 drivers/zorro/zorro-driver.c                       |  15 +-
 drivers/zorro/zorro-sysfs.c                        |  76 +-
 drivers/zorro/zorro.c                              |   3 -
 drivers/zorro/zorro.h                              |   3 +-
 fs/char_dev.c                                      |  86 ++
 include/linux/cdev.h                               |   5 +
 include/linux/extcon.h                             |  21 +-
 include/linux/fpga/altera-pr-ip-core.h             |  29 +
 include/linux/fpga/fpga-mgr.h                      |   4 +
 include/linux/hyperv.h                             |  31 +-
 include/linux/uio_driver.h                         |  13 +-
 include/linux/vme.h                                |  12 +-
 include/misc/charlcd.h                             |  42 +
 include/uapi/linux/aspeed-lpc-ctrl.h               |  61 ++
 include/uapi/linux/pps.h                           |  19 +
 samples/mei/TODO                                   |   2 -
 scripts/ver_linux                                  |   2 +-
 169 files changed, 8199 insertions(+), 3238 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/auxdisplay/hit,hd44780.txt
 create mode 100644 Documentation/devicetree/bindings/firmware/coreboot.txt
 create mode 100644 Documentation/devicetree/bindings/fpga/altera-pr-ip.txt
 create mode 100644 Documentation/devicetree/bindings/fpga/lattice-ice40-fpga-mgr.txt
 create mode 100644 Documentation/devicetree/bindings/fpga/xilinx-slave-serial.txt
 create mode 100644 Documentation/devicetree/bindings/nvmem/imx-iim.txt
 delete mode 100644 Documentation/extcon/porting-android-switch-class
 create mode 100644 Documentation/w1/slaves/w1_ds2413
 create mode 100644 Documentation/w1/slaves/w1_ds2438
 rename drivers/{misc => auxdisplay}/arm-charlcd.c (100%)
 create mode 100644 drivers/auxdisplay/charlcd.c
 create mode 100644 drivers/auxdisplay/hd44780.c
 rename drivers/{misc => auxdisplay}/panel.c (71%)
 create mode 100644 drivers/extcon/extcon-intel-cht-wc.c
 create mode 100644 drivers/firmware/google/coreboot_table-acpi.c
 create mode 100644 drivers/firmware/google/coreboot_table-of.c
 create mode 100644 drivers/firmware/google/coreboot_table.c
 create mode 100644 drivers/firmware/google/coreboot_table.h
 create mode 100644 drivers/firmware/google/memconsole-coreboot.c
 create mode 100644 drivers/firmware/google/memconsole-x86-legacy.c
 create mode 100644 drivers/firmware/google/memconsole.h
 create mode 100644 drivers/firmware/google/vpd.c
 create mode 100644 drivers/firmware/google/vpd_decode.c
 create mode 100644 drivers/firmware/google/vpd_decode.h
 create mode 100644 drivers/fpga/altera-pr-ip-core-plat.c
 create mode 100644 drivers/fpga/altera-pr-ip-core.c
 create mode 100644 drivers/fpga/ice40-spi.c
 create mode 100644 drivers/fpga/ts73xx-fpga.c
 create mode 100644 drivers/fpga/xilinx-pr-decoupler.c
 create mode 100644 drivers/fpga/xilinx-spi.c
 create mode 100644 drivers/misc/aspeed-lpc-ctrl.c
 delete mode 100644 drivers/misc/mei/amthif.c
 create mode 100644 drivers/nvmem/imx-iim.c
 create mode 100644 drivers/w1/slaves/w1_ds2438.c
 delete mode 100644 drivers/w1/w1_log.h
 create mode 100644 include/linux/fpga/altera-pr-ip-core.h
 create mode 100644 include/misc/charlcd.h
 create mode 100644 include/uapi/linux/aspeed-lpc-ctrl.h
 delete mode 100644 samples/mei/TODO

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05  0:18 [GIT PULL] Char/Misc driver patches for 4.12-rc1 Greg KH
@ 2017-05-05  2:28 ` Linus Torvalds
  2017-05-05 16:00   ` James Bottomley
  0 siblings, 1 reply; 12+ messages in thread
From: Linus Torvalds @ 2017-05-05  2:28 UTC (permalink / raw)
  To: Greg KH, James Bottomley, Jarkko Sakkinen
  Cc: Andrew Morton, Arnd Bergmann, Linux Kernel Mailing List

On Thu, May 4, 2017 at 5:18 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
>
> Here is the big set of new char/misc driver drivers and features for
> 4.12-rc1.

Ugh. I'm not particularly happy with the conflicts I got and my
resolutions there-of.

I did resolve them - in the case of drivers/scsi/osd/osd_uld.c as per
James' suggestion from his SCSI pull. Thanks.

But even that resolution I'm not entirely happy with: somebody should
check that it cleans up oud properly

But the one I'm really unhappy with is my tpm-chip.c resolution.

In particular, commit 8dbbf5825181 ("tpm-chip: utilize new
cdev_device_add helper function") made the tpm-chip code use that
cdev_device_add/del pattern for chip->[c]dev. Fine.

But then commit fdc915f7f719 ("tpm: expose spaces via a device link
/dev/tpmrm<n>") added the *exact* same old pattern to a new
"chip->[c]devs" (note the extra 's') and did so in a particularly ugly
way too.

James, why did you do that nasty

        if (chip->flags & TPM_CHIP_FLAG_TPM2)

*twice*, instead of just doing things properly inside *one* test?

Anyway, my merge resolution tries to just apply the same
cdev_device_add/del pattern to the new chip->[c]devs entries, because
not doing so seemed criminally ugly.

It compiles. It looks better than the mess it was. But it may not work.

James, Jarkko, you need to look at that tpm merge of mine. And James,
double-check my osd_uld thing too.

                 Linus

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05  2:28 ` Linus Torvalds
@ 2017-05-05 16:00   ` James Bottomley
  2017-05-05 16:33     ` Linus Torvalds
  2017-05-05 16:38     ` Greg KH
  0 siblings, 2 replies; 12+ messages in thread
From: James Bottomley @ 2017-05-05 16:00 UTC (permalink / raw)
  To: Linus Torvalds, Greg KH, Jarkko Sakkinen
  Cc: Andrew Morton, Arnd Bergmann, Linux Kernel Mailing List

On Thu, 2017-05-04 at 19:28 -0700, Linus Torvalds wrote:
> On Thu, May 4, 2017 at 5:18 PM, Greg KH <gregkh@linuxfoundation.org>
> wrote:
> > 
> > Here is the big set of new char/misc driver drivers and features 
> > for 4.12-rc1.
> 
> Ugh. I'm not particularly happy with the conflicts I got and my
> resolutions there-of.

Yes, we really should have done this via a postmerge tree.  We've had
so little cause to use them recently, I suspect everyone's forgotten
how.

> I did resolve them - in the case of drivers/scsi/osd/osd_uld.c as per
> James' suggestion from his SCSI pull. Thanks.
> 
> But even that resolution I'm not entirely happy with: somebody should
> check that it cleans up oud properly

It looks fine to me, but I'll ask the osd people (well person, since
it's very little used).

> But the one I'm really unhappy with is my tpm-chip.c resolution.
> 
> In particular, commit 8dbbf5825181 ("tpm-chip: utilize new
> cdev_device_add helper function") made the tpm-chip code use that
> cdev_device_add/del pattern for chip->[c]dev. Fine.
> 
> But then commit fdc915f7f719 ("tpm: expose spaces via a device link
> /dev/tpmrm<n>") added the *exact* same old pattern to a new
> "chip->[c]devs" (note the extra 's') and did so in a particularly
> ugly
> way too.
> 
> James, why did you do that nasty
> 
>         if (chip->flags & TPM_CHIP_FLAG_TPM2)
> 
> *twice*, instead of just doing things properly inside *one* test?
> 
> Anyway, my merge resolution tries to just apply the same
> cdev_device_add/del pattern to the new chip->[c]devs entries, because
> not doing so seemed criminally ugly.
> 
> It compiles. It looks better than the mess it was. But it may not
> work.
> 
> James, Jarkko, you need to look at that tpm merge of mine. And James,
> double-check my osd_uld thing too.

I'm not going to defend the earlier coding, but you've lost the real
device_add() calls in the merge, meaning the tpm devices don't actually
get made visible at all.  I suspect assuming device_add() is done by
cdev_device_add() because of the name is going to be our next anti
-pattern, so you're at least ahead of the game ...

I think the below is the correct fix, but we should really take it
through the TPM list (or at least give me time for some runtime
testing) because I suddenly think the error leg unwinding isn't correct
in the original, so I've redone that too.

James

---

diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index 322b8a51ffc6..867cef5ca9e5 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -272,24 +272,30 @@ EXPORT_SYMBOL_GPL(tpmm_chip_alloc);
 static int tpm_add_char_device(struct tpm_chip *chip)
 {
 	int rc;
+	const char *errstr;
+	struct device *errdev = &chip->dev;
 
 	rc = cdev_device_add(&chip->cdev, &chip->dev);
 	if (rc) {
-		dev_err(&chip->dev,
-			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
-			dev_name(&chip->dev), MAJOR(chip->dev.devt),
-			MINOR(chip->dev.devt), rc);
-		return rc;
+		errstr = "cdev_device_add for main device";
+		goto error1;
+	}
+	rc = device_add(&chip->dev);
+	if (rc) {
+		errstr = "device_add for main device";
+		goto error2;
 	}
-
 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
+		errdev = &chip->devs;
 		rc = cdev_device_add(&chip->cdevs, &chip->devs);
 		if (rc) {
-			dev_err(&chip->devs,
-				"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
-				dev_name(&chip->devs), MAJOR(chip->devs.devt),
-				MINOR(chip->devs.devt), rc);
-			return rc;
+			errstr = "cdev_device_add for rm device";
+			goto error3;
+		}
+		rc = device_add(&chip->devs);
+		if (rc) {
+			errstr = "device_add for rm device";
+			goto error4;
 		}
 	}
 
@@ -299,6 +305,19 @@ static int tpm_add_char_device(struct tpm_chip *chip)
 	mutex_unlock(&idr_lock);
 
 	return rc;
+
+ error4:
+	cdev_del(&chip->cdevs);
+ error3:
+	device_del(&chip->dev);
+ error2:
+	cdev_del(&chip->cdev);
+ error1:
+	dev_err(&chip->dev,
+		"Failed %s %s, major %d, minor %d, err=%d\n",
+		errstr, dev_name(errdev), MAJOR(errdev->devt),
+		MINOR(errdev->devt), rc);
+	return rc;
 }
 
 static void tpm_del_char_device(struct tpm_chip *chip)

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 16:00   ` James Bottomley
@ 2017-05-05 16:33     ` Linus Torvalds
  2017-05-05 16:49       ` James Bottomley
  2017-05-05 16:38     ` Greg KH
  1 sibling, 1 reply; 12+ messages in thread
From: Linus Torvalds @ 2017-05-05 16:33 UTC (permalink / raw)
  To: James Bottomley
  Cc: Greg KH, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Fri, May 5, 2017 at 9:00 AM, James Bottomley
<James.Bottomley@hansenpartnership.com> wrote:
>
> I'm not going to defend the earlier coding, but you've lost the real
> device_add() calls in the merge, meaning the tpm devices don't actually
> get made visible at all.  I suspect assuming device_add() is done by
> cdev_device_add() because of the name is going to be our next anti
> -pattern, so you're at least ahead of the game ...

Don't be silly. That's *exactly* what cdev_device_add() does.

That's the whole and only point of the whole function: it does *both*
the cdev_add() _and_ the device_add(), and it handles errors sanely
and unwinds things.

So removing the device_add() is what the code should do. It's also
exactly what the commit I pointed you at does (the one that clashed
with your addition of the new ":[c]devs" cases. Let me repeat:

  8dbbf5825181 tpm-chip: utilize new cdev_device_add helper function

So your patch looks like complete garbage, and I think you're confused
about what cdev_device_add() is.

I think you're confusing it with the nasty old "cdev_add()" function
that indeed didn't do a "device_add()", but that's exactly why
"cdev_device_add()" as added, so that you don't have to have that
nasty pattern of having both.

That said, I do think that my merge is missing a "cdev_device_del()"
in the [c]dev if the second cdev_device_add() (on [c]devs) fails.

Although I also considered just saying "maybe if the second device
register fails, we still want to just succeed, and at least leave the
first one available".  Because why shouldn't you let people access at
least the old interface even if the new interface couldn't be set up?

So that's part of why I'd like people to look at that resolutin. But
more importantly it should be tested.

               Linus

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 16:00   ` James Bottomley
  2017-05-05 16:33     ` Linus Torvalds
@ 2017-05-05 16:38     ` Greg KH
  2017-05-05 19:46       ` James Bottomley
  2017-05-05 20:01       ` Linus Torvalds
  1 sibling, 2 replies; 12+ messages in thread
From: Greg KH @ 2017-05-05 16:38 UTC (permalink / raw)
  To: James Bottomley
  Cc: Linus Torvalds, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Fri, May 05, 2017 at 09:00:06AM -0700, James Bottomley wrote:
> On Thu, 2017-05-04 at 19:28 -0700, Linus Torvalds wrote:
> > On Thu, May 4, 2017 at 5:18 PM, Greg KH <gregkh@linuxfoundation.org>
> > wrote:
> > > 
> > > Here is the big set of new char/misc driver drivers and features 
> > > for 4.12-rc1.
> > 
> > Ugh. I'm not particularly happy with the conflicts I got and my
> > resolutions there-of.
> 
> Yes, we really should have done this via a postmerge tree.  We've had
> so little cause to use them recently, I suspect everyone's forgotten
> how.

Huh?  You could have pulled in my tree into this one, or I could have
done that for you, my trees are not rebased at all, and they get used
this way every other release or so for this very reason.

> > James, Jarkko, you need to look at that tpm merge of mine. And James,
> > double-check my osd_uld thing too.
> 
> I'm not going to defend the earlier coding, but you've lost the real
> device_add() calls in the merge, meaning the tpm devices don't actually
> get made visible at all.  I suspect assuming device_add() is done by
> cdev_device_add() because of the name is going to be our next anti
> -pattern, so you're at least ahead of the game ...

It's not an anti-pattern at all, it is ment to fix the bugs you, and
others, keep making :)

> @@ -272,24 +272,30 @@ EXPORT_SYMBOL_GPL(tpmm_chip_alloc);
>  static int tpm_add_char_device(struct tpm_chip *chip)
>  {
>  	int rc;
> +	const char *errstr;
> +	struct device *errdev = &chip->dev;
>  
>  	rc = cdev_device_add(&chip->cdev, &chip->dev);
>  	if (rc) {
> -		dev_err(&chip->dev,
> -			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
> -			dev_name(&chip->dev), MAJOR(chip->dev.devt),
> -			MINOR(chip->dev.devt), rc);
> -		return rc;
> +		errstr = "cdev_device_add for main device";
> +		goto error1;
> +	}
> +	rc = device_add(&chip->dev);

Not to pile on, but as Linus said, this is totally wrong.  Did you test
it?  chip->dev is already registered at this point in time...

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 16:33     ` Linus Torvalds
@ 2017-05-05 16:49       ` James Bottomley
  0 siblings, 0 replies; 12+ messages in thread
From: James Bottomley @ 2017-05-05 16:49 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Fri, 2017-05-05 at 09:33 -0700, Linus Torvalds wrote:
> On Fri, May 5, 2017 at 9:00 AM, James Bottomley
> <James.Bottomley@hansenpartnership.com> wrote:
> > 
> > I'm not going to defend the earlier coding, but you've lost the 
> > real device_add() calls in the merge, meaning the tpm devices don't
> > actually get made visible at all.  I suspect assuming device_add() 
> > is done by cdev_device_add() because of the name is going to be our 
> > next anti-pattern, so you're at least ahead of the game ...
> 
> Don't be silly. That's *exactly* what cdev_device_add() does.

Oh, you're right, sorry, I was going by the patches that were cc'd to
the TPM list, which only had the two line addition for
cdev_device_add() ... apparently no-one sent any updates.  Yes, the new
function looks much better and the resolution works.  Sorry for the
noise.

James

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 16:38     ` Greg KH
@ 2017-05-05 19:46       ` James Bottomley
  2017-05-05 20:01       ` Linus Torvalds
  1 sibling, 0 replies; 12+ messages in thread
From: James Bottomley @ 2017-05-05 19:46 UTC (permalink / raw)
  To: Greg KH
  Cc: Linus Torvalds, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Fri, 2017-05-05 at 09:38 -0700, Greg KH wrote:
> On Fri, May 05, 2017 at 09:00:06AM -0700, James Bottomley wrote:
> > On Thu, 2017-05-04 at 19:28 -0700, Linus Torvalds wrote:
> > > On Thu, May 4, 2017 at 5:18 PM, Greg KH <
> > > gregkh@linuxfoundation.org>
> > > wrote:
> > > > 
> > > > Here is the big set of new char/misc driver drivers and
> > > > features 
> > > > for 4.12-rc1.
> > > 
> > > Ugh. I'm not particularly happy with the conflicts I got and my
> > > resolutions there-of.
> > 
> > Yes, we really should have done this via a postmerge tree.  We've 
> > had so little cause to use them recently, I suspect everyone's
> > forgotten how.
> 
> Huh?  You could have pulled in my tree into this one, or I could have
> done that for you, my trees are not rebased at all, and they get used
> this way every other release or so for this very reason.

Well, I think this is the process issue, isn't it?  You're telling me I
could have run the tree or you could (actually, you don't mean me: this
is a security subsystem where Jarkko sends a pull to James Morris who
sends it on to Linus so it would be JamesM running it).  I'm asking the
question why we didn't.  I think we didn't because once Stephen worked
out the merge commit everyone forgot about the problem.

So the first process question is: "is what we did what should happen". 
 We can say yes and stop here: linux-next did the merges with conflict
resolution.  The osd initial merge was wrong, so we went back on linux
-scsi and had it corrected and I remembered to send in the resolution
from linux-next with the SCSI pull request so as not to have the
obvious but wrong resolution problem happen again.  The same thing
could be done with the security tree.  I think it's easy to conclude
that this is probably good enough.

If we have more of a desire to avoid tree conflicts, then postmerge
trees could be the answer, but in in this case, since changing the
existing API users to the new API (which is where all the nasty
conflicts were) weren't really time critical, the code could have been
staged as a new API plus patches that use it in one cycle and
conversions of existing users in a second.  The later could have gone
through the proper Maintainer trees and we'd never have seen a conflict
in any of the subsystems.

James

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 16:38     ` Greg KH
  2017-05-05 19:46       ` James Bottomley
@ 2017-05-05 20:01       ` Linus Torvalds
  2017-05-06  5:09         ` Stephen Rothwell
  1 sibling, 1 reply; 12+ messages in thread
From: Linus Torvalds @ 2017-05-05 20:01 UTC (permalink / raw)
  To: Greg KH
  Cc: James Bottomley, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Fri, May 5, 2017 at 9:38 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Fri, May 05, 2017 at 09:00:06AM -0700, James Bottomley wrote:
>> On Thu, 2017-05-04 at 19:28 -0700, Linus Torvalds wrote:
>> >
>> > Ugh. I'm not particularly happy with the conflicts I got and my
>> > resolutions there-of.
>>
>> Yes, we really should have done this via a postmerge tree.  We've had
>> so little cause to use them recently, I suspect everyone's forgotten
>> how.
>
> Huh?  You could have pulled in my tree into this one, or I could have
> done that for you, my trees are not rebased at all, and they get used
> this way every other release or so for this very reason.

I actually would have preferred to not get any early merges, but what
I was unhappy about is that I also didn't really get any heads-up
about the cdev_device_add() conflict.

I did get notified about the other conflict (thanks, James), but
somehow the cdev_device_add() changes didn't cause the same kind of
notification.

So my unhappiness is not about me having to resolve things (I'm happy
to do that) but about how apparently -next failed to notice that part
of my merge resolution. Or maybe it was noticed in -next, but then the
information about it got lost.

I prefer doing merge resolutions myself, but I *also* really really
prefer the two sides of the conflict having been more aware of the
clash.

                      Linus

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-05 20:01       ` Linus Torvalds
@ 2017-05-06  5:09         ` Stephen Rothwell
  2017-05-06 18:00           ` Linus Torvalds
  0 siblings, 1 reply; 12+ messages in thread
From: Stephen Rothwell @ 2017-05-06  5:09 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, James Bottomley, Jarkko Sakkinen, Andrew Morton,
	Arnd Bergmann, Linux Kernel Mailing List

Hi Linus,

On Fri, 5 May 2017 13:01:34 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> I actually would have preferred to not get any early merges, but what
> I was unhappy about is that I also didn't really get any heads-up
> about the cdev_device_add() conflict.
> 
> I did get notified about the other conflict (thanks, James), but
> somehow the cdev_device_add() changes didn't cause the same kind of
> notification.
> 
> So my unhappiness is not about me having to resolve things (I'm happy
> to do that) but about how apparently -next failed to notice that part
> of my merge resolution. Or maybe it was noticed in -next, but then the
> information about it got lost.
> 
> I prefer doing merge resolutions myself, but I *also* really really
> prefer the two sides of the conflict having been more aware of the
> clash.

Would that be this?

From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Greg KH <greg@kroah.com>, Arnd Bergmann <arnd@arndb.de>, Jarkko Sakkinen  <jarkko.sakkinen@linux.intel.com>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Logan  Gunthorpe <logang@deltatee.com>, James Bottomley  <James.Bottomley@HansenPartnership.com>
Subject: linux-next: manual merge of the char-misc tree with the tpmdd tree
Date: Fri, 24 Mar 2017 14:33:02 +1100

Hi all,

Today's linux-next merge of the char-misc tree got a conflict in:

  drivers/char/tpm/tpm-chip.c

between commits:

  67b67480db8b ("tpm: infrastructure for TPM spaces")
  b8e3586e8536 ("tpm: expose spaces via a device link /dev/tpmrm<n>")

from the tpmdd tree and commit:

  8dbbf5825181 ("tpm-chip: utilize new cdev_device_add helper function")

from the char-misc tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/char/tpm/tpm-chip.c
index aade6995f310,935f0e92ad61..000000000000
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@@ -214,22 -186,7 +214,20 @@@ struct tpm_chip *tpm_chip_alloc(struct 
  		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
  
  	cdev_init(&chip->cdev, &tpm_fops);
 +	cdev_init(&chip->cdevs, &tpmrm_fops);
  	chip->cdev.owner = THIS_MODULE;
 +	chip->cdevs.owner = THIS_MODULE;
- 	chip->cdev.kobj.parent = &chip->dev.kobj;
- 	chip->cdevs.kobj.parent = &chip->devs.kobj;
 +
 +	chip->work_space.context_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
 +	if (!chip->work_space.context_buf) {
 +		rc = -ENOMEM;
 +		goto out;
 +	}
 +	chip->work_space.session_buf = kzalloc(PAGE_SIZE, GFP_KERNEL);
 +	if (!chip->work_space.session_buf) {
 +		rc = -ENOMEM;
 +		goto out;
 +	}
  
  	return chip;
  
@@@ -273,44 -229,13 +271,22 @@@ static int tpm_add_char_device(struct t
  {
  	int rc;
  
- 	rc = cdev_add(&chip->cdev, chip->dev.devt, 1);
+ 	rc = cdev_device_add(&chip->cdev, &chip->dev);
  	if (rc) {
  		dev_err(&chip->dev,
- 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
+ 			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
  			dev_name(&chip->dev), MAJOR(chip->dev.devt),
  			MINOR(chip->dev.devt), rc);
 +		return rc;
 +	}
  
- 	rc = device_add(&chip->dev);
- 	if (rc) {
- 		dev_err(&chip->dev,
- 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
- 			dev_name(&chip->dev), MAJOR(chip->dev.devt),
- 			MINOR(chip->dev.devt), rc);
- 
- 		cdev_del(&chip->cdev);
- 		return rc;
- 	}
- 
- 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
- 		rc = cdev_add(&chip->cdevs, chip->devs.devt, 1);
- 	if (rc) {
- 		dev_err(&chip->dev,
- 			"unable to cdev_add() %s, major %d, minor %d, err=%d\n",
- 			dev_name(&chip->devs), MAJOR(chip->devs.devt),
- 			MINOR(chip->devs.devt), rc);
- 		return rc;
- 	}
- 
 +	if (chip->flags & TPM_CHIP_FLAG_TPM2)
- 		rc = device_add(&chip->devs);
++		rc = cdev_device_add(&chip->cdevs, &chip->devs);
 +	if (rc) {
 +		dev_err(&chip->dev,
- 			"unable to device_register() %s, major %d, minor %d, err=%d\n",
++			"unable to cdev_device_add() %s, major %d, minor %d, err=%d\n",
 +			dev_name(&chip->devs), MAJOR(chip->devs.devt),
 +			MINOR(chip->devs.devt), rc);
- 		cdev_del(&chip->cdevs);
  		return rc;
  	}
  
@@@ -447,10 -371,6 +422,8 @@@ void tpm_chip_unregister(struct tpm_chi
  {
  	tpm_del_legacy_sysfs(chip);
  	tpm_bios_log_teardown(chip);
- 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
- 		cdev_del(&chip->cdevs);
- 		device_del(&chip->devs);
- 	}
++	if (chip->flags & TPM_CHIP_FLAG_TPM2)
++		cdev_device_del(&chip->cdevs, &chip->devs);
  	tpm_del_char_device(chip);
  }
  EXPORT_SYMBOL_GPL(tpm_chip_unregister);


-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-06  5:09         ` Stephen Rothwell
@ 2017-05-06 18:00           ` Linus Torvalds
  2017-05-06 18:12             ` James Bottomley
  0 siblings, 1 reply; 12+ messages in thread
From: Linus Torvalds @ 2017-05-06 18:00 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Greg KH, James Bottomley, Jarkko Sakkinen, Andrew Morton,
	Arnd Bergmann, Linux Kernel Mailing List

On Fri, May 5, 2017 at 10:09 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Fri, 5 May 2017 13:01:34 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>>
>>
>> I prefer doing merge resolutions myself, but I *also* really really
>> prefer the two sides of the conflict having been more aware of the
>> clash.
>
> Would that be this?

Yup. Apparently neither Greg nor James ended up reacting to that
email, though, so by the time I got the pull requests there was no
mention of it anywhere.

                 Linus

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-06 18:00           ` Linus Torvalds
@ 2017-05-06 18:12             ` James Bottomley
  2017-07-12  4:50               ` Stephen Rothwell
  0 siblings, 1 reply; 12+ messages in thread
From: James Bottomley @ 2017-05-06 18:12 UTC (permalink / raw)
  To: Linus Torvalds, Stephen Rothwell
  Cc: Greg KH, Jarkko Sakkinen, Andrew Morton, Arnd Bergmann,
	Linux Kernel Mailing List

On Sat, 2017-05-06 at 11:00 -0700, Linus Torvalds wrote:
> On Fri, May 5, 2017 at 10:09 PM, Stephen Rothwell <
> sfr@canb.auug.org.au> wrote:
> > 
> > On Fri, 5 May 2017 13:01:34 -0700 Linus Torvalds <
> > torvalds@linux-foundation.org> wrote:
> > > 
> > > 
> > > I prefer doing merge resolutions myself, but I *also* really 
> > > really prefer the two sides of the conflict having been more 
> > > aware of the clash.
> > 
> > Would that be this?
> 
> Yup. Apparently neither Greg nor James ended up reacting to that
> email, though,

Yes, we did, but for the one in SCSI ... as I said the original
conflict resolution with our tree was eventually found to be slightly
wrong so there was an email thread over it.

There's not much I can do about the one in tpmdd-devel because it's not
my tree.  Even Jarkko can't do much more than tell James Morris for the
Security tree, and I think this came up after it had already been
pulled into that tree.

>  so by the time I got the pull requests there was no
> mention of it anywhere.

Well, there was in the SCSI pull request, but the only reason I
remembered is because I'd made a special note of the potential resolve
problem when this came up on the SCSI mailing list.  The original merge
conflict email came 6 weeks before the merge window, which is why
everyone had had time to forget.

What about resending the conflict reminders at -rc7 ... that way we
only have a week or two to forget again?

The other issue is that one of the potential trees only got notified
directly (the char-misc one) because the tpmdd tree takes an indirect
pull route.  I'm not sure what we can do about this one.

James

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [GIT PULL] Char/Misc driver patches for 4.12-rc1
  2017-05-06 18:12             ` James Bottomley
@ 2017-07-12  4:50               ` Stephen Rothwell
  0 siblings, 0 replies; 12+ messages in thread
From: Stephen Rothwell @ 2017-07-12  4:50 UTC (permalink / raw)
  To: James Bottomley
  Cc: Linus Torvalds, Greg KH, Jarkko Sakkinen, Andrew Morton,
	Arnd Bergmann, Linux Kernel Mailing List

Hi all,

On Sat, 06 May 2017 11:12:36 -0700 James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>
> What about resending the conflict reminders at -rc7 ... that way we
> only have a week or two to forget again?

OK, I attempted to do that this time ... I wonder if it made a
difference :-)

> The other issue is that one of the potential trees only got notified
> directly (the char-misc one) because the tpmdd tree takes an indirect
> pull route.  I'm not sure what we can do about this one.

I have also tried (in most cases) to notify the effected maintainers
that ask Linus to pull.
 
-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-07-12  4:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-05  0:18 [GIT PULL] Char/Misc driver patches for 4.12-rc1 Greg KH
2017-05-05  2:28 ` Linus Torvalds
2017-05-05 16:00   ` James Bottomley
2017-05-05 16:33     ` Linus Torvalds
2017-05-05 16:49       ` James Bottomley
2017-05-05 16:38     ` Greg KH
2017-05-05 19:46       ` James Bottomley
2017-05-05 20:01       ` Linus Torvalds
2017-05-06  5:09         ` Stephen Rothwell
2017-05-06 18:00           ` Linus Torvalds
2017-05-06 18:12             ` James Bottomley
2017-07-12  4:50               ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).