mtd: nand: use loff_t for offset
nand_util currently uses size_t which is arch dependent and not always a unsigned long. Now use loff_t, as does the linux mtd layer. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Scott Wood <scottwood@freescale.com>utp
parent
8360b66bac
commit
378adfcdf4
|
@ -315,7 +315,7 @@ int nand_lock(struct mtd_info *mtd, int tight)
|
||||||
* NAND_LOCK_STATUS_UNLOCK: page unlocked
|
* NAND_LOCK_STATUS_UNLOCK: page unlocked
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int nand_get_lock_status(struct mtd_info *mtd, ulong offset)
|
int nand_get_lock_status(struct mtd_info *mtd, loff_t offset)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int chipnr;
|
int chipnr;
|
||||||
|
@ -436,7 +436,7 @@ int nand_unlock(struct mtd_info *mtd, ulong start, ulong length)
|
||||||
* @param length image length
|
* @param length image length
|
||||||
* @return image length including bad blocks
|
* @return image length including bad blocks
|
||||||
*/
|
*/
|
||||||
static size_t get_len_incl_bad (nand_info_t *nand, size_t offset,
|
static size_t get_len_incl_bad (nand_info_t *nand, loff_t offset,
|
||||||
const size_t length)
|
const size_t length)
|
||||||
{
|
{
|
||||||
size_t len_incl_bad = 0;
|
size_t len_incl_bad = 0;
|
||||||
|
@ -473,7 +473,7 @@ static size_t get_len_incl_bad (nand_info_t *nand, size_t offset,
|
||||||
* @param buf buffer to read from
|
* @param buf buffer to read from
|
||||||
* @return 0 in case of success
|
* @return 0 in case of success
|
||||||
*/
|
*/
|
||||||
int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
|
||||||
u_char *buffer)
|
u_char *buffer)
|
||||||
{
|
{
|
||||||
int rval;
|
int rval;
|
||||||
|
@ -498,7 +498,7 @@ int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
if (len_incl_bad == *length) {
|
if (len_incl_bad == *length) {
|
||||||
rval = nand_write (nand, offset, length, buffer);
|
rval = nand_write (nand, offset, length, buffer);
|
||||||
if (rval != 0)
|
if (rval != 0)
|
||||||
printf ("NAND write to offset %zx failed %d\n",
|
printf ("NAND write to offset %llx failed %d\n",
|
||||||
offset, rval);
|
offset, rval);
|
||||||
|
|
||||||
return rval;
|
return rval;
|
||||||
|
@ -509,7 +509,7 @@ int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
size_t write_size;
|
size_t write_size;
|
||||||
|
|
||||||
if (nand_block_isbad (nand, offset & ~(nand->erasesize - 1))) {
|
if (nand_block_isbad (nand, offset & ~(nand->erasesize - 1))) {
|
||||||
printf ("Skip bad block 0x%08zx\n",
|
printf ("Skip bad block 0x%08llx\n",
|
||||||
offset & ~(nand->erasesize - 1));
|
offset & ~(nand->erasesize - 1));
|
||||||
offset += nand->erasesize - block_offset;
|
offset += nand->erasesize - block_offset;
|
||||||
continue;
|
continue;
|
||||||
|
@ -522,7 +522,7 @@ int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
|
|
||||||
rval = nand_write (nand, offset, &write_size, p_buffer);
|
rval = nand_write (nand, offset, &write_size, p_buffer);
|
||||||
if (rval != 0) {
|
if (rval != 0) {
|
||||||
printf ("NAND write to offset %zx failed %d\n",
|
printf ("NAND write to offset %llx failed %d\n",
|
||||||
offset, rval);
|
offset, rval);
|
||||||
*length -= left_to_write;
|
*length -= left_to_write;
|
||||||
return rval;
|
return rval;
|
||||||
|
@ -550,7 +550,7 @@ int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
* @param buffer buffer to write to
|
* @param buffer buffer to write to
|
||||||
* @return 0 in case of success
|
* @return 0 in case of success
|
||||||
*/
|
*/
|
||||||
int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
int nand_read_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
|
||||||
u_char *buffer)
|
u_char *buffer)
|
||||||
{
|
{
|
||||||
int rval;
|
int rval;
|
||||||
|
@ -568,7 +568,7 @@ int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
if (len_incl_bad == *length) {
|
if (len_incl_bad == *length) {
|
||||||
rval = nand_read (nand, offset, length, buffer);
|
rval = nand_read (nand, offset, length, buffer);
|
||||||
if (rval != 0)
|
if (rval != 0)
|
||||||
printf ("NAND read from offset %zx failed %d\n",
|
printf ("NAND read from offset %llx failed %d\n",
|
||||||
offset, rval);
|
offset, rval);
|
||||||
|
|
||||||
return rval;
|
return rval;
|
||||||
|
@ -579,7 +579,7 @@ int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
size_t read_length;
|
size_t read_length;
|
||||||
|
|
||||||
if (nand_block_isbad (nand, offset & ~(nand->erasesize - 1))) {
|
if (nand_block_isbad (nand, offset & ~(nand->erasesize - 1))) {
|
||||||
printf ("Skipping bad block 0x%08zx\n",
|
printf ("Skipping bad block 0x%08llx\n",
|
||||||
offset & ~(nand->erasesize - 1));
|
offset & ~(nand->erasesize - 1));
|
||||||
offset += nand->erasesize - block_offset;
|
offset += nand->erasesize - block_offset;
|
||||||
continue;
|
continue;
|
||||||
|
@ -592,7 +592,7 @@ int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
||||||
|
|
||||||
rval = nand_read (nand, offset, &read_length, p_buffer);
|
rval = nand_read (nand, offset, &read_length, p_buffer);
|
||||||
if (rval != 0) {
|
if (rval != 0) {
|
||||||
printf ("NAND read from offset %zx failed %d\n",
|
printf ("NAND read from offset %llx failed %d\n",
|
||||||
offset, rval);
|
offset, rval);
|
||||||
*length -= left_to_read;
|
*length -= left_to_read;
|
||||||
return rval;
|
return rval;
|
||||||
|
|
|
@ -38,22 +38,22 @@ typedef struct mtd_info nand_info_t;
|
||||||
extern int nand_curr_device;
|
extern int nand_curr_device;
|
||||||
extern nand_info_t nand_info[];
|
extern nand_info_t nand_info[];
|
||||||
|
|
||||||
static inline int nand_read(nand_info_t *info, off_t ofs, size_t *len, u_char *buf)
|
static inline int nand_read(nand_info_t *info, loff_t ofs, size_t *len, u_char *buf)
|
||||||
{
|
{
|
||||||
return info->read(info, ofs, *len, (size_t *)len, buf);
|
return info->read(info, ofs, *len, (size_t *)len, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nand_write(nand_info_t *info, off_t ofs, size_t *len, u_char *buf)
|
static inline int nand_write(nand_info_t *info, loff_t ofs, size_t *len, u_char *buf)
|
||||||
{
|
{
|
||||||
return info->write(info, ofs, *len, (size_t *)len, buf);
|
return info->write(info, ofs, *len, (size_t *)len, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nand_block_isbad(nand_info_t *info, off_t ofs)
|
static inline int nand_block_isbad(nand_info_t *info, loff_t ofs)
|
||||||
{
|
{
|
||||||
return info->block_isbad(info, ofs);
|
return info->block_isbad(info, ofs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nand_erase(nand_info_t *info, off_t off, size_t size)
|
static inline int nand_erase(nand_info_t *info, loff_t off, size_t size)
|
||||||
{
|
{
|
||||||
struct erase_info instr;
|
struct erase_info instr;
|
||||||
|
|
||||||
|
@ -110,9 +110,9 @@ struct nand_erase_options {
|
||||||
|
|
||||||
typedef struct nand_erase_options nand_erase_options_t;
|
typedef struct nand_erase_options nand_erase_options_t;
|
||||||
|
|
||||||
int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
int nand_read_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
|
||||||
u_char *buffer);
|
u_char *buffer);
|
||||||
int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
|
int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length,
|
||||||
u_char *buffer);
|
u_char *buffer);
|
||||||
int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts);
|
int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts);
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts);
|
||||||
|
|
||||||
int nand_lock( nand_info_t *meminfo, int tight );
|
int nand_lock( nand_info_t *meminfo, int tight );
|
||||||
int nand_unlock( nand_info_t *meminfo, ulong start, ulong length );
|
int nand_unlock( nand_info_t *meminfo, ulong start, ulong length );
|
||||||
int nand_get_lock_status(nand_info_t *meminfo, ulong offset);
|
int nand_get_lock_status(nand_info_t *meminfo, loff_t offset);
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_NAND_SELECT_DEVICE
|
#ifdef CONFIG_SYS_NAND_SELECT_DEVICE
|
||||||
void board_nand_select_device(struct nand_chip *nand, int chip);
|
void board_nand_select_device(struct nand_chip *nand, int chip);
|
||||||
|
|
Loading…
Reference in New Issue