[PATCH v5 00/16] Cleanup chardev instances with helper function

From: Logan Gunthorpe
Date: Fri Mar 17 2017 - 14:52:23 EST


Hey,

This version of the series fixes the issue found by the kbuild test
robot with the rtc driver. I managed to reproduce the issue and this
series fixes the problem.

Logan


Changes since v4:

* Fix a kbuild robot issue with the rtc driver: the rtc driver sometimes
does not want to add the cdev. In order to accommodate this, the new
cdev_device helper functions check dev->devt and if it's zero they
don't add or delete the cdev.

* Remove prototypes for functions that were removed in the rtc driver

Changes since v3:

* Added a missing "device.h" include which caused warnings with some
build configurations

Changes since v2:

* Expanded comments as per Jason's suggestions
* Collected tags
* Updated the switchtec patch seeing it's underlying patch set changed

Changes since v1:

* Expanded the idea to take care of adding the cdev and the device

Logan


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

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

Logan Gunthorpe (14):
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
switchtec: utilize new device_add_cdev helper function

drivers/char/tpm/tpm-chip.c | 19 ++-----
drivers/dax/dax.c | 33 ++++++------
drivers/gpio/gpiolib.c | 23 +++-----
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/mtd/ubi/build.c | 91 ++++++--------------------------
drivers/mtd/ubi/vmt.c | 49 ++++++-----------
drivers/pci/switch/switchtec.c | 11 +---
drivers/platform/chrome/cros_ec_dev.c | 31 +++--------
drivers/rapidio/devices/rio_mport_cdev.c | 24 +++------
drivers/rtc/class.c | 14 +++--
drivers/rtc/rtc-core.h | 10 ----
drivers/rtc/rtc-dev.c | 17 ------
drivers/scsi/osd/osd_uld.c | 56 +++++++-------------
fs/char_dev.c | 86 ++++++++++++++++++++++++++++++
include/linux/cdev.h | 5 ++
24 files changed, 239 insertions(+), 357 deletions(-)

--
2.1.4