summaryrefslogtreecommitdiff
path: root/include/linux/platform_data/elm.h
diff options
context:
space:
mode:
authorEzequiel GarcĂ­a <ezequiel@vanguardiasur.com.ar>2014-09-20 20:53:12 +0400
committerBrian Norris <computersforpeace@gmail.com>2014-09-22 22:37:51 +0400
commit93af53b8633c4cb474585158512182b21219d743 (patch)
treeed913991563b48f45a45096fe535325be297ff35 /include/linux/platform_data/elm.h
parent2a960cce03d1dbd3dba54e660c479f64674eb5e3 (diff)
downloadlinux-93af53b8633c4cb474585158512182b21219d743.tar.xz
nand: omap2: Remove horrible ifdefs to fix module probe
The current code abuses ifdefs to determine if the selected ECC scheme is supported by the running kernel. As a result the code is hard to read, and it also fails to load as a module. This commit removes all the ifdefs and instead introduces a function omap2_nand_ecc_check() to check if the ECC is supported by using IS_ENABLED(CONFIG_xxx). Since IS_ENABLED() is true when a config is =y or =m, this change fixes the module so it can be loaded with no issues. Acked-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'include/linux/platform_data/elm.h')
-rw-r--r--include/linux/platform_data/elm.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/platform_data/elm.h b/include/linux/platform_data/elm.h
index 780d1e97f620..b8686c00f15f 100644
--- a/include/linux/platform_data/elm.h
+++ b/include/linux/platform_data/elm.h
@@ -42,8 +42,24 @@ struct elm_errorvec {
int error_loc[16];
};
+#if IS_ENABLED(CONFIG_MTD_NAND_OMAP_BCH)
void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc,
struct elm_errorvec *err_vec);
int elm_config(struct device *dev, enum bch_ecc bch_type,
int ecc_steps, int ecc_step_size, int ecc_syndrome_size);
+#else
+static inline void
+elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc,
+ struct elm_errorvec *err_vec)
+{
+}
+
+static inline int elm_config(struct device *dev, enum bch_ecc bch_type,
+ int ecc_steps, int ecc_step_size,
+ int ecc_syndrome_size)
+{
+ return -ENOSYS;
+}
+#endif /* CONFIG_MTD_NAND_ECC_BCH */
+
#endif /* __ELM_H */