ppc: remove ppc_ide_md

* Add special cases for pplus and prep to ide_default_{irq,io_base}()
  (+ FIXMEs about the need to use IDE platform host driver instead).

* Remove no longer needed ppc_ide_md and struct ide_machdep_calls.

* Then remove <linux/ide.h> include from:
  - arch/powerpc/kernel/setup_32.c
  - arch/ppc/kernel/ppc_ksyms.c
  - arch/ppc/kernel/setup.c
  - arch/ppc/platforms/pplus.c
  - arch/ppc/platforms/prep_setup.c

There should be no functional changes caused by this patch.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
Bartlomiej Zolnierkiewicz
2008-04-18 00:46:32 +02:00
parent 5d682e4407
commit 1d850bd0b2
7 changed files with 32 additions and 107 deletions
+32 -15
View File
@@ -31,30 +31,47 @@
#include <linux/hdreg.h>
#include <linux/ioport.h>
struct ide_machdep_calls {
int (*default_irq)(unsigned long base);
unsigned long (*default_io_base)(int index);
void (*ide_init_hwif)(hw_regs_t *hw,
unsigned long data_port,
unsigned long ctrl_port,
int *irq);
};
extern struct ide_machdep_calls ppc_ide_md;
#define IDE_ARCH_OBSOLETE_DEFAULTS
/* FIXME: use ide_platform host driver */
static __inline__ int ide_default_irq(unsigned long base)
{
if (ppc_ide_md.default_irq)
return ppc_ide_md.default_irq(base);
#ifdef CONFIG_PPLUS
switch (base) {
case 0x1f0: return 14;
case 0x170: return 15;
}
#endif
#ifdef CONFIG_PPC_PREP
switch (base) {
case 0x1f0: return 13;
case 0x170: return 13;
case 0x1e8: return 11;
case 0x168: return 10;
case 0xfff0: return 14; /* MCP(N)750 ide0 */
case 0xffe0: return 15; /* MCP(N)750 ide1 */
}
#endif
return 0;
}
/* FIXME: use ide_platform host driver */
static __inline__ unsigned long ide_default_io_base(int index)
{
if (ppc_ide_md.default_io_base)
return ppc_ide_md.default_io_base(index);
#ifdef CONFIG_PPLUS
switch (index) {
case 0: return 0x1f0;
case 1: return 0x170;
}
#endif
#ifdef CONFIG_PPC_PREP
switch (index) {
case 0: return 0x1f0;
case 1: return 0x170;
case 2: return 0x1e8;
case 3: return 0x168;
}
#endif
return 0;
}