config GENERIC_SMP_IDLE_THREAD
        bool
 
-config GENERIC_IDLE_LOOP
-       bool
-
 # Select if arch init_task initializer is different to init/init_task.c
 config ARCH_INIT_TASK
        bool
 
        select ARCH_WANT_IPC_PARSE_VERSION
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select GENERIC_CMOS_UPDATE
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
 
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS
        select GENERIC_FIND_FIRST_BIT
-       select GENERIC_IDLE_LOOP
        # for now, we don't need GENERIC_IRQ_PROBE, CONFIG_GENERIC_IRQ_CHIP
        select GENERIC_IRQ_SHOW
        select GENERIC_KERNEL_EXECVE
 
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select GENERIC_IDLE_POLL_SETUP
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
 
        select CLONE_BACKWARDS
        select COMMON_CLK
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select GENERIC_IOMAP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
 
        select VIRT_TO_BUS
        select GENERIC_IRQ_PROBE
        select GENERIC_ATOMIC64
-       select GENERIC_IDLE_LOOP
        select HARDIRQS_SW_RESEND
        select GENERIC_IRQ_SHOW
        select ARCH_HAVE_CUSTOM_GPIO_H
 
        select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS
        select HAVE_MOD_ARCH_SPECIFIC
        select MODULES_USE_ELF_RELA
 
        select OF_EARLY_FLATTREE
        select GENERIC_CLOCKEVENTS
        select MODULES_USE_ELF_RELA
-       select GENERIC_IDLE_LOOP
 
 config MMU
        def_bool n
 
        select GENERIC_IRQ_SHOW
        select GENERIC_IOMAP
        select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32
-       select GENERIC_IDLE_LOOP
        select GENERIC_CMOS_UPDATE
        select MODULES_USE_ELF_RELA
        select CLONE_BACKWARDS2
 
        select HAVE_GENERIC_HARDIRQS
        select VIRT_TO_BUS
        select GENERIC_IRQ_SHOW
-       select GENERIC_IDLE_LOOP
        select HAVE_DEBUG_BUGVERBOSE
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_CPU_DEVICES
 
        select VIRT_TO_BUS
        select ARCH_WANT_IPC_PARSE_VERSION
        select GENERIC_IRQ_SHOW
-       select GENERIC_IDLE_LOOP
        select GENERIC_CPU_DEVICES
        select MODULES_USE_ELF_RELA
        select OLD_SIGSUSPEND3
 
        select NO_IOPORT
        select GENERIC_IOMAP
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select STACKTRACE_SUPPORT
        select KTIME_SCALAR
        select GENERIC_CLOCKEVENTS
 
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_IOMAP
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select ARCH_INIT_TASK
        select ARCH_TASK_STRUCT_ALLOCATOR
        select ARCH_THREAD_INFO_ALLOCATOR
 
        select VIRT_TO_BUS
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
-       select GENERIC_IDLE_LOOP
        select GENERIC_ATOMIC64
        select ARCH_USES_GETTIMEOFFSET
        select MODULES_USE_ELF_RELA
 
        select HAVE_DEBUG_BUGVERBOSE
        select HAVE_GENERIC_HARDIRQS
        select GENERIC_IRQ_SHOW
-       select GENERIC_IDLE_LOOP
        select GENERIC_ATOMIC64
        select HAVE_UID16
        select VIRT_TO_BUS
 
        select EMBEDDED
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select GENERIC_IRQ_SHOW
        select GENERIC_SMP_IDLE_THREAD
        select HAVE_64BIT_ALIGNED_ACCESS
 
        select GENERIC_CPU_DEVICES
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select GENERIC_IDLE_POLL_SETUP
        select MODULES_USE_ELF_RELA
        select CLONE_BACKWARDS
 
        select HAVE_MEMBLOCK_NODE_MAP
        select ARCH_DISCARD_MEMBLOCK
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select BUILDTIME_EXTABLE_SORT
        select GENERIC_CLOCKEVENTS
        select GENERIC_CMOS_UPDATE
 
        select MODULES_USE_ELF_RELA
        select OLD_SIGSUSPEND3
        select OLD_SIGACTION
-       select GENERIC_IDLE_LOOP
 
 config AM33_2
        def_bool n
 
        select GENERIC_CLOCKEVENTS
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
-       select GENERIC_IDLE_LOOP
        select MODULES_USE_ELF_RELA
 
 config MMU
 
        select GENERIC_PCI_IOMAP
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select GENERIC_STRNCPY_FROM_USER
        select SYSCTL_ARCH_UNALIGN_ALLOW
        select HAVE_MOD_ARCH_SPECIFIC
 
        select HAVE_ARCH_JUMP_LABEL
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select GENERIC_CMOS_UPDATE
        select GENERIC_TIME_VSYSCALL_OLD
        select GENERIC_CLOCKEVENTS
 
        select CLONE_BACKWARDS2
        select GENERIC_CLOCKEVENTS
        select GENERIC_CPU_DEVICES if !SMP
-       select GENERIC_IDLE_LOOP
        select GENERIC_KERNEL_THREAD
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL_OLD
 
        select ARCH_DISCARD_MEMBLOCK
        select GENERIC_CPU_DEVICES
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select HAVE_MOD_ARCH_SPECIFIC
        select VIRT_TO_BUS
        select MODULES_USE_ELF_REL
 
        select GENERIC_ATOMIC64
        select GENERIC_IRQ_SHOW
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select GENERIC_IDLE_POLL_SETUP
        select GENERIC_CLOCKEVENTS
        select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
 
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_CMOS_UPDATE
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select MODULES_USE_ELF_RELA
 
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_CLOCKEVENTS
        select MODULES_USE_ELF_RELA
-       select GENERIC_IDLE_LOOP
 
 # FIXME: investigate whether we need/want these options.
 #      select HAVE_IOREMAP_PROT
 
        select GENERIC_CPU_DEVICES
        select GENERIC_IO
        select GENERIC_CLOCKEVENTS
-       select GENERIC_IDLE_LOOP
        select TTY # Needed for line.c
 
 config MMU
 
        select ARCH_WANT_FRAME_POINTERS
        select GENERIC_IOMAP
        select MODULES_USE_ELF_REL
-       select GENERIC_IDLE_LOOP
        help
          UniCore-32 is 32-bit Instruction Set Architecture,
          including a series of low-power-consumption RISC chip
 
        select GENERIC_IOMAP
        select DCACHE_WORD_ACCESS
        select GENERIC_SMP_IDLE_THREAD
-       select GENERIC_IDLE_LOOP
        select ARCH_WANT_IPC_PARSE_VERSION if X86_32
        select HAVE_ARCH_SECCOMP_FILTER
        select BUILDTIME_EXTABLE_SORT
 
        select CLONE_BACKWARDS
        select IRQ_DOMAIN
        select HAVE_OPROFILE
-       select GENERIC_IDLE_LOOP
        help
          Xtensa processors are 32-bit RISC machines designed by Tensilica
          primarily for embedded systems.  These processors are both
 
 
 #include <trace/events/power.h>
 
-#ifndef CONFIG_GENERIC_IDLE_LOOP
-void cpu_startup_entry(enum cpuhp_state state)
-{
-       cpu_idle();
-}
-#else
-
 static int __read_mostly cpu_idle_force_poll;
 
 void cpu_idle_poll_ctrl(bool enable)
        arch_cpu_idle_prepare();
        cpu_idle_loop();
 }
-#endif