[Blackfin removal] [PATCH 23/28] char: Remove Blackfin OTP support

2018-03-16 Thread Aaron Wu
Signed-off-by: Aaron Wu 

Remove Blackfin OTP support
---
 drivers/char/Kconfig|  28 --
 drivers/char/Makefile   |   1 -
 drivers/char/bfin-otp.c | 237 
 3 files changed, 266 deletions(-)
 delete mode 100644 drivers/char/bfin-otp.c

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index c28dca0..8f64ce8 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -66,34 +66,6 @@ config TTY_PRINTK
 
  If unsure, say N.
 
-config BFIN_OTP
-   tristate "Blackfin On-Chip OTP Memory Support"
-   depends on BLACKFIN && (BF51x || BF52x || BF54x)
-   default y
-   help
- If you say Y here, you will get support for a character device
- interface into the One Time Programmable memory pages that are
- stored on the Blackfin processor.  This will not get you access
- to the secure memory pages however.  You will need to write your
- own secure code and reader for that.
-
- To compile this driver as a module, choose M here: the module
- will be called bfin-otp.
-
- If unsure, it is safe to say Y.
-
-config BFIN_OTP_WRITE_ENABLE
-   bool "Enable writing support of OTP pages"
-   depends on BFIN_OTP
-   default n
-   help
- If you say Y here, you will enable support for writing of the
- OTP pages.  This is dangerous by nature as you can only program
- the pages once, so only enable this option when you actually
- need it so as to not inadvertently clobber data.
-
- If unsure, say N.
-
 config PRINTER
tristate "Parallel printer support"
depends on PARPORT
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 7dc3abe..f28d07b 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -14,7 +14,6 @@ obj-$(CONFIG_MSPEC)   += mspec.o
 obj-$(CONFIG_UV_MMTIMER)   += uv_mmtimer.o
 obj-$(CONFIG_IBM_BSR)  += bsr.o
 obj-$(CONFIG_SGI_MBCS) += mbcs.o
-obj-$(CONFIG_BFIN_OTP) += bfin-otp.o
 
 obj-$(CONFIG_PRINTER)  += lp.o
 
diff --git a/drivers/char/bfin-otp.c b/drivers/char/bfin-otp.c
deleted file mode 100644
index 0584025..000
--- a/drivers/char/bfin-otp.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Blackfin On-Chip OTP Memory Interface
- *
- * Copyright 2007-2009 Analog Devices Inc.
- *
- * Enter bugs at http://blackfin.uclinux.org/
- *
- * Licensed under the GPL-2 or later.
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-
-#define stamp(fmt, args...) pr_debug("%s:%i: " fmt "\n", __func__, __LINE__, 
## args)
-#define stampit() stamp("here i am")
-#define pr_init(fmt, args...) ({ static const __initconst char __fmt[] = fmt; 
printk(__fmt, ## args); })
-
-#define DRIVER_NAME "bfin-otp"
-#define PFX DRIVER_NAME ": "
-
-static DEFINE_MUTEX(bfin_otp_lock);
-
-/**
- * bfin_otp_read - Read OTP pages
- *
- * All reads must be in half page chunks (half page == 64 bits).
- */
-static ssize_t bfin_otp_read(struct file *file, char __user *buff, size_t 
count, loff_t *pos)
-{
-   ssize_t bytes_done;
-   u32 page, flags, ret;
-   u64 content;
-
-   stampit();
-
-   if (count % sizeof(u64))
-   return -EMSGSIZE;
-
-   if (mutex_lock_interruptible(_otp_lock))
-   return -ERESTARTSYS;
-
-   bytes_done = 0;
-   page = *pos / (sizeof(u64) * 2);
-   while (bytes_done < count) {
-   flags = (*pos % (sizeof(u64) * 2) ? OTP_UPPER_HALF : 
OTP_LOWER_HALF);
-   stamp("processing page %i (0x%x:%s)", page, flags,
-   (flags & OTP_UPPER_HALF ? "upper" : "lower"));
-   ret = bfrom_OtpRead(page, flags, );
-   if (ret & OTP_MASTER_ERROR) {
-   stamp("error from otp: 0x%x", ret);
-   bytes_done = -EIO;
-   break;
-   }
-   if (copy_to_user(buff + bytes_done, , sizeof(content))) 
{
-   bytes_done = -EFAULT;
-   break;
-   }
-   if (flags & OTP_UPPER_HALF)
-   ++page;
-   bytes_done += sizeof(content);
-   *pos += sizeof(content);
-   }
-
-   mutex_unlock(_otp_lock);
-
-   return bytes_done;
-}
-
-#ifdef CONFIG_BFIN_OTP_WRITE_ENABLE
-static bool allow_writes;
-
-/**
- * bfin_otp_init_timing - setup OTP timing parameters
- *
- * Required before doing any write operation.  Algorithms from HRM.
- */
-static u32 bfin_otp_init_timing(void)
-{
-   u32 tp1, tp2, tp3, timing;
-
-   tp1 = get_sclk() / 100;
-   tp2 = (2 * get_sclk() / 1000) << 8;
-   tp3 = (0x1401) << 15;
-   timing = tp1 | tp2 | tp3;
-   if (bfrom_OtpCommand(OTP_INIT, timing))
-   return 0;
-
-   return timing;
-}
-
-/**

[Blackfin removal] [PATCH 23/28] char: Remove Blackfin OTP support

2018-03-16 Thread Aaron Wu
Signed-off-by: Aaron Wu 

Remove Blackfin OTP support
---
 drivers/char/Kconfig|  28 --
 drivers/char/Makefile   |   1 -
 drivers/char/bfin-otp.c | 237 
 3 files changed, 266 deletions(-)
 delete mode 100644 drivers/char/bfin-otp.c

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index c28dca0..8f64ce8 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -66,34 +66,6 @@ config TTY_PRINTK
 
  If unsure, say N.
 
-config BFIN_OTP
-   tristate "Blackfin On-Chip OTP Memory Support"
-   depends on BLACKFIN && (BF51x || BF52x || BF54x)
-   default y
-   help
- If you say Y here, you will get support for a character device
- interface into the One Time Programmable memory pages that are
- stored on the Blackfin processor.  This will not get you access
- to the secure memory pages however.  You will need to write your
- own secure code and reader for that.
-
- To compile this driver as a module, choose M here: the module
- will be called bfin-otp.
-
- If unsure, it is safe to say Y.
-
-config BFIN_OTP_WRITE_ENABLE
-   bool "Enable writing support of OTP pages"
-   depends on BFIN_OTP
-   default n
-   help
- If you say Y here, you will enable support for writing of the
- OTP pages.  This is dangerous by nature as you can only program
- the pages once, so only enable this option when you actually
- need it so as to not inadvertently clobber data.
-
- If unsure, say N.
-
 config PRINTER
tristate "Parallel printer support"
depends on PARPORT
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index 7dc3abe..f28d07b 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -14,7 +14,6 @@ obj-$(CONFIG_MSPEC)   += mspec.o
 obj-$(CONFIG_UV_MMTIMER)   += uv_mmtimer.o
 obj-$(CONFIG_IBM_BSR)  += bsr.o
 obj-$(CONFIG_SGI_MBCS) += mbcs.o
-obj-$(CONFIG_BFIN_OTP) += bfin-otp.o
 
 obj-$(CONFIG_PRINTER)  += lp.o
 
diff --git a/drivers/char/bfin-otp.c b/drivers/char/bfin-otp.c
deleted file mode 100644
index 0584025..000
--- a/drivers/char/bfin-otp.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Blackfin On-Chip OTP Memory Interface
- *
- * Copyright 2007-2009 Analog Devices Inc.
- *
- * Enter bugs at http://blackfin.uclinux.org/
- *
- * Licensed under the GPL-2 or later.
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-
-#define stamp(fmt, args...) pr_debug("%s:%i: " fmt "\n", __func__, __LINE__, 
## args)
-#define stampit() stamp("here i am")
-#define pr_init(fmt, args...) ({ static const __initconst char __fmt[] = fmt; 
printk(__fmt, ## args); })
-
-#define DRIVER_NAME "bfin-otp"
-#define PFX DRIVER_NAME ": "
-
-static DEFINE_MUTEX(bfin_otp_lock);
-
-/**
- * bfin_otp_read - Read OTP pages
- *
- * All reads must be in half page chunks (half page == 64 bits).
- */
-static ssize_t bfin_otp_read(struct file *file, char __user *buff, size_t 
count, loff_t *pos)
-{
-   ssize_t bytes_done;
-   u32 page, flags, ret;
-   u64 content;
-
-   stampit();
-
-   if (count % sizeof(u64))
-   return -EMSGSIZE;
-
-   if (mutex_lock_interruptible(_otp_lock))
-   return -ERESTARTSYS;
-
-   bytes_done = 0;
-   page = *pos / (sizeof(u64) * 2);
-   while (bytes_done < count) {
-   flags = (*pos % (sizeof(u64) * 2) ? OTP_UPPER_HALF : 
OTP_LOWER_HALF);
-   stamp("processing page %i (0x%x:%s)", page, flags,
-   (flags & OTP_UPPER_HALF ? "upper" : "lower"));
-   ret = bfrom_OtpRead(page, flags, );
-   if (ret & OTP_MASTER_ERROR) {
-   stamp("error from otp: 0x%x", ret);
-   bytes_done = -EIO;
-   break;
-   }
-   if (copy_to_user(buff + bytes_done, , sizeof(content))) 
{
-   bytes_done = -EFAULT;
-   break;
-   }
-   if (flags & OTP_UPPER_HALF)
-   ++page;
-   bytes_done += sizeof(content);
-   *pos += sizeof(content);
-   }
-
-   mutex_unlock(_otp_lock);
-
-   return bytes_done;
-}
-
-#ifdef CONFIG_BFIN_OTP_WRITE_ENABLE
-static bool allow_writes;
-
-/**
- * bfin_otp_init_timing - setup OTP timing parameters
- *
- * Required before doing any write operation.  Algorithms from HRM.
- */
-static u32 bfin_otp_init_timing(void)
-{
-   u32 tp1, tp2, tp3, timing;
-
-   tp1 = get_sclk() / 100;
-   tp2 = (2 * get_sclk() / 1000) << 8;
-   tp3 = (0x1401) << 15;
-   timing = tp1 | tp2 | tp3;
-   if (bfrom_OtpCommand(OTP_INIT, timing))
-   return 0;
-
-   return timing;
-}
-
-/**
- *