select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
        select SYSCTL_EXCEPTION_TRACE
-       select ARCH_WANT_OPTIONAL_GPIOLIB
        select VIRT_TO_BUS if !PPC64
        select HAVE_IDE
        select HAVE_IOREMAP_PROT
 
 config PPC4xx_GPIO
        bool "PPC4xx GPIO support"
        depends on 40x
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Enable gpiolib support for ppc40x based boards
 
 
 config PPC4xx_GPIO
        bool "PPC4xx GPIO support"
        depends on 44x
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Enable gpiolib support for ppc440 based boards
 
 
        select IPIC
        select PPC_PCI_CHOICE
        select FSL_PCI if PCI
-       select ARCH_WANT_OPTIONAL_GPIOLIB
        select USB_EHCI_BIG_ENDIAN_MMIO if USB_EHCI_HCD
        select USB_EHCI_BIG_ENDIAN_DESC if USB_EHCI_HCD
 
 
 # used for usb & gpio
 config PPC_MPC831x
        bool
-       select ARCH_WANT_OPTIONAL_GPIOLIB
 
 # used for math-emu
 config PPC_MPC832x
 # used for usb & gpio
 config PPC_MPC834x
        bool
-       select ARCH_WANT_OPTIONAL_GPIOLIB
 
 # used for usb & gpio
 config PPC_MPC837x
        bool
-       select ARCH_WANT_OPTIONAL_GPIOLIB
 
        select DEFAULT_UIMAGE
        select SWIOTLB
        select MMIO_NVRAM
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        select GE_FPGA
        help
          This option enables support for the GE Intelligent Platforms IMP3A
        select PPC_E500MC
        select PHYS_64BIT
        select SWIOTLB
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        select GPIO_MPC8XXX
        select HAS_RAPIDIO
        select PPC_EPAPR_HV_PIC
 
        depends on 6xx
        select FSL_SOC
        select ALTIVEC
-       select ARCH_WANT_OPTIONAL_GPIOLIB
        help
          The Freescale E600 SoCs have 74xx cores.
 
        bool "GE PPC9A"
        select DEFAULT_UIMAGE
        select MMIO_NVRAM
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        select GE_FPGA
        help
          This option enables support for the GE PPC9A.
        bool "GE SBC310"
        select DEFAULT_UIMAGE
        select MMIO_NVRAM
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        select GE_FPGA
        help
          This option enables support for the GE SBC310.
        bool "GE SBC610"
        select DEFAULT_UIMAGE
        select MMIO_NVRAM
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        select GE_FPGA
        select HAS_RAPIDIO
        help
 
 
 config 8xx_GPIO
        bool "GPIO API Support"
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Saying Y here will cause the ports on an MPC8xx processor to be used
          with the GPIO API.  If you say N here, the kernel needs less memory.
 
 config QE_GPIO
        bool "QE GPIO support"
        depends on QUICC_ENGINE
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Say Y here if you're going to use hardware that connects to the
          QE GPIOs.
        depends on (FSL_SOC_BOOKE && PPC32) || 8260
        select CPM
        select PPC_PCI_CHOICE
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          The CPM2 (Communications Processor Module) is a coprocessor on
          embedded CPUs made by Freescale.  Selecting this option means that
 config SIMPLE_GPIO
        bool "Support for simple, memory-mapped GPIO controllers"
        depends on PPC
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Say Y here to support simple, memory-mapped GPIO controllers.
          These are usually BCSRs used to control board's switches, LEDs,
 config MCU_MPC8349EMITX
        bool "MPC8349E-mITX MCU driver"
        depends on I2C=y && PPC_83xx
-       select ARCH_REQUIRE_GPIOLIB
+       select GPIOLIB
        help
          Say Y here to enable soft power-off functionality on the Freescale
          boards with the MPC8349E-mITX-compatible MCU chips. This driver will