From: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>
To: Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Srinivas Kandagatla
<srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Stefan Wahren <stefan.wahren-eS4NqCHxEME@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org
Subject: Re: [PATCH RFC] eeprom: at24: extend driver to plug into the NVMEM framework
Date: Thu, 20 Aug 2015 18:38:51 +0200 [thread overview]
Message-ID: <20150820163851.GG27457@lunn.ch> (raw)
In-Reply-To: <20150820155729.GG30520@lukather>
> It's true that this is something that we might have overlooked. Is it
> expected to maintain that compatibility when moving a driver from one
> framework to another (and this is a real question, not a troll)?
Yes. There will be user space applications reading from the eeprom
file in /sys. In fact, until the NVMEM framework arrived, it was not
easy to access the eeprom from kernel space, meaning the majority of
users must of been user space...
> If so, we might provide a compatibility layer to add the former file
> too, protected by a kconfig option maybe ?
There is one other detail you might of missed. Both AT24 and AT25 do
have an in kernel API. In the at24_platform_data you can have a
callback function "setup" which gets called when the device is
probed. setup() is called with a struct memory_accessor which contains
function pointers for reading and writing to the EEPROM. A few
platforms use these for getting the MAC address out of the EEPROM.
And these platforms are old style, not DT.
Andrew
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Lunn <andrew@lunn.ch>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Stefan Wahren <stefan.wahren@i2se.com>,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org,
wsa@the-dreams.de
Subject: Re: [PATCH RFC] eeprom: at24: extend driver to plug into the NVMEM framework
Date: Thu, 20 Aug 2015 18:38:51 +0200 [thread overview]
Message-ID: <20150820163851.GG27457@lunn.ch> (raw)
In-Reply-To: <20150820155729.GG30520@lukather>
> It's true that this is something that we might have overlooked. Is it
> expected to maintain that compatibility when moving a driver from one
> framework to another (and this is a real question, not a troll)?
Yes. There will be user space applications reading from the eeprom
file in /sys. In fact, until the NVMEM framework arrived, it was not
easy to access the eeprom from kernel space, meaning the majority of
users must of been user space...
> If so, we might provide a compatibility layer to add the former file
> too, protected by a kconfig option maybe ?
There is one other detail you might of missed. Both AT24 and AT25 do
have an in kernel API. In the at24_platform_data you can have a
callback function "setup" which gets called when the device is
probed. setup() is called with a struct memory_accessor which contains
function pointers for reading and writing to the EEPROM. A few
platforms use these for getting the MAC address out of the EEPROM.
And these platforms are old style, not DT.
Andrew
next prev parent reply other threads:[~2015-08-20 16:38 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-16 2:54 [PATCH RFC] eeprom: at24: extend driver to plug into the NVMEM framework Andrew Lunn
[not found] ` <1439693649-10809-1-git-send-email-andrew-g2DYL2Zd6BY@public.gmane.org>
2015-08-16 8:28 ` Stefan Wahren
2015-08-16 8:28 ` Stefan Wahren
2015-08-16 13:11 ` Andrew Lunn
[not found] ` <20150816131130.GC10094-g2DYL2Zd6BY@public.gmane.org>
2015-08-16 15:37 ` Stefan Wahren
2015-08-16 15:37 ` Stefan Wahren
[not found] ` <1511754934.28154.1439739426390.JavaMail.open-xchange-0SF9iQWekqLZ78VGacPtK8gmgJlYmuWJ@public.gmane.org>
2015-08-17 13:01 ` Srinivas Kandagatla
2015-08-17 13:01 ` Srinivas Kandagatla
[not found] ` <55D1DB24.8090602-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-08-17 13:09 ` Andrew Lunn
2015-08-17 13:09 ` Andrew Lunn
[not found] ` <20150817130945.GE7537-g2DYL2Zd6BY@public.gmane.org>
2015-08-17 14:59 ` Srinivas Kandagatla
2015-08-17 14:59 ` Srinivas Kandagatla
[not found] ` <55D1F6CB.2010606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-08-17 15:25 ` Andrew Lunn
2015-08-17 15:25 ` Andrew Lunn
[not found] ` <20150817152504.GI7537-g2DYL2Zd6BY@public.gmane.org>
2015-08-17 15:41 ` Srinivas Kandagatla
2015-08-17 15:41 ` Srinivas Kandagatla
2015-08-20 20:33 ` Wolfram Sang
2015-08-20 20:33 ` Wolfram Sang
2015-08-20 15:57 ` Maxime Ripard
2015-08-20 16:38 ` Andrew Lunn [this message]
2015-08-20 16:38 ` Andrew Lunn
[not found] ` <20150820163851.GG27457-g2DYL2Zd6BY@public.gmane.org>
2015-08-20 21:52 ` Maxime Ripard
2015-08-20 21:52 ` Maxime Ripard
2015-08-17 9:48 ` Srinivas Kandagatla
2015-08-17 9:48 ` Srinivas Kandagatla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150820163851.GG27457@lunn.ch \
--to=andrew-g2dyl2zd6by@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=stefan.wahren-eS4NqCHxEME@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.