Skip to content

Commit 2865ed0

Browse files
Kuwano-sanambarus
authored andcommitted
mtd: spi-nor: core: get rid of SNOR_OVERLAID_REGION flag
Only SNOR_OVERLAID_REGION is defined for flags in the spi_nor_erase_region structure. It can be replaced by a boolean parameter. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Reviewed-by: Michael Walle <mwalle@kernel.org> Link: https://lore.kernel.org/r/076416d5dc8328dec72d31db12b9bec96bf0ac66.1708404584.git.Takahiro.Kuwano@infineon.com Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
1 parent df6e36e commit 2865ed0

File tree

4 files changed

+8
-17
lines changed

4 files changed

+8
-17
lines changed

drivers/mtd/spi-nor/core.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1557,8 +1557,7 @@ spi_nor_find_best_erase_type(const struct spi_nor_erase_map *map,
15571557
continue;
15581558

15591559
/* Alignment is not mandatory for overlaid regions */
1560-
if (region->flags & SNOR_OVERLAID_REGION &&
1561-
region->size <= len)
1560+
if (region->overlaid && region->size <= len)
15621561
return erase;
15631562

15641563
/* Don't erase more than what the user has asked for. */
@@ -1595,7 +1594,7 @@ spi_nor_init_erase_cmd(const struct spi_nor_erase_region *region,
15951594
cmd->opcode = erase->opcode;
15961595
cmd->count = 1;
15971596

1598-
if (region->flags & SNOR_OVERLAID_REGION)
1597+
if (region->overlaid)
15991598
cmd->size = region->size;
16001599
else
16011600
cmd->size = erase->size;
@@ -1653,7 +1652,7 @@ static int spi_nor_init_erase_cmd_list(struct spi_nor *nor,
16531652
goto destroy_erase_cmd_list;
16541653

16551654
if (prev_erase != erase || erase->size != cmd->size ||
1656-
region->flags & SNOR_OVERLAID_REGION) {
1655+
region->overlaid) {
16571656
cmd = spi_nor_init_erase_cmd(region, erase);
16581657
if (IS_ERR(cmd)) {
16591658
ret = PTR_ERR(cmd);

drivers/mtd/spi-nor/core.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,19 +245,17 @@ struct spi_nor_erase_command {
245245
* inside this region. The erase types are sorted in
246246
* ascending order with the smallest Erase Type size being
247247
* at BIT(0).
248-
* @flags: flags to determine if this region is overlaid.
248+
* @overlaid: determine if this region is overlaid.
249249
*/
250250
struct spi_nor_erase_region {
251251
u64 offset;
252252
u64 size;
253253
u8 erase_mask;
254-
u8 flags;
254+
bool overlaid;
255255
};
256256

257257
#define SNOR_ERASE_TYPE_MAX 4
258258

259-
#define SNOR_OVERLAID_REGION BIT(0)
260-
261259
/**
262260
* struct spi_nor_erase_map - Structure to describe the SPI NOR erase map
263261
* @regions: array of erase regions. The regions are consecutive in

drivers/mtd/spi-nor/debugfs.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,21 +142,20 @@ static int spi_nor_params_show(struct seq_file *s, void *data)
142142
}
143143

144144
seq_puts(s, "\nsector map\n");
145-
seq_puts(s, " region (in hex) | erase mask | flags\n");
145+
seq_puts(s, " region (in hex) | erase mask | overlaid\n");
146146
seq_puts(s, " ------------------+------------+----------\n");
147147
for (i = 0; i < erase_map->n_regions; i++) {
148148
u64 start = region[i].offset;
149149
u64 end = start + region[i].size - 1;
150150
u8 erase_mask = region[i].erase_mask;
151-
u8 flags = region[i].flags;
152151

153152
seq_printf(s, " %08llx-%08llx | [%c%c%c%c] | %s\n",
154153
start, end,
155154
erase_mask & BIT(0) ? '0' : ' ',
156155
erase_mask & BIT(1) ? '1' : ' ',
157156
erase_mask & BIT(2) ? '2' : ' ',
158157
erase_mask & BIT(3) ? '3' : ' ',
159-
flags & SNOR_OVERLAID_REGION ? "overlaid" : "");
158+
region[i].overlaid ? "yes" : "no");
160159
}
161160

162161
return 0;

drivers/mtd/spi-nor/sfdp.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -800,11 +800,6 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt,
800800
return ret;
801801
}
802802

803-
static void spi_nor_region_mark_overlay(struct spi_nor_erase_region *region)
804-
{
805-
region->flags |= SNOR_OVERLAID_REGION;
806-
}
807-
808803
/**
809804
* spi_nor_region_check_overlay() - set overlay bit when the region is overlaid
810805
* @region: pointer to a structure that describes a SPI NOR erase region
@@ -822,7 +817,7 @@ spi_nor_region_check_overlay(struct spi_nor_erase_region *region,
822817
if (!(erase[i].size && erase_type & BIT(erase[i].idx)))
823818
continue;
824819
if (region->size & erase[i].size_mask) {
825-
spi_nor_region_mark_overlay(region);
820+
region->overlaid = true;
826821
return;
827822
}
828823
}

0 commit comments

Comments
 (0)