mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 09:34:17 +00:00
mtd: rawnand: diskonchip: Replace mdelay with usleep_range in doc_probe
doc_probe() is never called in atomic context. doc_probe() is only called by init_nanddoc(), which is only set as a parameter of module_init(). This function is not called in atomic context. Despite never getting called from atomic context, doc_probe() calls mdelay() to busily wait. This is not necessary and can be replaced with usleep_range() to avoid busy waiting. This is found by a static analysis tool named DCNS written by myself. And I also manually check it. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
This commit is contained in:
parent
ddd5ed3a90
commit
7b4b199459
@ -1481,12 +1481,12 @@ static int __init doc_probe(unsigned long physadr)
|
||||
WriteDOC(tmp, virtadr, Mplus_DOCControl);
|
||||
WriteDOC(~tmp, virtadr, Mplus_CtrlConfirm);
|
||||
|
||||
mdelay(1);
|
||||
usleep_range(1000, 2000);
|
||||
/* Enable the Millennium Plus ASIC */
|
||||
tmp = DOC_MODE_NORMAL | DOC_MODE_MDWREN | DOC_MODE_RST_LAT | DOC_MODE_BDECT;
|
||||
WriteDOC(tmp, virtadr, Mplus_DOCControl);
|
||||
WriteDOC(~tmp, virtadr, Mplus_CtrlConfirm);
|
||||
mdelay(1);
|
||||
usleep_range(1000, 2000);
|
||||
|
||||
ChipID = ReadDOC(virtadr, ChipID);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user