aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2017-11-07 10:31:01 -0500
committerArnd Bergmann <arnd@arndb.de>2017-11-07 10:31:01 -0500
commitad54c3e75d27686ac7e97e17d242fbc568f6c2e3 (patch)
treefd64603df00b919496c3b166409de53e22d49312
parent5b143d2a6edeae59700420c948f7d793da3356a8 (diff)
parenta622c641665c32a879348efb2abc389527479ee4 (diff)
Merge tag 'gpmc-omap-for-v4.15-pt2' of https://github.com/rogerq/linux into next/drivers
Pull "OMAP-GPMC: driver updates for v4.15, part 2" from Roger Quadros: * get rid of unused function gpmc_update_nand_reg(). * tag 'gpmc-omap-for-v4.15-pt2' of https://github.com/rogerq/linux: memory: omap-gpmc: Remove deprecated gpmc_update_nand_reg()
-rw-r--r--drivers/memory/omap-gpmc.c53
-rw-r--r--include/linux/omap-gpmc.h12
2 files changed, 24 insertions, 41 deletions
diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index f2aef0b87bc6..a385a35c7de9 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -1075,10 +1075,33 @@ int gpmc_configure(int cmd, int wval)
1075} 1075}
1076EXPORT_SYMBOL(gpmc_configure); 1076EXPORT_SYMBOL(gpmc_configure);
1077 1077
1078void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) 1078static bool gpmc_nand_writebuffer_empty(void)
1079{
1080 if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS)
1081 return true;
1082
1083 return false;
1084}
1085
1086static struct gpmc_nand_ops nand_ops = {
1087 .nand_writebuffer_empty = gpmc_nand_writebuffer_empty,
1088};
1089
1090/**
1091 * gpmc_omap_get_nand_ops - Get the GPMC NAND interface
1092 * @regs: the GPMC NAND register map exclusive for NAND use.
1093 * @cs: GPMC chip select number on which the NAND sits. The
1094 * register map returned will be specific to this chip select.
1095 *
1096 * Returns NULL on error e.g. invalid cs.
1097 */
1098struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs)
1079{ 1099{
1080 int i; 1100 int i;
1081 1101
1102 if (cs >= gpmc_cs_num)
1103 return NULL;
1104
1082 reg->gpmc_nand_command = gpmc_base + GPMC_CS0_OFFSET + 1105 reg->gpmc_nand_command = gpmc_base + GPMC_CS0_OFFSET +
1083 GPMC_CS_NAND_COMMAND + GPMC_CS_SIZE * cs; 1106 GPMC_CS_NAND_COMMAND + GPMC_CS_SIZE * cs;
1084 reg->gpmc_nand_address = gpmc_base + GPMC_CS0_OFFSET + 1107 reg->gpmc_nand_address = gpmc_base + GPMC_CS0_OFFSET +
@@ -1110,34 +1133,6 @@ void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs)
1110 reg->gpmc_bch_result6[i] = gpmc_base + GPMC_ECC_BCH_RESULT_6 + 1133 reg->gpmc_bch_result6[i] = gpmc_base + GPMC_ECC_BCH_RESULT_6 +
1111 i * GPMC_BCH_SIZE; 1134 i * GPMC_BCH_SIZE;
1112 } 1135 }
1113}
1114
1115static bool gpmc_nand_writebuffer_empty(void)
1116{
1117 if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS)
1118 return true;
1119
1120 return false;
1121}
1122
1123static struct gpmc_nand_ops nand_ops = {
1124 .nand_writebuffer_empty = gpmc_nand_writebuffer_empty,
1125};
1126
1127/**
1128 * gpmc_omap_get_nand_ops - Get the GPMC NAND interface
1129 * @regs: the GPMC NAND register map exclusive for NAND use.
1130 * @cs: GPMC chip select number on which the NAND sits. The
1131 * register map returned will be specific to this chip select.
1132 *
1133 * Returns NULL on error e.g. invalid cs.
1134 */
1135struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs)
1136{
1137 if (cs >= gpmc_cs_num)
1138 return NULL;
1139
1140 gpmc_update_nand_reg(reg, cs);
1141 1136
1142 return &nand_ops; 1137 return &nand_ops;
1143} 1138}
diff --git a/include/linux/omap-gpmc.h b/include/linux/omap-gpmc.h
index fd0de00c0d77..edfa280c3d56 100644
--- a/include/linux/omap-gpmc.h
+++ b/include/linux/omap-gpmc.h
@@ -36,18 +36,6 @@ static inline struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs
36} 36}
37#endif /* CONFIG_OMAP_GPMC */ 37#endif /* CONFIG_OMAP_GPMC */
38 38
39/*--------------------------------*/
40
41/* deprecated APIs */
42#if IS_ENABLED(CONFIG_OMAP_GPMC)
43void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs);
44#else
45static inline void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs)
46{
47}
48#endif /* CONFIG_OMAP_GPMC */
49/*--------------------------------*/
50
51extern int gpmc_calc_timings(struct gpmc_timings *gpmc_t, 39extern int gpmc_calc_timings(struct gpmc_timings *gpmc_t,
52 struct gpmc_settings *gpmc_s, 40 struct gpmc_settings *gpmc_s,
53 struct gpmc_device_timings *dev_t); 41 struct gpmc_device_timings *dev_t);