mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
mtd: nand: pxa3xx: Fix not calling dev_xxx with a device
Use the device from any mtd already available, or from the active mtd via pxa3xx_nand_info if one is not. Signed-off-by: Sean Anderson <seanga2@gmail.com> Tested-by: Patrick Delaunay <patrick.delaunay@st.com>
This commit is contained in:
@@ -512,7 +512,7 @@ static int pxa3xx_nand_init_timings(struct pxa3xx_nand_host *host)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (i == ntypes) {
|
if (i == ntypes) {
|
||||||
dev_err(&info->pdev->dev, "Error: timings not found\n");
|
dev_err(mtd->dev, "Error: timings not found\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,7 +603,7 @@ static void drain_fifo(struct pxa3xx_nand_info *info, void *data, int len)
|
|||||||
ts = get_timer(0);
|
ts = get_timer(0);
|
||||||
while (!(nand_readl(info, NDSR) & NDSR_RDDREQ)) {
|
while (!(nand_readl(info, NDSR) & NDSR_RDDREQ)) {
|
||||||
if (get_timer(ts) > TIMEOUT_DRAIN_FIFO) {
|
if (get_timer(ts) > TIMEOUT_DRAIN_FIFO) {
|
||||||
dev_err(&info->pdev->dev,
|
dev_err(info->controller.active->mtd.dev,
|
||||||
"Timeout on RDDREQ while draining the FIFO\n");
|
"Timeout on RDDREQ while draining the FIFO\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -656,8 +656,8 @@ static void handle_data_pio(struct pxa3xx_nand_info *info)
|
|||||||
DIV_ROUND_UP(info->step_spare_size, 4));
|
DIV_ROUND_UP(info->step_spare_size, 4));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(&info->pdev->dev, "%s: invalid state %d\n", __func__,
|
dev_err(info->controller.active->mtd.dev,
|
||||||
info->state);
|
"%s: invalid state %d\n", __func__, info->state);
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1027,7 +1027,7 @@ static int prepare_set_command(struct pxa3xx_nand_info *info, int command,
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
exec_cmd = 0;
|
exec_cmd = 0;
|
||||||
dev_err(&info->pdev->dev, "non-supported command %x\n",
|
dev_err(mtd->dev, "non-supported command %x\n",
|
||||||
command);
|
command);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1087,7 +1087,7 @@ static void nand_cmdfunc(struct mtd_info *mtd, unsigned command,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
||||||
dev_err(&info->pdev->dev, "Wait timeout!!!\n");
|
dev_err(mtd->dev, "Wait timeout!!!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1180,7 +1180,7 @@ static void nand_cmdfunc_extended(struct mtd_info *mtd,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
||||||
dev_err(&info->pdev->dev, "Wait timeout!!!\n");
|
dev_err(mtd->dev, "Wait timeout!!!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1426,7 +1426,7 @@ static int pxa3xx_nand_waitfunc(struct mtd_info *mtd, struct nand_chip *this)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
if (get_timer(ts) > CHIP_DELAY_TIMEOUT) {
|
||||||
dev_err(&info->pdev->dev, "Ready timeout!!!\n");
|
dev_err(mtd->dev, "Ready timeout!!!\n");
|
||||||
return NAND_STATUS_FAIL;
|
return NAND_STATUS_FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1633,7 +1633,7 @@ static int pxa_ecc_init(struct pxa3xx_nand_info *info,
|
|||||||
ecc->strength = 16;
|
ecc->strength = 16;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
dev_err(&info->pdev->dev,
|
dev_err(info->controller.active->mtd.dev,
|
||||||
"ECC strength %d at page size %d is not supported\n",
|
"ECC strength %d at page size %d is not supported\n",
|
||||||
strength, page_size);
|
strength, page_size);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
@@ -1659,8 +1659,7 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
|
|||||||
return ret;
|
return ret;
|
||||||
ret = pxa3xx_nand_sensing(host);
|
ret = pxa3xx_nand_sensing(host);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_info(&info->pdev->dev,
|
dev_info(mtd->dev, "There is no chip on cs %d!\n",
|
||||||
"There is no chip on cs %d!\n",
|
|
||||||
info->cs);
|
info->cs);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1676,7 +1675,7 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
|
|||||||
if (!pdata->keep_config) {
|
if (!pdata->keep_config) {
|
||||||
ret = pxa3xx_nand_init_timings(host);
|
ret = pxa3xx_nand_init_timings(host);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&info->pdev->dev,
|
dev_err(mtd->dev,
|
||||||
"Failed to set timings: %d\n", ret);
|
"Failed to set timings: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -1720,7 +1719,7 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
|
|||||||
if (info->variant == PXA3XX_NAND_VARIANT_ARMADA370) {
|
if (info->variant == PXA3XX_NAND_VARIANT_ARMADA370) {
|
||||||
chip->cmdfunc = nand_cmdfunc_extended;
|
chip->cmdfunc = nand_cmdfunc_extended;
|
||||||
} else {
|
} else {
|
||||||
dev_err(&info->pdev->dev,
|
dev_err(mtd->dev,
|
||||||
"unsupported page size on this variant\n");
|
"unsupported page size on this variant\n");
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
@@ -1873,6 +1872,7 @@ static int pxa3xx_nand_probe_dt(struct pxa3xx_nand_info *info)
|
|||||||
|
|
||||||
static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
|
static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
|
||||||
{
|
{
|
||||||
|
struct mtd_info *mtd = &info->controller.active->mtd;
|
||||||
struct pxa3xx_nand_platform_data *pdata;
|
struct pxa3xx_nand_platform_data *pdata;
|
||||||
int ret, cs, probe_success;
|
int ret, cs, probe_success;
|
||||||
|
|
||||||
@@ -1884,7 +1884,7 @@ static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
|
|||||||
|
|
||||||
ret = alloc_nand_resource(info);
|
ret = alloc_nand_resource(info);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "alloc nand resource failed\n");
|
dev_err(mtd->dev, "alloc nand resource failed\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1901,7 +1901,7 @@ static int pxa3xx_nand_probe(struct pxa3xx_nand_info *info)
|
|||||||
info->cs = cs;
|
info->cs = cs;
|
||||||
ret = pxa3xx_nand_scan(mtd);
|
ret = pxa3xx_nand_scan(mtd);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_info(&pdev->dev, "failed to scan nand at cs %d\n",
|
dev_info(mtd->dev, "failed to scan nand at cs %d\n",
|
||||||
cs);
|
cs);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user