Re: [PATCH 4/6] eeprom: at25: Remove in kernel API for accessing the EEPROM

2015-12-15 Thread Srinivas Kandagatla



On 08/12/15 14:05, Andrew Lunn wrote:

The setup() callback is not used by any in kernel code. Remove it.
Any new code which requires access to the eeprom can use the NVMEM
API.

Signed-off-by: Andrew Lunn 
---
  drivers/misc/eeprom/at25.c | 26 --
  include/linux/spi/eeprom.h |  2 --
  2 files changed, 28 deletions(-)



This is nice, The memory_accessor users can still use the 
nvmem_device_get() by passing the nvmem provider device_name which would 
give a handle to nvmem_device.



--srini

diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index f850ef556bcc..4732f6997289 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -29,7 +29,6 @@

  struct at25_data {
struct spi_device   *spi;
-   struct memory_accessor  mem;
struct mutexlock;
struct spi_eeprom   chip;
struct bin_attributebin;
@@ -281,26 +280,6 @@ at25_bin_write(struct file *filp, struct kobject *kobj,

  /*-*/

-/* Let in-kernel code access the eeprom data. */
-
-static ssize_t at25_mem_read(struct memory_accessor *mem, char *buf,
-off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_read(at25, buf, offset, count);
-}
-
-static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
- off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_write(at25, buf, offset, count);
-}
-
-/*-*/
-
  static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
  {
u32 val;
@@ -415,22 +394,17 @@ static int at25_probe(struct spi_device *spi)
at25->bin.attr.name = "eeprom";
at25->bin.attr.mode = S_IRUSR;
at25->bin.read = at25_bin_read;
-   at25->mem.read = at25_mem_read;

at25->bin.size = at25->chip.byte_len;
if (!(chip.flags & EE_READONLY)) {
at25->bin.write = at25_bin_write;
at25->bin.attr.mode |= S_IWUSR;
-   at25->mem.write = at25_mem_write;
}

err = sysfs_create_bin_file(>dev.kobj, >bin);
if (err)
return err;

-   if (chip.setup)
-   chip.setup(>mem, chip.context);
-
dev_info(>dev, "%Zd %s %s eeprom%s, pagesize %u\n",
(at25->bin.size < 1024)
? at25->bin.size
diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h
index 403e007aef68..e34e169f9dcb 100644
--- a/include/linux/spi/eeprom.h
+++ b/include/linux/spi/eeprom.h
@@ -30,8 +30,6 @@ struct spi_eeprom {
 */
  #define EE_INSTR_BIT3_IS_ADDR 0x0010

-   /* for exporting this chip's data to other kernel code */
-   void (*setup)(struct memory_accessor *mem, void *context);
void *context;
  };



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 4/6] eeprom: at25: Remove in kernel API for accessing the EEPROM

2015-12-15 Thread Srinivas Kandagatla



On 08/12/15 14:05, Andrew Lunn wrote:

The setup() callback is not used by any in kernel code. Remove it.
Any new code which requires access to the eeprom can use the NVMEM
API.

Signed-off-by: Andrew Lunn 
---
  drivers/misc/eeprom/at25.c | 26 --
  include/linux/spi/eeprom.h |  2 --
  2 files changed, 28 deletions(-)



This is nice, The memory_accessor users can still use the 
nvmem_device_get() by passing the nvmem provider device_name which would 
give a handle to nvmem_device.



--srini

diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index f850ef556bcc..4732f6997289 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -29,7 +29,6 @@

  struct at25_data {
struct spi_device   *spi;
-   struct memory_accessor  mem;
struct mutexlock;
struct spi_eeprom   chip;
struct bin_attributebin;
@@ -281,26 +280,6 @@ at25_bin_write(struct file *filp, struct kobject *kobj,

  /*-*/

-/* Let in-kernel code access the eeprom data. */
-
-static ssize_t at25_mem_read(struct memory_accessor *mem, char *buf,
-off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_read(at25, buf, offset, count);
-}
-
-static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
- off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_write(at25, buf, offset, count);
-}
-
-/*-*/
-
  static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
  {
u32 val;
@@ -415,22 +394,17 @@ static int at25_probe(struct spi_device *spi)
at25->bin.attr.name = "eeprom";
at25->bin.attr.mode = S_IRUSR;
at25->bin.read = at25_bin_read;
-   at25->mem.read = at25_mem_read;

at25->bin.size = at25->chip.byte_len;
if (!(chip.flags & EE_READONLY)) {
at25->bin.write = at25_bin_write;
at25->bin.attr.mode |= S_IWUSR;
-   at25->mem.write = at25_mem_write;
}

err = sysfs_create_bin_file(>dev.kobj, >bin);
if (err)
return err;

-   if (chip.setup)
-   chip.setup(>mem, chip.context);
-
dev_info(>dev, "%Zd %s %s eeprom%s, pagesize %u\n",
(at25->bin.size < 1024)
? at25->bin.size
diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h
index 403e007aef68..e34e169f9dcb 100644
--- a/include/linux/spi/eeprom.h
+++ b/include/linux/spi/eeprom.h
@@ -30,8 +30,6 @@ struct spi_eeprom {
 */
  #define EE_INSTR_BIT3_IS_ADDR 0x0010

-   /* for exporting this chip's data to other kernel code */
-   void (*setup)(struct memory_accessor *mem, void *context);
void *context;
  };



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 4/6] eeprom: at25: Remove in kernel API for accessing the EEPROM

2015-12-08 Thread Andrew Lunn
The setup() callback is not used by any in kernel code. Remove it.
Any new code which requires access to the eeprom can use the NVMEM
API.

Signed-off-by: Andrew Lunn 
---
 drivers/misc/eeprom/at25.c | 26 --
 include/linux/spi/eeprom.h |  2 --
 2 files changed, 28 deletions(-)

diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index f850ef556bcc..4732f6997289 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -29,7 +29,6 @@
 
 struct at25_data {
struct spi_device   *spi;
-   struct memory_accessor  mem;
struct mutexlock;
struct spi_eeprom   chip;
struct bin_attributebin;
@@ -281,26 +280,6 @@ at25_bin_write(struct file *filp, struct kobject *kobj,
 
 /*-*/
 
-/* Let in-kernel code access the eeprom data. */
-
-static ssize_t at25_mem_read(struct memory_accessor *mem, char *buf,
-off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_read(at25, buf, offset, count);
-}
-
-static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
- off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_write(at25, buf, offset, count);
-}
-
-/*-*/
-
 static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
 {
u32 val;
@@ -415,22 +394,17 @@ static int at25_probe(struct spi_device *spi)
at25->bin.attr.name = "eeprom";
at25->bin.attr.mode = S_IRUSR;
at25->bin.read = at25_bin_read;
-   at25->mem.read = at25_mem_read;
 
at25->bin.size = at25->chip.byte_len;
if (!(chip.flags & EE_READONLY)) {
at25->bin.write = at25_bin_write;
at25->bin.attr.mode |= S_IWUSR;
-   at25->mem.write = at25_mem_write;
}
 
err = sysfs_create_bin_file(>dev.kobj, >bin);
if (err)
return err;
 
-   if (chip.setup)
-   chip.setup(>mem, chip.context);
-
dev_info(>dev, "%Zd %s %s eeprom%s, pagesize %u\n",
(at25->bin.size < 1024)
? at25->bin.size
diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h
index 403e007aef68..e34e169f9dcb 100644
--- a/include/linux/spi/eeprom.h
+++ b/include/linux/spi/eeprom.h
@@ -30,8 +30,6 @@ struct spi_eeprom {
 */
 #define EE_INSTR_BIT3_IS_ADDR  0x0010
 
-   /* for exporting this chip's data to other kernel code */
-   void (*setup)(struct memory_accessor *mem, void *context);
void *context;
 };
 
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 4/6] eeprom: at25: Remove in kernel API for accessing the EEPROM

2015-12-08 Thread Andrew Lunn
The setup() callback is not used by any in kernel code. Remove it.
Any new code which requires access to the eeprom can use the NVMEM
API.

Signed-off-by: Andrew Lunn 
---
 drivers/misc/eeprom/at25.c | 26 --
 include/linux/spi/eeprom.h |  2 --
 2 files changed, 28 deletions(-)

diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
index f850ef556bcc..4732f6997289 100644
--- a/drivers/misc/eeprom/at25.c
+++ b/drivers/misc/eeprom/at25.c
@@ -29,7 +29,6 @@
 
 struct at25_data {
struct spi_device   *spi;
-   struct memory_accessor  mem;
struct mutexlock;
struct spi_eeprom   chip;
struct bin_attributebin;
@@ -281,26 +280,6 @@ at25_bin_write(struct file *filp, struct kobject *kobj,
 
 /*-*/
 
-/* Let in-kernel code access the eeprom data. */
-
-static ssize_t at25_mem_read(struct memory_accessor *mem, char *buf,
-off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_read(at25, buf, offset, count);
-}
-
-static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
- off_t offset, size_t count)
-{
-   struct at25_data *at25 = container_of(mem, struct at25_data, mem);
-
-   return at25_ee_write(at25, buf, offset, count);
-}
-
-/*-*/
-
 static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
 {
u32 val;
@@ -415,22 +394,17 @@ static int at25_probe(struct spi_device *spi)
at25->bin.attr.name = "eeprom";
at25->bin.attr.mode = S_IRUSR;
at25->bin.read = at25_bin_read;
-   at25->mem.read = at25_mem_read;
 
at25->bin.size = at25->chip.byte_len;
if (!(chip.flags & EE_READONLY)) {
at25->bin.write = at25_bin_write;
at25->bin.attr.mode |= S_IWUSR;
-   at25->mem.write = at25_mem_write;
}
 
err = sysfs_create_bin_file(>dev.kobj, >bin);
if (err)
return err;
 
-   if (chip.setup)
-   chip.setup(>mem, chip.context);
-
dev_info(>dev, "%Zd %s %s eeprom%s, pagesize %u\n",
(at25->bin.size < 1024)
? at25->bin.size
diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h
index 403e007aef68..e34e169f9dcb 100644
--- a/include/linux/spi/eeprom.h
+++ b/include/linux/spi/eeprom.h
@@ -30,8 +30,6 @@ struct spi_eeprom {
 */
 #define EE_INSTR_BIT3_IS_ADDR  0x0010
 
-   /* for exporting this chip's data to other kernel code */
-   void (*setup)(struct memory_accessor *mem, void *context);
void *context;
 };
 
-- 
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/