Skip to content

Commit

Permalink
mtd: sh_flctl: Minor cleanups
Browse files Browse the repository at this point in the history
Some small fixes to avoid sparse and smatch complain. Other cosmetic fixes
as well.

- Change of the type of the member index in struct sh_flctl from signed
to unsigned. We use index by addressing array members, so unsigned is more
concise here. Adapt functions relying on sh_flctl::index.
- Remove a blurring cast in write_fiforeg().
- Apply consistent naming scheme when refering to the data buffer.
- Shorten some unnecessarily verbose functions.
- Remove spaces at start of lines.

Signed-off-by: Bastian Hecht <hechtb@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  • Loading branch information
Bastian Hecht authored and Artem Bityutskiy committed Nov 15, 2012
1 parent 5de0b52 commit e8a9d8f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 22 deletions.
37 changes: 16 additions & 21 deletions drivers/mtd/nand/sh_flctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ static enum flctl_ecc_res_t wait_recfifo_ready

for (i = 0; i < 3; i++) {
uint8_t org;
int index;
unsigned int index;

data = readl(ecc_reg[i]);

Expand Down Expand Up @@ -305,28 +305,29 @@ static enum flctl_ecc_res_t read_ecfiforeg
return res;
}

static void write_fiforeg(struct sh_flctl *flctl, int rlen, int offset)
static void write_fiforeg(struct sh_flctl *flctl, int rlen,
unsigned int offset)
{
int i, len_4align;
unsigned long *data = (unsigned long *)&flctl->done_buff[offset];
void *fifo_addr = (void *)FLDTFIFO(flctl);
unsigned long *buf = (unsigned long *)&flctl->done_buff[offset];

len_4align = (rlen + 3) / 4;
for (i = 0; i < len_4align; i++) {
wait_wfifo_ready(flctl);
writel(cpu_to_be32(data[i]), fifo_addr);
writel(cpu_to_be32(buf[i]), FLDTFIFO(flctl));
}
}

static void write_ec_fiforeg(struct sh_flctl *flctl, int rlen, int offset)
static void write_ec_fiforeg(struct sh_flctl *flctl, int rlen,
unsigned int offset)
{
int i, len_4align;
unsigned long *data = (unsigned long *)&flctl->done_buff[offset];
unsigned long *buf = (unsigned long *)&flctl->done_buff[offset];

len_4align = (rlen + 3) / 4;
for (i = 0; i < len_4align; i++) {
wait_wecfifo_ready(flctl);
writel(cpu_to_be32(data[i]), FLECFIFO(flctl));
writel(cpu_to_be32(buf[i]), FLECFIFO(flctl));
}
}

Expand Down Expand Up @@ -748,41 +749,35 @@ static void flctl_select_chip(struct mtd_info *mtd, int chipnr)
static void flctl_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
{
struct sh_flctl *flctl = mtd_to_flctl(mtd);
int index = flctl->index;

memcpy(&flctl->done_buff[index], buf, len);
memcpy(&flctl->done_buff[flctl->index], buf, len);
flctl->index += len;
}

static uint8_t flctl_read_byte(struct mtd_info *mtd)
{
struct sh_flctl *flctl = mtd_to_flctl(mtd);
int index = flctl->index;
uint8_t data;

data = flctl->done_buff[index];
data = flctl->done_buff[flctl->index];
flctl->index++;
return data;
}

static uint16_t flctl_read_word(struct mtd_info *mtd)
{
struct sh_flctl *flctl = mtd_to_flctl(mtd);
int index = flctl->index;
uint16_t data;
uint16_t *buf = (uint16_t *)&flctl->done_buff[index];
struct sh_flctl *flctl = mtd_to_flctl(mtd);
uint16_t *buf = (uint16_t *)&flctl->done_buff[flctl->index];

data = *buf;
flctl->index += 2;
return data;
flctl->index += 2;
return *buf;
}

static void flctl_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
{
struct sh_flctl *flctl = mtd_to_flctl(mtd);
int index = flctl->index;

memcpy(buf, &flctl->done_buff[index], len);
memcpy(buf, &flctl->done_buff[flctl->index], len);
flctl->index += len;
}

Expand Down
2 changes: 1 addition & 1 deletion include/linux/mtd/sh_flctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ struct sh_flctl {

uint8_t done_buff[2048 + 64]; /* max size 2048 + 64 */
int read_bytes;
int index;
unsigned int index;
int seqin_column; /* column in SEQIN cmd */
int seqin_page_addr; /* page_addr in SEQIN cmd */
uint32_t seqin_read_cmd; /* read cmd in SEQIN cmd */
Expand Down

0 comments on commit e8a9d8f

Please sign in to comment.