[PATCH v5 0/3] return EINVAL error instead of BUG_ON()

From: Florian Schmaus
Date: Wed May 16 2018 - 11:35:47 EST


This patch series makes driver_register() emit an error message and
return a failure code instead of triggering a BUG_ON().

The first patch will cause driver_register() to fail gracefully if the
driver's bus was not initialized while printing out the name of the
faulty driver *and* the name of the involved bus. The second patch
records the error code if bus_register() fails. The third and final
patch of the series extends the first patch so that the recorded error
code is also print out if non-zero. Otherwhise, if drv->bus->p is NULL
but the error code is zero, then probably bus_register() was never
called before.

Florian Schmaus (3):
driver-core: return EINVAL error instead of BUG_ON()
driver-core: record error on bus registration
driver-core: print bus registration error value

drivers/base/bus.c | 6 +++++-
drivers/base/driver.c | 12 +++++++++++-
include/linux/device.h | 1 +
3 files changed, 17 insertions(+), 2 deletions(-)

--
2.16.1