Commit 757ef791 authored by Jon Hunter's avatar Jon Hunter Committed by Afzal Mohammed

ARM: OMAP2+: GPMC: Remove unused OneNAND get_freq() platform function

A platform function pointer for getting the frequency of a OneNAND device
was added so that a platform could specify a custom function for returning
the frequency and not just rely on the OneNAND version to determine the
frequency. However, this platform function pointer is not currently being
used and I am not sure if it ever has.

OneNAND devices are not so common these days and as far as I know not being
used with new devices. Therefore, it is most likely that this get_freq()
function pointer will not be used and so remove it.

Given that the get_freq() function pointer is not used, neither is the
clk_dep variable and so all references to it can also be removed.
Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
Signed-off-by: default avatarAfzal Mohammed <afzal@ti.com>
parent 46376884
...@@ -140,21 +140,10 @@ static void set_onenand_cfg(void __iomem *onenand_base) ...@@ -140,21 +140,10 @@ static void set_onenand_cfg(void __iomem *onenand_base)
} }
static int omap2_onenand_get_freq(struct omap_onenand_platform_data *cfg, static int omap2_onenand_get_freq(struct omap_onenand_platform_data *cfg,
void __iomem *onenand_base, bool *clk_dep) void __iomem *onenand_base)
{ {
u16 ver = readw(onenand_base + ONENAND_REG_VERSION_ID); u16 ver = readw(onenand_base + ONENAND_REG_VERSION_ID);
int freq = 0; int freq;
if (cfg->get_freq) {
struct onenand_freq_info fi;
fi.maf_id = readw(onenand_base + ONENAND_REG_MANUFACTURER_ID);
fi.dev_id = readw(onenand_base + ONENAND_REG_DEVICE_ID);
fi.ver_id = ver;
freq = cfg->get_freq(&fi, clk_dep);
if (freq)
return freq;
}
switch ((ver >> 4) & 0xf) { switch ((ver >> 4) & 0xf) {
case 0: case 0:
...@@ -182,7 +171,7 @@ static int omap2_onenand_get_freq(struct omap_onenand_platform_data *cfg, ...@@ -182,7 +171,7 @@ static int omap2_onenand_get_freq(struct omap_onenand_platform_data *cfg,
static struct gpmc_timings static struct gpmc_timings
omap2_onenand_calc_sync_timings(struct omap_onenand_platform_data *cfg, omap2_onenand_calc_sync_timings(struct omap_onenand_platform_data *cfg,
int freq, bool clk_dep) int freq)
{ {
struct gpmc_timings t; struct gpmc_timings t;
const int t_cer = 15; const int t_cer = 15;
...@@ -261,22 +250,6 @@ omap2_onenand_calc_sync_timings(struct omap_onenand_platform_data *cfg, ...@@ -261,22 +250,6 @@ omap2_onenand_calc_sync_timings(struct omap_onenand_platform_data *cfg,
else else
latency = 4; latency = 4;
if (clk_dep) {
if (gpmc_clk_ns < 12) { /* >83Mhz */
t_ces = 3;
t_avds = 4;
} else if (gpmc_clk_ns < 15) { /* >66Mhz */
t_ces = 5;
t_avds = 4;
} else if (gpmc_clk_ns < 25) { /* >40Mhz */
t_ces = 6;
t_avds = 5;
} else {
t_ces = 7;
t_avds = 7;
}
}
/* Set synchronous read timings */ /* Set synchronous read timings */
memset(&t, 0, sizeof(t)); memset(&t, 0, sizeof(t));
...@@ -399,16 +372,14 @@ static int omap2_onenand_setup_sync(void __iomem *onenand_base, int *freq_ptr) ...@@ -399,16 +372,14 @@ static int omap2_onenand_setup_sync(void __iomem *onenand_base, int *freq_ptr)
{ {
int ret, freq = *freq_ptr; int ret, freq = *freq_ptr;
struct gpmc_timings t; struct gpmc_timings t;
bool clk_dep = false;
if (!freq) { if (!freq) {
/* Very first call freq is not known */ /* Very first call freq is not known */
freq = omap2_onenand_get_freq(gpmc_onenand_data, freq = omap2_onenand_get_freq(gpmc_onenand_data, onenand_base);
onenand_base, &clk_dep);
set_onenand_cfg(onenand_base); set_onenand_cfg(onenand_base);
} }
t = omap2_onenand_calc_sync_timings(gpmc_onenand_data, freq, clk_dep); t = omap2_onenand_calc_sync_timings(gpmc_onenand_data, freq);
ret = gpmc_set_sync_mode(gpmc_onenand_data->cs, &t); ret = gpmc_set_sync_mode(gpmc_onenand_data->cs, &t);
if (IS_ERR_VALUE(ret)) if (IS_ERR_VALUE(ret))
......
...@@ -15,20 +15,12 @@ ...@@ -15,20 +15,12 @@
#define ONENAND_SYNC_READ (1 << 0) #define ONENAND_SYNC_READ (1 << 0)
#define ONENAND_SYNC_READWRITE (1 << 1) #define ONENAND_SYNC_READWRITE (1 << 1)
struct onenand_freq_info {
u16 maf_id;
u16 dev_id;
u16 ver_id;
};
struct omap_onenand_platform_data { struct omap_onenand_platform_data {
int cs; int cs;
int gpio_irq; int gpio_irq;
struct mtd_partition *parts; struct mtd_partition *parts;
int nr_parts; int nr_parts;
int (*onenand_setup)(void __iomem *, int *freq_ptr); int (*onenand_setup)(void __iomem *, int *freq_ptr);
int (*get_freq)(const struct onenand_freq_info *freq_info,
bool *clk_dep);
int dma_channel; int dma_channel;
u8 flags; u8 flags;
u8 regulator_can_sleep; u8 regulator_can_sleep;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment