Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1335935 > unrolled thread

[PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM

Started byAndrew Lunn <andrew@lunn.ch>
First post2016-02-17 00:50 +0100
Last post2016-02-17 14:40 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM Andrew Lunn <andrew@lunn.ch> - 2016-02-17 00:50 +0100
    Re: [PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2016-02-17 11:20 +0100
      Re: [PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM Andrew Lunn <andrew@lunn.ch> - 2016-02-17 14:40 +0100

#1335935 — [PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM

FromAndrew Lunn <andrew@lunn.ch>
Date2016-02-17 00:50 +0100
Subject[PATCHv4 0/7] Convert exiting EEPROM drivers to NVMEM
Message-ID<r2Xxv-6pr-3@gated-at.bofh.it>
This patch set converts the old EEPROM drivers in driver/misc/eeprom to
use the NVMEM framework. These drivers export there content in /sys as
read only to root, since the EEPROM may contain sensitive information.
So the first patch adds a flag so the NVMEM framework will create its
file in /sys as root read only.

To keep backwards compatibility with these older drivers, the contents
of the EEPROM must be exports in sysfs in a file called eeprom in the
devices node in sys, where as the NVMEM places them under class/nvmem.
So add this optional backwards compatible to the framework, again
using a flag.

Then convert the at24, at25 and 93xx46 by adding regmap support,
removing each drivers own /sys code and registering with the NVMEM
framework.

AT24 and 93xx46 has been boot tested, at25 compile tested only.

v2:

nvmem_register() now supports a backwards compatible flag, and the
Kconfig option has been removed.

v3:

Rebase on v4.5-rc1.
Add a patch to replace memory_accessor in the setup() callbacks with
nvmem API calls

v4:

Rebase on v4.5-rc3
Fix lockdep key in patch #2

Andrew Lunn (7):
  nvmem: Add flag to export NVMEM to root only
  nvmem: Add backwards compatibility support for older EEPROM drivers.
  eeprom: at24: extend driver to plug into the NVMEM framework
  eeprom: at25: Remove in kernel API for accessing the EEPROM
  eeprom: at25: extend driver to plug into the NVMEM framework
  eeprom: 93xx46: extend driver to plug into the NVMEM framework
  misc: at24: replace memory_accessor with nvmem_device_read

 arch/arm/mach-davinci/board-mityomapl138.c |   5 +-
 arch/arm/mach-davinci/common.c             |   4 +-
 drivers/misc/eeprom/Kconfig                |   6 ++
 drivers/misc/eeprom/at24.c                 | 130 +++++++++++++------------
 drivers/misc/eeprom/at25.c                 | 148 +++++++++++++----------------
 drivers/misc/eeprom/eeprom_93xx46.c        | 122 +++++++++++++++++++-----
 drivers/nvmem/core.c                       | 141 +++++++++++++++++++++++++--
 include/linux/davinci_emac.h               |   4 +-
 include/linux/memory.h                     |  11 ---
 include/linux/nvmem-provider.h             |   5 +-
 include/linux/platform_data/at24.h         |  10 +-
 include/linux/spi/eeprom.h                 |   2 -
 12 files changed, 387 insertions(+), 201 deletions(-)

-- 
2.7.0

[toc] | [next] | [standalone]


#1336205

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2016-02-17 11:20 +0100
Message-ID<r37nc-4W3-21@gated-at.bofh.it>
In reply to#1335935
Hi Andrew,

Thanks for the patches, they look good.

Do we have any reason why we should not move these drivers from 
drivers/misc/eeprom to drivers/nvmem?


--srini

On 16/02/16 23:41, Andrew Lunn wrote:
> This patch set converts the old EEPROM drivers in driver/misc/eeprom to
> use the NVMEM framework. These drivers export there content in /sys as
> read only to root, since the EEPROM may contain sensitive information.
> So the first patch adds a flag so the NVMEM framework will create its
> file in /sys as root read only.
>
> To keep backwards compatibility with these older drivers, the contents
> of the EEPROM must be exports in sysfs in a file called eeprom in the
> devices node in sys, where as the NVMEM places them under class/nvmem.
> So add this optional backwards compatible to the framework, again
> using a flag.
>
> Then convert the at24, at25 and 93xx46 by adding regmap support,
> removing each drivers own /sys code and registering with the NVMEM
> framework.
>
> AT24 and 93xx46 has been boot tested, at25 compile tested only.
>
> v2:
>
> nvmem_register() now supports a backwards compatible flag, and the
> Kconfig option has been removed.
>
> v3:
>
> Rebase on v4.5-rc1.
> Add a patch to replace memory_accessor in the setup() callbacks with
> nvmem API calls
>
> v4:
>
> Rebase on v4.5-rc3
> Fix lockdep key in patch #2
>
> Andrew Lunn (7):
>    nvmem: Add flag to export NVMEM to root only
>    nvmem: Add backwards compatibility support for older EEPROM drivers.
>    eeprom: at24: extend driver to plug into the NVMEM framework
>    eeprom: at25: Remove in kernel API for accessing the EEPROM
>    eeprom: at25: extend driver to plug into the NVMEM framework
>    eeprom: 93xx46: extend driver to plug into the NVMEM framework
>    misc: at24: replace memory_accessor with nvmem_device_read
>
>   arch/arm/mach-davinci/board-mityomapl138.c |   5 +-
>   arch/arm/mach-davinci/common.c             |   4 +-
>   drivers/misc/eeprom/Kconfig                |   6 ++
>   drivers/misc/eeprom/at24.c                 | 130 +++++++++++++------------
>   drivers/misc/eeprom/at25.c                 | 148 +++++++++++++----------------
>   drivers/misc/eeprom/eeprom_93xx46.c        | 122 +++++++++++++++++++-----
>   drivers/nvmem/core.c                       | 141 +++++++++++++++++++++++++--
>   include/linux/davinci_emac.h               |   4 +-
>   include/linux/memory.h                     |  11 ---
>   include/linux/nvmem-provider.h             |   5 +-
>   include/linux/platform_data/at24.h         |  10 +-
>   include/linux/spi/eeprom.h                 |   2 -
>   12 files changed, 387 insertions(+), 201 deletions(-)
>

[toc] | [prev] | [next] | [standalone]


#1336419

FromAndrew Lunn <andrew@lunn.ch>
Date2016-02-17 14:40 +0100
Message-ID<r3auK-73z-9@gated-at.bofh.it>
In reply to#1336205
On Wed, Feb 17, 2016 at 10:17:25AM +0000, Srinivas Kandagatla wrote:
> 
> Hi Andrew,
> 
> Thanks for the patches, they look good.
> 
> Do we have any reason why we should not move these drivers from
> drivers/misc/eeprom to drivers/nvmem?

We would have to be careful with the kconfig options. We need to keep
backwards compatibility. So the AT24 driver would need to continue
using EEPROM_AT24, etc.

This might be possible. But i would prefer to do it as a separate
patch once these patches are accepted.

Thanks
	Andrew

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web