mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +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 */
|
||||
#ifdef CONFIG_BLK_DEV_IDE_PMAC
|
||||
{
|
||||
extern void pmac_ide_probe(void);
|
||||
pmac_ide_probe();
|
||||
extern int pmac_ide_probe(void);
|
||||
(void)pmac_ide_probe();
|
||||
}
|
||||
#endif /* CONFIG_BLK_DEV_IDE_PMAC */
|
||||
#ifdef CONFIG_BLK_DEV_GAYLE
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
#include <asm/mediabay.h>
|
||||
#endif
|
||||
|
||||
#include "ide-timing.h"
|
||||
#include "../ide-timing.h"
|
||||
|
||||
#undef IDE_PMAC_DEBUG
|
||||
|
||||
|
@ -1551,19 +1551,34 @@ static struct pci_driver pmac_ide_pci_driver = {
|
|||
};
|
||||
MODULE_DEVICE_TABLE(pci, pmac_ide_pci_match);
|
||||
|
||||
void __init
|
||||
pmac_ide_probe(void)
|
||||
int __init pmac_ide_probe(void)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (!machine_is(powermac))
|
||||
return;
|
||||
return -ENODEV;
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST
|
||||
pci_register_driver(&pmac_ide_pci_driver);
|
||||
macio_register_driver(&pmac_ide_macio_driver);
|
||||
error = pci_register_driver(&pmac_ide_pci_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
|
||||
macio_register_driver(&pmac_ide_macio_driver);
|
||||
pci_register_driver(&pmac_ide_pci_driver);
|
||||
error = macio_register_driver(&pmac_ide_macio_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
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
|
||||
#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