It will call devm_request_irq() after platform_get_irq() function in many drivers, sometimes, it is not right for the error handling of these two functions in some drivers. so provide this function to simplify the driver. the first patch will provide devm_platform_request_irq(), and the other patch will convert to devm_platform_request_irq() in some i2c bus dirver. v2 -> v3: - add devm_platform_request_irq() to devres.rst by Grygorii's suggestion. - And also Thanks Michal, Wolfram and Linus's review and comments. v1 -> v2: - I give up this series of patches in v1 version. I resend this patches v2 by that discussion: https://patchwork.ozlabs.org/project/linux-i2c/patch/20200520144821.8069-1-zhengdejin5@xxxxxxxxx/ The patch content has not changed. Dejin Zheng (2): drivers: provide devm_platform_request_irq() i2c: busses: convert to devm_platform_request_irq() .../driver-api/driver-model/devres.rst | 1 + drivers/base/platform.c | 33 +++++++++++++++++++ drivers/i2c/busses/i2c-bcm-kona.c | 16 ++------- drivers/i2c/busses/i2c-cadence.c | 10 ++---- drivers/i2c/busses/i2c-digicolor.c | 10 ++---- drivers/i2c/busses/i2c-emev2.c | 5 ++- drivers/i2c/busses/i2c-jz4780.c | 5 ++- drivers/i2c/busses/i2c-meson.c | 13 +++----- drivers/i2c/busses/i2c-mxs.c | 9 ++--- drivers/i2c/busses/i2c-pnx.c | 9 ++--- drivers/i2c/busses/i2c-rcar.c | 9 ++--- drivers/i2c/busses/i2c-rk3x.c | 14 ++------ drivers/i2c/busses/i2c-sirf.c | 10 ++---- drivers/i2c/busses/i2c-stu300.c | 4 +-- drivers/i2c/busses/i2c-synquacer.c | 12 ++----- include/linux/platform_device.h | 4 +++ 16 files changed, 73 insertions(+), 91 deletions(-) -- 2.25.0