mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 00:33:16 +00:00
Four minor fixes for NAND controller drivers (cleanup path, double
actions, and W=1 warning) as well as a cast to avoid overflows in an mtd device driver. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEE9HuaYnbmDhq/XIDIJWrqGEe9VoQFAmdq2NcACgkQJWrqGEe9 VoSb7Qf9GxZ6/Eao4ziJD+N35en9TPd3XrQlI29JBfncX/+2eA2MyrJUo0PBLAkg M750h0JTRAa7qIMcgKN56wJ5BLSM25ob2y85HqBswBM44QlJb4bdAxTgj5w/uU26 gYV2cOgzAnh7TwHtjovuaTAH12O+yEYr1fhtDEdPdYgJDSetK3MPBIHyFr7Cy4z/ eXrEMpYRAU9Y1J/Af3UZFoZ79EhOaenZJ+VI2mtho+y+jgefGTYv7ABFl81pPVlW ezy7p5tF5esGzz8qELavT1J60jL15gDAVQ2VQ94flb7o7QN+nFjA+55xSriLCmKF co4S7r9KmysVykD3D3HsVTTfHXHDUg== =YZbm -----END PGP SIGNATURE----- Merge tag 'mtd/fixes-for-6.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux Pull mtd fixes from Miquel Raynal: "Four minor fixes for NAND controller drivers (cleanup path, double actions, and W=1 warning) as well as a cast to avoid overflows in an mtd device driver" * tag 'mtd/fixes-for-6.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: mtd: rawnand: omap2: Fix build warnings with W=1 mtd: rawnand: arasan: Fix missing de-registration of NAND mtd: rawnand: arasan: Fix double assertion of chip-select mtd: diskonchip: Cast an operand to prevent potential overflow mtd: rawnand: fix double free in atmel_pmecc_create_user()
This commit is contained in:
commit
9b2ffa6148
@ -1409,8 +1409,8 @@ static int anfc_parse_cs(struct arasan_nfc *nfc)
|
|||||||
* case, the "not" chosen CS is assigned to nfc->spare_cs and selected
|
* case, the "not" chosen CS is assigned to nfc->spare_cs and selected
|
||||||
* whenever a GPIO CS must be asserted.
|
* whenever a GPIO CS must be asserted.
|
||||||
*/
|
*/
|
||||||
if (nfc->cs_array && nfc->ncs > 2) {
|
if (nfc->cs_array) {
|
||||||
if (!nfc->cs_array[0] && !nfc->cs_array[1]) {
|
if (nfc->ncs > 2 && !nfc->cs_array[0] && !nfc->cs_array[1]) {
|
||||||
dev_err(nfc->dev,
|
dev_err(nfc->dev,
|
||||||
"Assign a single native CS when using GPIOs\n");
|
"Assign a single native CS when using GPIOs\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -1478,8 +1478,15 @@ static int anfc_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
static void anfc_remove(struct platform_device *pdev)
|
static void anfc_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
struct arasan_nfc *nfc = platform_get_drvdata(pdev);
|
struct arasan_nfc *nfc = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
|
for (i = 0; i < nfc->ncs; i++) {
|
||||||
|
if (nfc->cs_array[i]) {
|
||||||
|
gpiod_put(nfc->cs_array[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
anfc_chips_cleanup(nfc);
|
anfc_chips_cleanup(nfc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -380,10 +380,8 @@ atmel_pmecc_create_user(struct atmel_pmecc *pmecc,
|
|||||||
user->delta = user->dmu + req->ecc.strength + 1;
|
user->delta = user->dmu + req->ecc.strength + 1;
|
||||||
|
|
||||||
gf_tables = atmel_pmecc_get_gf_tables(req);
|
gf_tables = atmel_pmecc_get_gf_tables(req);
|
||||||
if (IS_ERR(gf_tables)) {
|
if (IS_ERR(gf_tables))
|
||||||
kfree(user);
|
|
||||||
return ERR_CAST(gf_tables);
|
return ERR_CAST(gf_tables);
|
||||||
}
|
|
||||||
|
|
||||||
user->gf_tables = gf_tables;
|
user->gf_tables = gf_tables;
|
||||||
|
|
||||||
|
@ -1098,7 +1098,7 @@ static inline int __init inftl_partscan(struct mtd_info *mtd, struct mtd_partiti
|
|||||||
(i == 0) && (ip->firstUnit > 0)) {
|
(i == 0) && (ip->firstUnit > 0)) {
|
||||||
parts[0].name = " DiskOnChip IPL / Media Header partition";
|
parts[0].name = " DiskOnChip IPL / Media Header partition";
|
||||||
parts[0].offset = 0;
|
parts[0].offset = 0;
|
||||||
parts[0].size = mtd->erasesize * ip->firstUnit;
|
parts[0].size = (uint64_t)mtd->erasesize * ip->firstUnit;
|
||||||
numparts = 1;
|
numparts = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,6 +254,10 @@ static int omap_prefetch_reset(int cs, struct omap_nand_info *info)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_nand_data_in_pref - NAND data in using prefetch engine
|
* omap_nand_data_in_pref - NAND data in using prefetch engine
|
||||||
|
* @chip: NAND chip
|
||||||
|
* @buf: output buffer where NAND data is placed into
|
||||||
|
* @len: length of transfer
|
||||||
|
* @force_8bit: force 8-bit transfers
|
||||||
*/
|
*/
|
||||||
static void omap_nand_data_in_pref(struct nand_chip *chip, void *buf,
|
static void omap_nand_data_in_pref(struct nand_chip *chip, void *buf,
|
||||||
unsigned int len, bool force_8bit)
|
unsigned int len, bool force_8bit)
|
||||||
@ -297,6 +301,10 @@ static void omap_nand_data_in_pref(struct nand_chip *chip, void *buf,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_nand_data_out_pref - NAND data out using Write Posting engine
|
* omap_nand_data_out_pref - NAND data out using Write Posting engine
|
||||||
|
* @chip: NAND chip
|
||||||
|
* @buf: input buffer that is sent to NAND
|
||||||
|
* @len: length of transfer
|
||||||
|
* @force_8bit: force 8-bit transfers
|
||||||
*/
|
*/
|
||||||
static void omap_nand_data_out_pref(struct nand_chip *chip,
|
static void omap_nand_data_out_pref(struct nand_chip *chip,
|
||||||
const void *buf, unsigned int len,
|
const void *buf, unsigned int len,
|
||||||
@ -440,6 +448,10 @@ static inline int omap_nand_dma_transfer(struct nand_chip *chip,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_nand_data_in_dma_pref - NAND data in using DMA and Prefetch
|
* omap_nand_data_in_dma_pref - NAND data in using DMA and Prefetch
|
||||||
|
* @chip: NAND chip
|
||||||
|
* @buf: output buffer where NAND data is placed into
|
||||||
|
* @len: length of transfer
|
||||||
|
* @force_8bit: force 8-bit transfers
|
||||||
*/
|
*/
|
||||||
static void omap_nand_data_in_dma_pref(struct nand_chip *chip, void *buf,
|
static void omap_nand_data_in_dma_pref(struct nand_chip *chip, void *buf,
|
||||||
unsigned int len, bool force_8bit)
|
unsigned int len, bool force_8bit)
|
||||||
@ -460,6 +472,10 @@ static void omap_nand_data_in_dma_pref(struct nand_chip *chip, void *buf,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* omap_nand_data_out_dma_pref - NAND data out using DMA and write posting
|
* omap_nand_data_out_dma_pref - NAND data out using DMA and write posting
|
||||||
|
* @chip: NAND chip
|
||||||
|
* @buf: input buffer that is sent to NAND
|
||||||
|
* @len: length of transfer
|
||||||
|
* @force_8bit: force 8-bit transfers
|
||||||
*/
|
*/
|
||||||
static void omap_nand_data_out_dma_pref(struct nand_chip *chip,
|
static void omap_nand_data_out_dma_pref(struct nand_chip *chip,
|
||||||
const void *buf, unsigned int len,
|
const void *buf, unsigned int len,
|
||||||
|
Loading…
Reference in New Issue
Block a user