mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
ide: move wait_hwif_ready() documentation in the right place
* Move wait_hwif_ready() documentation before this function. * Fix trailing whitespaces. * s/wait-for-busy/wait-for-non-busy/ * Remove no longer valid comment about the current code behavior. * Docbook-ize it. * Rename wait_hwif_ready() to ide_port_wait_ready(). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
cf7125ae05
commit
c860a8f2d2
1 changed files with 28 additions and 21 deletions
|
@ -634,7 +634,33 @@ static void hwif_register (ide_hwif_t *hwif)
|
||||||
__FUNCTION__, ret);
|
__FUNCTION__, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wait_hwif_ready(ide_hwif_t *hwif)
|
/**
|
||||||
|
* ide_port_wait_ready - wait for port to become ready
|
||||||
|
* @hwif: IDE port
|
||||||
|
*
|
||||||
|
* This is needed on some PPCs and a bunch of BIOS-less embedded
|
||||||
|
* platforms. Typical cases are:
|
||||||
|
*
|
||||||
|
* - The firmware hard reset the disk before booting the kernel,
|
||||||
|
* the drive is still doing it's poweron-reset sequence, that
|
||||||
|
* can take up to 30 seconds.
|
||||||
|
*
|
||||||
|
* - The firmware does nothing (or no firmware), the device is
|
||||||
|
* still in POST state (same as above actually).
|
||||||
|
*
|
||||||
|
* - Some CD/DVD/Writer combo drives tend to drive the bus during
|
||||||
|
* their reset sequence even when they are non-selected slave
|
||||||
|
* devices, thus preventing discovery of the main HD.
|
||||||
|
*
|
||||||
|
* Doing this wait-for-non-busy should not harm any existing
|
||||||
|
* configuration and fix some issues like the above.
|
||||||
|
*
|
||||||
|
* BenH.
|
||||||
|
*
|
||||||
|
* Returns 0 on success, error code (< 0) otherwise.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int ide_port_wait_ready(ide_hwif_t *hwif)
|
||||||
{
|
{
|
||||||
int unit, rc;
|
int unit, rc;
|
||||||
|
|
||||||
|
@ -742,26 +768,7 @@ static void probe_hwif(ide_hwif_t *hwif)
|
||||||
|
|
||||||
local_irq_set(flags);
|
local_irq_set(flags);
|
||||||
|
|
||||||
/* This is needed on some PPCs and a bunch of BIOS-less embedded
|
if (ide_port_wait_ready(hwif) == -EBUSY)
|
||||||
* platforms. Typical cases are:
|
|
||||||
*
|
|
||||||
* - The firmware hard reset the disk before booting the kernel,
|
|
||||||
* the drive is still doing it's poweron-reset sequence, that
|
|
||||||
* can take up to 30 seconds
|
|
||||||
* - The firmware does nothing (or no firmware), the device is
|
|
||||||
* still in POST state (same as above actually).
|
|
||||||
* - Some CD/DVD/Writer combo drives tend to drive the bus during
|
|
||||||
* their reset sequence even when they are non-selected slave
|
|
||||||
* devices, thus preventing discovery of the main HD
|
|
||||||
*
|
|
||||||
* Doing this wait-for-busy should not harm any existing configuration
|
|
||||||
* (at least things won't be worse than what current code does, that
|
|
||||||
* is blindly go & talk to the drive) and fix some issues like the
|
|
||||||
* above.
|
|
||||||
*
|
|
||||||
* BenH.
|
|
||||||
*/
|
|
||||||
if (wait_hwif_ready(hwif) == -EBUSY)
|
|
||||||
printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name);
|
printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue