From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753822AbdLMTCr (ORCPT ); Wed, 13 Dec 2017 14:02:47 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:43088 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753684AbdLMTCo (ORCPT ); Wed, 13 Dec 2017 14:02:44 -0500 X-Google-Smtp-Source: ACJfBot149M0CHtcspbb/v7eC70VReGxv18Z9UyLImfCakkpsRi3oRt2443ieadfpSRhMHj7j5gQzQ== From: Heiner Kallweit Subject: [PATCH v3 0/3] i2c: introduce devm_i2c_new_dummy and use it in at24 driver To: Bartosz Golaszewski , Wolfram Sang , Peter Rosin Cc: "linux-i2c@vger.kernel.org" , Linux Kernel Mailing List Message-ID: <69b03782-cb1a-2b31-c8aa-1827caa66dd5@gmail.com> Date: Wed, 13 Dec 2017 20:02:33 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org i2c_new_dummy is typically called from the probe function of the driver for the primary i2c client. It requires calls to i2c_unregister_device in the error path of the probe function and in the remove function. This can be simplified by introducing a device-managed version. Make at24 driver the first user of the new function. Changes in v2: - add change to i2c core to make a version of i2c_new_device available which returns an ERR_PTR instead of NULL in error case - few minor improvements Changes in v3: - rename _i2c_new_device to __i2c_new_device Heiner Kallweit (3): i2c: core: improve return value handling of i2c_new_device and i2c_new_dummy i2c: core: add device-managed version of i2c_new_dummy eeprom: at24: switch to device-managed version of i2c_new_dummy Documentation/driver-model/devres.txt | 3 ++ drivers/i2c/i2c-core-base.c | 94 ++++++++++++++++++++++++++++------- drivers/misc/eeprom/at24.c | 31 ++++-------- include/linux/i2c.h | 3 ++ 4 files changed, 94 insertions(+), 37 deletions(-) -- 2.15.1