mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 21:57:43 +00:00
ide: fix pmac breakage
Fix breakage added in the IDE devel tree. Add header, then fix drivers/ide/ppc/pmac.c: In function `pmac_ide_setup_dma': drivers/ide/ppc/pmac.c:2044: warning: assignment from incompatible pointer type drivers/ide/ppc/pmac.c: In function `pmac_ide_dma_host_on': drivers/ide/ppc/pmac.c:1989: warning: control reaches end of non-void function include/linux/pci.h: In function `pmac_ide_init': drivers/ide/ppc/pmac.c:1563: warning: ignoring return value of `pci_register_driver', declared with attribute warn_unused_result Then add some apparently-long-missing error handling. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
ed89616786
commit
9e5755bce0
2 changed files with 26 additions and 11 deletions
|
@ -1840,8 +1840,8 @@ static void __init probe_for_hwifs (void)
|
||||||
#endif /* CONFIG_BLK_DEV_CMD640 */
|
#endif /* CONFIG_BLK_DEV_CMD640 */
|
||||||
#ifdef CONFIG_BLK_DEV_IDE_PMAC
|
#ifdef CONFIG_BLK_DEV_IDE_PMAC
|
||||||
{
|
{
|
||||||
extern void pmac_ide_probe(void);
|
extern int pmac_ide_probe(void);
|
||||||
pmac_ide_probe();
|
(void)pmac_ide_probe();
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_BLK_DEV_IDE_PMAC */
|
#endif /* CONFIG_BLK_DEV_IDE_PMAC */
|
||||||
#ifdef CONFIG_BLK_DEV_GAYLE
|
#ifdef CONFIG_BLK_DEV_GAYLE
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
#include <asm/mediabay.h>
|
#include <asm/mediabay.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ide-timing.h"
|
#include "../ide-timing.h"
|
||||||
|
|
||||||
#undef IDE_PMAC_DEBUG
|
#undef IDE_PMAC_DEBUG
|
||||||
|
|
||||||
|
@ -1551,19 +1551,34 @@ static struct pci_driver pmac_ide_pci_driver = {
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(pci, pmac_ide_pci_match);
|
MODULE_DEVICE_TABLE(pci, pmac_ide_pci_match);
|
||||||
|
|
||||||
void __init
|
int __init pmac_ide_probe(void)
|
||||||
pmac_ide_probe(void)
|
|
||||||
{
|
{
|
||||||
|
int error;
|
||||||
|
|
||||||
if (!machine_is(powermac))
|
if (!machine_is(powermac))
|
||||||
return;
|
return -ENODEV;
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST
|
#ifdef CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST
|
||||||
pci_register_driver(&pmac_ide_pci_driver);
|
error = pci_register_driver(&pmac_ide_pci_driver);
|
||||||
macio_register_driver(&pmac_ide_macio_driver);
|
if (error)
|
||||||
|
goto out;
|
||||||
|
error = macio_register_driver(&pmac_ide_macio_driver);
|
||||||
|
if (error) {
|
||||||
|
pci_unregister_driver(&pmac_ide_pci_driver);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
macio_register_driver(&pmac_ide_macio_driver);
|
error = macio_register_driver(&pmac_ide_macio_driver);
|
||||||
pci_register_driver(&pmac_ide_pci_driver);
|
if (error)
|
||||||
|
goto out;
|
||||||
|
error = pci_register_driver(&pmac_ide_pci_driver);
|
||||||
|
if (error) {
|
||||||
|
macio_unregister_driver(&pmac_ide_macio_driver);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
out:
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC
|
#ifdef CONFIG_BLK_DEV_IDEDMA_PMAC
|
||||||
|
@ -1983,7 +1998,7 @@ static void pmac_ide_dma_host_off(ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pmac_ide_dma_host_on(ide_drive_t *drive)
|
static void pmac_ide_dma_host_on(ide_drive_t *drive)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue