mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
mtd: spi-nor: move spi_nor_post_bfpt_fixups() into sfdp
Move spi_nor_post_bfpt_fixups() into the sfdp module because it's really only needed there. While at it, add some documentation. Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Michael Walle <mwalle@kernel.org>
This commit is contained in:
parent
0ede46b4f5
commit
69d9d7dabb
|
|
@ -2581,26 +2581,6 @@ void spi_nor_init_uniform_erase_map(struct spi_nor_erase_map *map,
|
||||||
map->n_regions = 1;
|
map->n_regions = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spi_nor_post_bfpt_fixups(struct spi_nor *nor,
|
|
||||||
const struct sfdp_parameter_header *bfpt_header,
|
|
||||||
const struct sfdp_bfpt *bfpt)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (nor->manufacturer && nor->manufacturer->fixups &&
|
|
||||||
nor->manufacturer->fixups->post_bfpt) {
|
|
||||||
ret = nor->manufacturer->fixups->post_bfpt(nor, bfpt_header,
|
|
||||||
bfpt);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nor->info->fixups && nor->info->fixups->post_bfpt)
|
|
||||||
return nor->info->fixups->post_bfpt(nor, bfpt_header, bfpt);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int spi_nor_select_read(struct spi_nor *nor,
|
static int spi_nor_select_read(struct spi_nor *nor,
|
||||||
u32 shared_hwcaps)
|
u32 shared_hwcaps)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -684,10 +684,6 @@ void spi_nor_mask_erase_type(struct spi_nor_erase_type *erase);
|
||||||
void spi_nor_init_uniform_erase_map(struct spi_nor_erase_map *map,
|
void spi_nor_init_uniform_erase_map(struct spi_nor_erase_map *map,
|
||||||
u8 erase_mask, u64 flash_size);
|
u8 erase_mask, u64 flash_size);
|
||||||
|
|
||||||
int spi_nor_post_bfpt_fixups(struct spi_nor *nor,
|
|
||||||
const struct sfdp_parameter_header *bfpt_header,
|
|
||||||
const struct sfdp_bfpt *bfpt);
|
|
||||||
|
|
||||||
void spi_nor_init_default_locking_ops(struct spi_nor *nor);
|
void spi_nor_init_default_locking_ops(struct spi_nor *nor);
|
||||||
bool spi_nor_has_default_locking_ops(struct spi_nor *nor);
|
bool spi_nor_has_default_locking_ops(struct spi_nor *nor);
|
||||||
void spi_nor_try_unlock_all(struct spi_nor *nor);
|
void spi_nor_try_unlock_all(struct spi_nor *nor);
|
||||||
|
|
|
||||||
|
|
@ -401,6 +401,37 @@ static void spi_nor_regions_sort_erase_types(struct spi_nor_erase_map *map)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* spi_nor_post_bfpt_fixups() - Updates the flash's parameters and settings
|
||||||
|
* after BFPT has been parsed. Called only for flashes that define JESD216 SFDP
|
||||||
|
* tables.
|
||||||
|
* @nor: pointer to a 'struct spi_nor'
|
||||||
|
* @bfpt_header: pointer to the 'struct sfdp_parameter_header' describing
|
||||||
|
* the Basic Flash Parameter Table length and version
|
||||||
|
*
|
||||||
|
* Used to tweak various flash parameters when information provided by the SFDP
|
||||||
|
* tables are wrong.
|
||||||
|
*/
|
||||||
|
static int spi_nor_post_bfpt_fixups(struct spi_nor *nor,
|
||||||
|
const struct sfdp_parameter_header *bfpt_header,
|
||||||
|
const struct sfdp_bfpt *bfpt)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (nor->manufacturer && nor->manufacturer->fixups &&
|
||||||
|
nor->manufacturer->fixups->post_bfpt) {
|
||||||
|
ret = nor->manufacturer->fixups->post_bfpt(nor, bfpt_header,
|
||||||
|
bfpt);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nor->info->fixups && nor->info->fixups->post_bfpt)
|
||||||
|
return nor->info->fixups->post_bfpt(nor, bfpt_header, bfpt);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* spi_nor_parse_bfpt() - read and parse the Basic Flash Parameter Table.
|
* spi_nor_parse_bfpt() - read and parse the Basic Flash Parameter Table.
|
||||||
* @nor: pointer to a 'struct spi_nor'
|
* @nor: pointer to a 'struct spi_nor'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user