From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751217AbbHPI2Y (ORCPT ); Sun, 16 Aug 2015 04:28:24 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:53553 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750887AbbHPI2R (ORCPT ); Sun, 16 Aug 2015 04:28:17 -0400 Date: Sun, 16 Aug 2015 10:28:06 +0200 (CEST) From: Stefan Wahren Reply-To: Stefan Wahren To: Andrew Lunn Cc: linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, wsa@the-dreams.de, srinivas.kandagatla@linaro.org Message-ID: <2080648987.23864.1439713686409.JavaMail.open-xchange@oxbsltgw04.schlund.de> In-Reply-To: <1439693649-10809-1-git-send-email-andrew@lunn.ch> References: <1439693649-10809-1-git-send-email-andrew@lunn.ch> Subject: Re: [PATCH RFC] eeprom: at24: extend driver to plug into the NVMEM framework MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Medium X-Mailer: Open-Xchange Mailer v7.6.2-Rev25 X-Originating-Client: com.openexchange.ox.gui.dhtml X-Provags-ID: V03:K0:TFeETPNrxYLkv9DUV+L18/Otm9VkNA7jQlfVUlHXuSSUX2wO3eS 3yxj7B/zd8eflDVXFKgBugd0wRyDqAFJOEiCXqhn1lYaD/o1uk5ORecXhBnR0s7K9f/0iCZ IkljXCEJWyOIqyJNGDNBscHvE8IGNDpi7cUCosLpa+xifPY9ppkljZA7JgQAaAzE97vKRHk ADgimF654bED4O9JuP3Bg== X-UI-Out-Filterresults: notjunk:1;V01:K0:AUILuXLKxP4=:eqEoABjmNeRYvjGTfAXoiI YZHdC810M9Rayhd623CiS5gWuctjo4vcw7+n6Al+1mcfdRabOUxKU+4vWxl/lkpzawzvA5Vzs r+eSY6YEODVQ7sDbqiN/Pz+2jIGbynRQE+jHAyjQ5egtbXDM/ODPHaizqXHV7MdlQbQhH2Gl4 BiDdLEOdIszNqPDfQgEs+7/iq01fNvaE8oyVLyeZFGOyjDhyFlMvVQbQQlsa+h7OnXDbeWkfK PaUi++8zFA63MupsUYnHu4Pr7/vbQDbg3dwAod5eOU++UZpp3SrHwdDWzY5rBLx8rKp18XWYA uXEJvX+GqPvFIkIfqk1rgiinySXn+UG/+T7Ac5jtC9zXE8L3RZ4erFsjYjqHyjFoF2M5HPsDo GNGfbSW1BYE+we4AMf6enpmRJV2YfHePGxFYt3/Z44ywnyvk+PAPtlAZ4HMzZcW3pVaIoEapd IFJJq3u6OoQDS9maE3r8GKDKyEBBTpqKiBP1lWsr24cXJes+j5fFSs/E1uu2nawJ/8aWYyiCP lu3M1Z/IXQ7f1JvJJUJi7lXF6DZA71eiVhLyWKjYAyORrILC2VQeRLmsUGLmntpT2rIo2aD44 rkF3KIg9bTjpwytcWIiC0LJ5XvWPaKEXqMblxj+u7CptH35slcw5iBZvPulAMSFGmJXKvcfzA pMjnQ31FrPT/LPQWz1JzB2Rwx5q2BZoY2F2/TOevO7M9YYgcVZohflYQUObkv0gPo4DD8EJFv 9wBFQFdA4TtE6ise Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, > Andrew Lunn hat am 16. August 2015 um 04:54 geschrieben: > > > Add a read only regmap for accessing the EEPROM, and then use that > with the NVMEM framework. > > Signed-off-by: Andrew Lunn > --- > drivers/misc/eeprom/at24.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 65 insertions(+) > > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c > index 2d3db81be099..0e80c0c09d4e 100644 > --- a/drivers/misc/eeprom/at24.c > +++ b/drivers/misc/eeprom/at24.c > @@ -22,6 +22,8 @@ > #include > #include > #include > +#include > +#include shouldn't the dependancies in Kconfig updated (depends on REGMAP) too? > #include > > /* > @@ -69,6 +71,10 @@ struct at24_data { > unsigned write_max; > unsigned num_addresses; > > + struct regmap_config regmap_config; > + struct nvmem_config nvmem_config; > + struct nvmem_device *nvmem; > + > /* > * Some chips tie up multiple I2C addresses; dummy devices reserve > * them for us, and we'll use them with SMBus calls. > @@ -471,6 +477,34 @@ static ssize_t at24_macc_write(struct memory_accessor > *macc, const char *buf, > > /*-------------------------------------------------------------------------*/ > > +/* > + * Provide a regmap interface, which is registered with the NVMEM > + * framework > +*/ > +static int at24_regmap_read(void *context, const void *reg, size_t reg_size, > + void *val, size_t val_size) > +{ > + struct at24_data *at24 = context; > + off_t offset = *(u32 *)reg; > + > + return at24_read(at24, val, offset, val_size); > +} > + > +static int at24_regmap_write(void *context, const void *data, size_t count) > +{ > + struct at24_data *at24 = context; > + > + return at24_write(at24, data, 0, count); Since the patch only provides read only support this function could return 0. Regards Stefan