# SPDX-License-Identifier: GPL-2.0-only
#
# MIPS Platform Specific Drivers
#

menuconfig MIPS_PLATFORM_DEVICES
	bool "MIPS Platform Specific Device Drivers"
	default y
	help
	  Say Y here to get to see options for device drivers of various
	  MIPS platforms, including vendor-specific netbook/laptop/desktop
	  extension and hardware monitor drivers. This option itself does
	  not add any kernel code.

	  If you say N, all options in this submenu will be skipped and disabled.

if MIPS_PLATFORM_DEVICES

config CPU_HWMON
	tristate "Loongson-3 CPU HWMon Driver"
	depends on MACH_LOONGSON64
	select HWMON
	default y
	help
	  Loongson-3A/3B CPU Hwmon (temperature sensor) driver.

config RS780E_ACPI
	bool "Loongson RS780E ACPI Controller"
	depends on MACH_LOONGSON64 || COMPILE_TEST
	help
	  Loongson RS780E PCH ACPI Controller driver.

endif # MIPS_PLATFORM_DEVICES
