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