|
@@ -24,8 +24,8 @@
|
|
|
#include <linux/mtd/cfi.h>
|
|
|
#include <linux/mtd/compatmac.h>
|
|
|
|
|
|
-int __xipram qry_present(struct map_info *map, __u32 base,
|
|
|
- struct cfi_private *cfi)
|
|
|
+int __xipram cfi_qry_present(struct map_info *map, __u32 base,
|
|
|
+ struct cfi_private *cfi)
|
|
|
{
|
|
|
int osf = cfi->interleave * cfi->device_type; /* scale factor */
|
|
|
map_word val[3];
|
|
@@ -50,35 +50,39 @@ int __xipram qry_present(struct map_info *map, __u32 base,
|
|
|
|
|
|
return 1; /* "QRY" found */
|
|
|
}
|
|
|
+EXPORT_SYMBOL_GPL(cfi_qry_present);
|
|
|
|
|
|
-int __xipram qry_mode_on(uint32_t base, struct map_info *map,
|
|
|
- struct cfi_private *cfi)
|
|
|
+int __xipram cfi_qry_mode_on(uint32_t base, struct map_info *map,
|
|
|
+ struct cfi_private *cfi)
|
|
|
{
|
|
|
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
|
|
|
- if (qry_present(map, base, cfi))
|
|
|
+ if (cfi_qry_present(map, base, cfi))
|
|
|
return 1;
|
|
|
/* QRY not found probably we deal with some odd CFI chips */
|
|
|
/* Some revisions of some old Intel chips? */
|
|
|
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
|
|
|
- if (qry_present(map, base, cfi))
|
|
|
+ if (cfi_qry_present(map, base, cfi))
|
|
|
return 1;
|
|
|
/* ST M29DW chips */
|
|
|
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
cfi_send_gen_cmd(0x98, 0x555, base, map, cfi, cfi->device_type, NULL);
|
|
|
- if (qry_present(map, base, cfi))
|
|
|
+ if (cfi_qry_present(map, base, cfi))
|
|
|
return 1;
|
|
|
/* QRY not found */
|
|
|
return 0;
|
|
|
}
|
|
|
-void __xipram qry_mode_off(uint32_t base, struct map_info *map,
|
|
|
- struct cfi_private *cfi)
|
|
|
+EXPORT_SYMBOL_GPL(cfi_qry_mode_on);
|
|
|
+
|
|
|
+void __xipram cfi_qry_mode_off(uint32_t base, struct map_info *map,
|
|
|
+ struct cfi_private *cfi)
|
|
|
{
|
|
|
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL);
|
|
|
}
|
|
|
+EXPORT_SYMBOL_GPL(cfi_qry_mode_off);
|
|
|
|
|
|
struct cfi_extquery *
|
|
|
__xipram cfi_read_pri(struct map_info *map, __u16 adr, __u16 size, const char* name)
|
|
@@ -104,7 +108,7 @@ __xipram cfi_read_pri(struct map_info *map, __u16 adr, __u16 size, const char* n
|
|
|
#endif
|
|
|
|
|
|
/* Switch it into Query Mode */
|
|
|
- qry_mode_on(base, map, cfi);
|
|
|
+ cfi_qry_mode_on(base, map, cfi);
|
|
|
/* Read in the Extended Query Table */
|
|
|
for (i=0; i<size; i++) {
|
|
|
((unsigned char *)extp)[i] =
|
|
@@ -112,7 +116,7 @@ __xipram cfi_read_pri(struct map_info *map, __u16 adr, __u16 size, const char* n
|
|
|
}
|
|
|
|
|
|
/* Make sure it returns to read mode */
|
|
|
- qry_mode_off(base, map, cfi);
|
|
|
+ cfi_qry_mode_off(base, map, cfi);
|
|
|
|
|
|
#ifdef CONFIG_MTD_XIP
|
|
|
(void) map_read(map, base);
|