select PPC_I8259
        select PPC_RTAS
        select RTAS_ERROR_LOGGING
+       select RTAS_FW
        default y
 
 config PPC_CHRP
        bool "  Cell Broadband Processor Architecture"
        depends on PPC_MULTIPLATFORM && PPC64
        select PPC_RTAS
+       select RTAS_FW
 
 config PPC_OF
        bool
        depends on PPC_RTAS
        default n
 
+config RTAS_FW
+       bool
+       depends on PPC_RTAS
+       default n
+
 config MPIC_BROKEN_U3
        bool
        depends on PPC_MAPLE
 
 obj-$(CONFIG_POWER4)           += idle_power4.o
 obj-$(CONFIG_PPC_OF)           += of_device.o
 obj-$(CONFIG_PPC_RTAS)         += rtas.o
+obj-$(CONFIG_RTAS_FW)          += rtas_fw.o
 obj-$(CONFIG_IBMVIO)           += vio.o
 
 ifeq ($(CONFIG_PPC_MERGE),y)
 
 /*
  *
- * Procedures for firmware flash updates on pSeries systems.
+ * Procedures for firmware flash updates.
  *
  * Peter Bergner, IBM  March 2001.
  * Copyright (C) 2001 IBM.
 #include <asm/uaccess.h>
 #include <asm/systemcfg.h>
 
-#include "rtas-fw.h"
-
 struct flash_block_list_header rtas_firmware_flash_list = {0, NULL};
 
 #define FLASH_BLOCK_LIST_VERSION (1UL)
 
 obj-y                  := pci.o lpar.o hvCall.o nvram.o reconfig.o \
-                          setup.o iommu.o rtas-fw.o ras.o
+                          setup.o iommu.o ras.o
 obj-$(CONFIG_SMP)      += smp.o
 obj-$(CONFIG_IBMVIO)   += vio.o
 obj-$(CONFIG_XICS)     += xics.o
 
+++ /dev/null
-void rtas_fw_restart(char *cmd);
-void rtas_fw_power_off(void);
-void rtas_fw_halt(void);
 
        struct flash_block_list *next;
 };
 extern struct flash_block_list_header rtas_firmware_flash_list;
+void rtas_fw_restart(char *cmd);
+void rtas_fw_power_off(void);
+void rtas_fw_halt(void);
 
 extern struct rtas_t rtas;