Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp553117pxb; Wed, 3 Feb 2021 11:29:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJyGlL5c3vTS6Uzs5n9q8LyWdsy1Ss4G0M6FgouoXpd880NzHsqjLHyT5YRIHKvenvn2IoGu X-Received: by 2002:aa7:c84b:: with SMTP id g11mr4667416edt.169.1612380540550; Wed, 03 Feb 2021 11:29:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612380540; cv=none; d=google.com; s=arc-20160816; b=n2AJAvhI2K+vs//kY5zyyzSw/pGzdUgJgUd0alC1jeWEBH8xaqmMqxDsn/AejthTQA uKgaIFR+g0F2CBcGgOz+/M3ZyivKc2Nq2ys1nj5g8Ouo02svzmISs5VpEMJ4CfKknjE5 0r+UHdi2VylyCBlIAXbvsx/fNMbivX7khvYtGLVpSab7BjQXXJcRQffDYCXPz2e2mc1z Zb2CWauqaqjwSCxzS9V97WDMX+aVRW8hQ95FX6nAFmpA4rf0OWMv3NfSrXqEu8Svd8Ks eUxQh7LyFeki50v+vPiHW2dYXxhy379FyHHukJMbJ7wLoHSKRqzd5F4bg29Agq0LWeXn lkwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=zeXzGdAAJRDJ6N1lkmG4aKSW/TYDiCp0QqxTqXtuAgM=; b=jcTJbgXQVzXf7m4HypILo/nd+UYhfZpauw5slKxnbLoYbK5zq7lJt72wB7dDfDS8/O b/2L2KNPNRn32bF3WXs64UJceuSItfa+VWaRQf2Ky+qsd8NtTcTnu9nRqAjv/+H2jTmT NDFUIxbtK8IOtFPQUmKXGuQMoYVvJhCXIgu2XXqjgxNizF6MB5sNaVPGCswS5aQy3BgZ 2UWlY6avNVQ+MdOG6XxnNoO+tjMRzs3ARa1JEuGZI0e7fRIRJdHZyGkZMbdBN4LsJXxb UKfEwB/Y+x3sjmLmNi1x0IAZTTbqLmHqSw9xqIEMk0baLn8uqT5vURpgRJAz8mCdhyAC 82Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@dell.com header.s=smtpout1 header.b=cAT+f5m2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=dell.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u4si2093699ejy.10.2021.02.03.11.28.32; Wed, 03 Feb 2021 11:29:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@dell.com header.s=smtpout1 header.b=cAT+f5m2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=dell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229785AbhBCT1h (ORCPT + 99 others); Wed, 3 Feb 2021 14:27:37 -0500 Received: from mx0b-00154904.pphosted.com ([148.163.137.20]:53708 "EHLO mx0b-00154904.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229661AbhBCT1e (ORCPT ); Wed, 3 Feb 2021 14:27:34 -0500 Received: from pps.filterd (m0170398.ppops.net [127.0.0.1]) by mx0b-00154904.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 113JM1PC030238; Wed, 3 Feb 2021 14:26:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type : content-transfer-encoding; s=smtpout1; bh=zeXzGdAAJRDJ6N1lkmG4aKSW/TYDiCp0QqxTqXtuAgM=; b=cAT+f5m2t6PiVgZM5+GmfQfuBUBrclsQYcIsOmsHpKlYsWdfTglCnEKt3JMFxoy3cGXr yMsg1DlAmDP0O7PnKvXqmICgTd/JkeBjDPiqPiVYzbTMmm6kc3ia7kSrm6G4YrmMqQqr n7poWuZuoPEjX2SswWfaQ9wRfBiPpGjPgiDGAMhDk/b0z1s4JGUGWJUda8TE8RmEo8tO iz45aUGdJ0KyL25fruQ7V7U4MHKl6tu2lM+uAgAKvzFTUHAr3UqkYlgV51HxxbDUu66Q BjA0BLvpsYzn70RsBIZ9IRXIBcOs4xn4MiMvnXucJqQZF3E/dLckJkDQtUaHgO/9QLo3 hA== Received: from mx0b-00154901.pphosted.com (mx0a-00154901.pphosted.com [67.231.149.39]) by mx0b-00154904.pphosted.com with ESMTP id 36d3jde7e6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 03 Feb 2021 14:26:50 -0500 Received: from pps.filterd (m0090350.ppops.net [127.0.0.1]) by mx0b-00154901.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 113JQF0e092573; Wed, 3 Feb 2021 14:26:49 -0500 Received: from ausc60pc101.us.dell.com (ausc60pc101.us.dell.com [143.166.85.206]) by mx0b-00154901.pphosted.com with ESMTP id 36fpyu2ajb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 03 Feb 2021 14:26:48 -0500 X-LoopCount0: from 10.173.37.130 X-PREM-Routing: D-Outbound X-IronPort-AV: E=Sophos;i="5.79,399,1602565200"; d="scan'208";a="1662446416" From: Mario Limonciello To: Hans De Goede , Mark Gross Cc: LKML , platform-driver-x86@vger.kernel.org, Mario Limonciello , Andy Shevchenko Subject: [PATCH] platform/x86: Move all dell drivers to their own subdirectory Date: Wed, 3 Feb 2021 13:26:37 -0600 Message-Id: <20210203192637.2947540-1-mario.limonciello@dell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.737 definitions=2021-02-03_07:2021-02-03,2021-02-03 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 priorityscore=1501 phishscore=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxlogscore=999 clxscore=1015 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102030113 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 suspectscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102030113 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A user without a Dell system doesn't need to pick any of these drivers. Suggested-by: Andy Shevchenko Signed-off-by: Mario Limonciello --- MAINTAINERS | 22 +-- drivers/platform/x86/Kconfig | 182 +----------------- drivers/platform/x86/Makefile | 16 +- drivers/platform/x86/dell/Kconfig | 180 +++++++++++++++++ drivers/platform/x86/dell/Makefile | 21 ++ .../platform/x86/{ => dell}/alienware-wmi.c | 0 drivers/platform/x86/{ => dell}/dcdbas.c | 0 drivers/platform/x86/{ => dell}/dcdbas.h | 0 drivers/platform/x86/{ => dell}/dell-laptop.c | 0 drivers/platform/x86/{ => dell}/dell-rbtn.c | 0 drivers/platform/x86/{ => dell}/dell-rbtn.h | 0 .../x86/{ => dell}/dell-smbios-base.c | 0 .../platform/x86/{ => dell}/dell-smbios-smm.c | 0 .../platform/x86/{ => dell}/dell-smbios-wmi.c | 0 drivers/platform/x86/{ => dell}/dell-smbios.h | 0 .../platform/x86/{ => dell}/dell-smo8800.c | 0 .../platform/x86/{ => dell}/dell-wmi-aio.c | 0 .../x86/{ => dell}/dell-wmi-descriptor.c | 0 .../x86/{ => dell}/dell-wmi-descriptor.h | 0 .../platform/x86/{ => dell}/dell-wmi-led.c | 0 .../x86/{ => dell}/dell-wmi-sysman/Makefile | 0 .../dell-wmi-sysman/biosattr-interface.c | 0 .../dell-wmi-sysman/dell-wmi-sysman.h | 0 .../dell-wmi-sysman/enum-attributes.c | 0 .../dell-wmi-sysman/int-attributes.c | 0 .../dell-wmi-sysman/passobj-attributes.c | 0 .../dell-wmi-sysman/passwordattr-interface.c | 0 .../dell-wmi-sysman/string-attributes.c | 0 .../x86/{ => dell}/dell-wmi-sysman/sysman.c | 0 drivers/platform/x86/{ => dell}/dell-wmi.c | 0 drivers/platform/x86/{ => dell}/dell_rbu.c | 0 31 files changed, 223 insertions(+), 198 deletions(-) create mode 100644 drivers/platform/x86/dell/Kconfig create mode 100644 drivers/platform/x86/dell/Makefile rename drivers/platform/x86/{ => dell}/alienware-wmi.c (100%) rename drivers/platform/x86/{ => dell}/dcdbas.c (100%) rename drivers/platform/x86/{ => dell}/dcdbas.h (100%) rename drivers/platform/x86/{ => dell}/dell-laptop.c (100%) rename drivers/platform/x86/{ => dell}/dell-rbtn.c (100%) rename drivers/platform/x86/{ => dell}/dell-rbtn.h (100%) rename drivers/platform/x86/{ => dell}/dell-smbios-base.c (100%) rename drivers/platform/x86/{ => dell}/dell-smbios-smm.c (100%) rename drivers/platform/x86/{ => dell}/dell-smbios-wmi.c (100%) rename drivers/platform/x86/{ => dell}/dell-smbios.h (100%) rename drivers/platform/x86/{ => dell}/dell-smo8800.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-aio.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-descriptor.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-descriptor.h (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-led.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/Makefile (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/biosattr-interface.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/dell-wmi-sysman.h (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/enum-attributes.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/int-attributes.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/passobj-attributes.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/passwordattr-interface.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/string-attributes.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi-sysman/sysman.c (100%) rename drivers/platform/x86/{ => dell}/dell-wmi.c (100%) rename drivers/platform/x86/{ => dell}/dell_rbu.c (100%) diff --git a/MAINTAINERS b/MAINTAINERS index d3e847f7f3dc..ae83c6cff843 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4970,17 +4970,17 @@ M: Matthew Garrett M: Pali Rohár L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/dell-laptop.c +F: drivers/platform/x86/dell/dell-laptop.c DELL LAPTOP FREEFALL DRIVER M: Pali Rohár S: Maintained -F: drivers/platform/x86/dell-smo8800.c +F: drivers/platform/x86/dell/dell-smo8800.c DELL LAPTOP RBTN DRIVER M: Pali Rohár S: Maintained -F: drivers/platform/x86/dell-rbtn.* +F: drivers/platform/x86/dell/dell-rbtn.* DELL LAPTOP SMM DRIVER M: Pali Rohár @@ -4992,26 +4992,26 @@ DELL REMOTE BIOS UPDATE DRIVER M: Stuart Hayes L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/dell_rbu.c +F: drivers/platform/x86/dell/dell_rbu.c DELL SMBIOS DRIVER M: Pali Rohár M: Mario Limonciello L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/dell-smbios.* +F: drivers/platform/x86/dell/dell-smbios.* DELL SMBIOS SMM DRIVER M: Mario Limonciello L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/dell-smbios-smm.c +F: drivers/platform/x86/dell/dell-smbios-smm.c DELL SMBIOS WMI DRIVER M: Mario Limonciello L: platform-driver-x86@vger.kernel.org S: Maintained -F: drivers/platform/x86/dell-smbios-wmi.c +F: drivers/platform/x86/dell/dell-smbios-wmi.c F: tools/wmi/dell-smbios-example.c DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas) @@ -5019,12 +5019,12 @@ M: Stuart Hayes L: platform-driver-x86@vger.kernel.org S: Maintained F: Documentation/driver-api/dcdbas.rst -F: drivers/platform/x86/dcdbas.* +F: drivers/platform/x86/dell/dcdbas.* DELL WMI DESCRIPTOR DRIVER M: Mario Limonciello S: Maintained -F: drivers/platform/x86/dell-wmi-descriptor.c +F: drivers/platform/x86/dell/dell-wmi-descriptor.c DELL WMI SYSMAN DRIVER M: Divya Bharathi @@ -5033,13 +5033,13 @@ M: Prasanth Ksr L: platform-driver-x86@vger.kernel.org S: Maintained F: Documentation/ABI/testing/sysfs-class-firmware-attributes -F: drivers/platform/x86/dell-wmi-sysman/ +F: drivers/platform/x86/dell/dell-wmi-sysman/ DELL WMI NOTIFICATIONS DRIVER M: Matthew Garrett M: Pali Rohár S: Maintained -F: drivers/platform/x86/dell-wmi.c +F: drivers/platform/x86/dell/dell-wmi.c DELTA ST MEDIA DRIVER M: Hugues Fruchet diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 91e6176cdfbd..bc62659286bf 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -49,18 +49,6 @@ config WMI_BMOF To compile this driver as a module, choose M here: the module will be called wmi-bmof. -config ALIENWARE_WMI - tristate "Alienware Special feature control" - depends on ACPI - depends on LEDS_CLASS - depends on NEW_LEDS - depends on ACPI_WMI - help - This is a driver for controlling Alienware BIOS driven - features. It exposes an interface for controlling the AlienFX - zones on Alienware machines that don't contain a dedicated AlienFX - USB MCU such as the X51 and X51-R2. - config HUAWEI_WMI tristate "Huawei WMI laptop extras driver" depends on ACPI_BATTERY @@ -327,169 +315,19 @@ config EEEPC_WMI If you have an ACPI-WMI compatible Eee PC laptop (>= 1000), say Y or M here. -config DCDBAS - tristate "Dell Systems Management Base Driver" - depends on X86 - help - The Dell Systems Management Base Driver provides a sysfs interface - for systems management software to perform System Management - Interrupts (SMIs) and Host Control Actions (system power cycle or - power off after OS shutdown) on certain Dell systems. - - See for more details on the driver - and the Dell systems on which Dell systems management software makes - use of this driver. - - Say Y or M here to enable the driver for use by Dell systems - management software such as Dell OpenManage. - -# -# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those -# backends are selected. The "depends" line prevents a configuration -# where DELL_SMBIOS=y while either of those dependencies =m. -# -config DELL_SMBIOS - tristate "Dell SMBIOS driver" - depends on DCDBAS || DCDBAS=n - depends on ACPI_WMI || ACPI_WMI=n - help - This provides support for the Dell SMBIOS calling interface. - If you have a Dell computer you should enable this option. - - Be sure to select at least one backend for it to work properly. - -config DELL_SMBIOS_WMI - bool "Dell SMBIOS driver WMI backend" +menuconfig DELL_X86_PLATFORM_DRIVERS + bool "Dell X86 Platform Specific Device Drivers" default y - depends on ACPI_WMI - select DELL_WMI_DESCRIPTOR - depends on DELL_SMBIOS - help - This provides an implementation for the Dell SMBIOS calling interface - communicated over ACPI-WMI. - - If you have a Dell computer from >2007 you should say Y here. - If you aren't sure and this module doesn't work for your computer - it just won't load. - -config DELL_SMBIOS_SMM - bool "Dell SMBIOS driver SMM backend" - default y - depends on DCDBAS - depends on DELL_SMBIOS - help - This provides an implementation for the Dell SMBIOS calling interface - communicated over SMI/SMM. - - If you have a Dell computer from <=2017 you should say Y here. - If you aren't sure and this module doesn't work for your computer - it just won't load. - -config DELL_LAPTOP - tristate "Dell Laptop Extras" - depends on DMI - depends on BACKLIGHT_CLASS_DEVICE - depends on ACPI_VIDEO || ACPI_VIDEO = n - depends on RFKILL || RFKILL = n - depends on SERIO_I8042 - depends on DELL_SMBIOS - select POWER_SUPPLY - select LEDS_CLASS - select NEW_LEDS - select LEDS_TRIGGERS - select LEDS_TRIGGER_AUDIO - help - This driver adds support for rfkill and backlight control to Dell - laptops (except for some models covered by the Compal driver). - -config DELL_RBTN - tristate "Dell Airplane Mode Switch driver" - depends on ACPI - depends on INPUT - depends on RFKILL - help - Say Y here if you want to support Dell Airplane Mode Switch ACPI - device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN. - This driver register rfkill device or input hotkey device depending - on hardware type (hw switch slider or keyboard toggle button). For - rfkill devices it receive HW switch events and set correct hard - rfkill state. - - To compile this driver as a module, choose M here: the module will - be called dell-rbtn. - -config DELL_RBU - tristate "BIOS update support for DELL systems via sysfs" - depends on X86 - select FW_LOADER - select FW_LOADER_USER_HELPER - help - Say m if you want to have the option of updating the BIOS for your - DELL system. Note you need a Dell OpenManage or Dell Update package (DUP) - supporting application to communicate with the BIOS regarding the new - image for the image update to take effect. - See for more details on the driver. - -config DELL_SMO8800 - tristate "Dell Latitude freefall driver (ACPI SMO88XX)" - depends on ACPI + depends on X86_PLATFORM_DEVICES help - Say Y here if you want to support SMO88XX freefall devices - on Dell Latitude laptops. - - To compile this driver as a module, choose M here: the module will - be called dell-smo8800. - -config DELL_WMI - tristate "Dell WMI notifications" - depends on ACPI_WMI - depends on DMI - depends on INPUT - depends on ACPI_VIDEO || ACPI_VIDEO = n - depends on DELL_SMBIOS - select DELL_WMI_DESCRIPTOR - select INPUT_SPARSEKMAP - help - Say Y here if you want to support WMI-based hotkeys on Dell laptops. - - To compile this driver as a module, choose M here: the module will - be called dell-wmi. - -config DELL_WMI_SYSMAN - tristate "Dell WMI-based Systems management driver" - depends on ACPI_WMI - depends on DMI - select NLS - help - This driver allows changing BIOS settings on many Dell machines from - 2018 and newer without the use of any additional software. - - To compile this driver as a module, choose M here: the module will - be called dell-wmi-sysman. - -config DELL_WMI_DESCRIPTOR - tristate - depends on ACPI_WMI - -config DELL_WMI_AIO - tristate "WMI Hotkeys for Dell All-In-One series" - depends on ACPI_WMI - depends on INPUT - select INPUT_SPARSEKMAP - help - Say Y here if you want to support WMI-based hotkeys on Dell - All-In-One machines. - - To compile this driver as a module, choose M here: the module will - be called dell-wmi-aio. + Say Y here to get to see options for device drivers for various + Dell x86 platforms, including vendor-specific laptop extension drivers. + This option alone does not add any kernel code. -config DELL_WMI_LED - tristate "External LED on Dell Business Netbooks" - depends on LEDS_CLASS - depends on ACPI_WMI - help - This adds support for the Latitude 2100 and similar - notebooks that have an external LED. + If you say N, all options in this submenu will be skipped and disabled. +if DELL_X86_PLATFORM_DRIVERS +source "drivers/platform/x86/dell/Kconfig" +endif # DELL_X86_PLATFORM_DRIVERS config AMILO_RFKILL tristate "Fujitsu-Siemens Amilo rfkill support" diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index 581475f59819..2ec05af6cf14 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -9,7 +9,6 @@ obj-$(CONFIG_ACPI_WMI) += wmi.o obj-$(CONFIG_WMI_BMOF) += wmi-bmof.o # WMI drivers -obj-$(CONFIG_ALIENWARE_WMI) += alienware-wmi.o obj-$(CONFIG_HUAWEI_WMI) += huawei-wmi.o obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE) += intel-wmi-sbl-fw-update.o obj-$(CONFIG_INTEL_WMI_THUNDERBOLT) += intel-wmi-thunderbolt.o @@ -37,20 +36,7 @@ obj-$(CONFIG_EEEPC_LAPTOP) += eeepc-laptop.o obj-$(CONFIG_EEEPC_WMI) += eeepc-wmi.o # Dell -obj-$(CONFIG_DCDBAS) += dcdbas.o -obj-$(CONFIG_DELL_SMBIOS) += dell-smbios.o -dell-smbios-objs := dell-smbios-base.o -dell-smbios-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o -dell-smbios-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o -obj-$(CONFIG_DELL_LAPTOP) += dell-laptop.o -obj-$(CONFIG_DELL_RBTN) += dell-rbtn.o -obj-$(CONFIG_DELL_RBU) += dell_rbu.o -obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o -obj-$(CONFIG_DELL_WMI) += dell-wmi.o -obj-$(CONFIG_DELL_WMI_DESCRIPTOR) += dell-wmi-descriptor.o -obj-$(CONFIG_DELL_WMI_AIO) += dell-wmi-aio.o -obj-$(CONFIG_DELL_WMI_LED) += dell-wmi-led.o -obj-$(CONFIG_DELL_WMI_SYSMAN) += dell-wmi-sysman/ +obj-$(CONFIG_DELL_X86_PLATFORM_DRIVERS) += dell/ # Fujitsu obj-$(CONFIG_AMILO_RFKILL) += amilo-rfkill.o diff --git a/drivers/platform/x86/dell/Kconfig b/drivers/platform/x86/dell/Kconfig new file mode 100644 index 000000000000..ce40817163f6 --- /dev/null +++ b/drivers/platform/x86/dell/Kconfig @@ -0,0 +1,180 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Dell X86 Platform Specific Drivers +# + +config ALIENWARE_WMI + tristate "Alienware Special feature control" + depends on ACPI + depends on LEDS_CLASS + depends on NEW_LEDS + depends on ACPI_WMI + help + This is a driver for controlling Alienware BIOS driven + features. It exposes an interface for controlling the AlienFX + zones on Alienware machines that don't contain a dedicated AlienFX + USB MCU such as the X51 and X51-R2. + +config DCDBAS + tristate "Dell Systems Management Base Driver" + depends on X86 + help + The Dell Systems Management Base Driver provides a sysfs interface + for systems management software to perform System Management + Interrupts (SMIs) and Host Control Actions (system power cycle or + power off after OS shutdown) on certain Dell systems. + + See for more details on the driver + and the Dell systems on which Dell systems management software makes + use of this driver. + + Say Y or M here to enable the driver for use by Dell systems + management software such as Dell OpenManage. + +config DELL_LAPTOP + tristate "Dell Laptop Extras" + depends on DMI + depends on BACKLIGHT_CLASS_DEVICE + depends on ACPI_VIDEO || ACPI_VIDEO = n + depends on RFKILL || RFKILL = n + depends on SERIO_I8042 + depends on DELL_SMBIOS + select POWER_SUPPLY + select LEDS_CLASS + select NEW_LEDS + select LEDS_TRIGGERS + select LEDS_TRIGGER_AUDIO + help + This driver adds support for rfkill and backlight control to Dell + laptops (except for some models covered by the Compal driver). + +config DELL_RBU + tristate "BIOS update support for DELL systems via sysfs" + depends on X86 + select FW_LOADER + select FW_LOADER_USER_HELPER + help + Say m if you want to have the option of updating the BIOS for your + DELL system. Note you need a Dell OpenManage or Dell Update package (DUP) + supporting application to communicate with the BIOS regarding the new + image for the image update to take effect. + See for more details on the driver. + +config DELL_RBTN + tristate "Dell Airplane Mode Switch driver" + depends on ACPI + depends on INPUT + depends on RFKILL + help + Say Y here if you want to support Dell Airplane Mode Switch ACPI + device on Dell laptops. Sometimes it has names: DELLABCE or DELRBTN. + This driver register rfkill device or input hotkey device depending + on hardware type (hw switch slider or keyboard toggle button). For + rfkill devices it receive HW switch events and set correct hard + rfkill state. + + To compile this driver as a module, choose M here: the module will + be called dell-rbtn. + +# +# The DELL_SMBIOS driver depends on ACPI_WMI and/or DCDBAS if those +# backends are selected. The "depends" line prevents a configuration +# where DELL_SMBIOS=y while either of those dependencies =m. +# +config DELL_SMBIOS + tristate "Dell SMBIOS driver" + depends on DCDBAS || DCDBAS=n + depends on ACPI_WMI || ACPI_WMI=n + help + This provides support for the Dell SMBIOS calling interface. + If you have a Dell computer you should enable this option. + + Be sure to select at least one backend for it to work properly. + +config DELL_SMBIOS_WMI + bool "Dell SMBIOS driver WMI backend" + default y + depends on ACPI_WMI + select DELL_WMI_DESCRIPTOR + depends on DELL_SMBIOS + help + This provides an implementation for the Dell SMBIOS calling interface + communicated over ACPI-WMI. + + If you have a Dell computer from >2007 you should say Y here. + If you aren't sure and this module doesn't work for your computer + it just won't load. + +config DELL_SMBIOS_SMM + bool "Dell SMBIOS driver SMM backend" + default y + depends on DCDBAS + depends on DELL_SMBIOS + help + This provides an implementation for the Dell SMBIOS calling interface + communicated over SMI/SMM. + + If you have a Dell computer from <=2017 you should say Y here. + If you aren't sure and this module doesn't work for your computer + it just won't load. + +config DELL_SMO8800 + tristate "Dell Latitude freefall driver (ACPI SMO88XX)" + depends on ACPI + help + Say Y here if you want to support SMO88XX freefall devices + on Dell Latitude laptops. + + To compile this driver as a module, choose M here: the module will + be called dell-smo8800. + +config DELL_WMI + tristate "Dell WMI notifications" + depends on ACPI_WMI + depends on DMI + depends on INPUT + depends on ACPI_VIDEO || ACPI_VIDEO = n + depends on DELL_SMBIOS + select DELL_WMI_DESCRIPTOR + select INPUT_SPARSEKMAP + help + Say Y here if you want to support WMI-based hotkeys on Dell laptops. + + To compile this driver as a module, choose M here: the module will + be called dell-wmi. + +config DELL_WMI_AIO + tristate "WMI Hotkeys for Dell All-In-One series" + depends on ACPI_WMI + depends on INPUT + select INPUT_SPARSEKMAP + help + Say Y here if you want to support WMI-based hotkeys on Dell + All-In-One machines. + + To compile this driver as a module, choose M here: the module will + be called dell-wmi-aio. + +config DELL_WMI_DESCRIPTOR + tristate + depends on ACPI_WMI + +config DELL_WMI_LED + tristate "External LED on Dell Business Netbooks" + depends on LEDS_CLASS + depends on ACPI_WMI + help + This adds support for the Latitude 2100 and similar + notebooks that have an external LED. + +config DELL_WMI_SYSMAN + tristate "Dell WMI-based Systems management driver" + depends on ACPI_WMI + depends on DMI + select NLS + help + This driver allows changing BIOS settings on many Dell machines from + 2018 and newer without the use of any additional software. + + To compile this driver as a module, choose M here: the module will + be called dell-wmi-sysman. diff --git a/drivers/platform/x86/dell/Makefile b/drivers/platform/x86/dell/Makefile new file mode 100644 index 000000000000..d720a3e42ae3 --- /dev/null +++ b/drivers/platform/x86/dell/Makefile @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for linux/drivers/platform/x86/dell +# Dell x86 Platform-Specific Drivers +# + +obj-$(CONFIG_ALIENWARE_WMI) += alienware-wmi.o +obj-$(CONFIG_DCDBAS) += dcdbas.o +obj-$(CONFIG_DELL_LAPTOP) += dell-laptop.o +obj-$(CONFIG_DELL_RBTN) += dell-rbtn.o +obj-$(CONFIG_DELL_RBU) += dell_rbu.o +obj-$(CONFIG_DELL_SMBIOS) += dell-smbios.o +dell-smbios-objs := dell-smbios-base.o +dell-smbios-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o +dell-smbios-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o +obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o +obj-$(CONFIG_DELL_WMI) += dell-wmi.o +obj-$(CONFIG_DELL_WMI_AIO) += dell-wmi-aio.o +obj-$(CONFIG_DELL_WMI_DESCRIPTOR) += dell-wmi-descriptor.o +obj-$(CONFIG_DELL_WMI_LED) += dell-wmi-led.o +obj-$(CONFIG_DELL_WMI_SYSMAN) += dell-wmi-sysman/ diff --git a/drivers/platform/x86/alienware-wmi.c b/drivers/platform/x86/dell/alienware-wmi.c similarity index 100% rename from drivers/platform/x86/alienware-wmi.c rename to drivers/platform/x86/dell/alienware-wmi.c diff --git a/drivers/platform/x86/dcdbas.c b/drivers/platform/x86/dell/dcdbas.c similarity index 100% rename from drivers/platform/x86/dcdbas.c rename to drivers/platform/x86/dell/dcdbas.c diff --git a/drivers/platform/x86/dcdbas.h b/drivers/platform/x86/dell/dcdbas.h similarity index 100% rename from drivers/platform/x86/dcdbas.h rename to drivers/platform/x86/dell/dcdbas.h diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell/dell-laptop.c similarity index 100% rename from drivers/platform/x86/dell-laptop.c rename to drivers/platform/x86/dell/dell-laptop.c diff --git a/drivers/platform/x86/dell-rbtn.c b/drivers/platform/x86/dell/dell-rbtn.c similarity index 100% rename from drivers/platform/x86/dell-rbtn.c rename to drivers/platform/x86/dell/dell-rbtn.c diff --git a/drivers/platform/x86/dell-rbtn.h b/drivers/platform/x86/dell/dell-rbtn.h similarity index 100% rename from drivers/platform/x86/dell-rbtn.h rename to drivers/platform/x86/dell/dell-rbtn.h diff --git a/drivers/platform/x86/dell-smbios-base.c b/drivers/platform/x86/dell/dell-smbios-base.c similarity index 100% rename from drivers/platform/x86/dell-smbios-base.c rename to drivers/platform/x86/dell/dell-smbios-base.c diff --git a/drivers/platform/x86/dell-smbios-smm.c b/drivers/platform/x86/dell/dell-smbios-smm.c similarity index 100% rename from drivers/platform/x86/dell-smbios-smm.c rename to drivers/platform/x86/dell/dell-smbios-smm.c diff --git a/drivers/platform/x86/dell-smbios-wmi.c b/drivers/platform/x86/dell/dell-smbios-wmi.c similarity index 100% rename from drivers/platform/x86/dell-smbios-wmi.c rename to drivers/platform/x86/dell/dell-smbios-wmi.c diff --git a/drivers/platform/x86/dell-smbios.h b/drivers/platform/x86/dell/dell-smbios.h similarity index 100% rename from drivers/platform/x86/dell-smbios.h rename to drivers/platform/x86/dell/dell-smbios.h diff --git a/drivers/platform/x86/dell-smo8800.c b/drivers/platform/x86/dell/dell-smo8800.c similarity index 100% rename from drivers/platform/x86/dell-smo8800.c rename to drivers/platform/x86/dell/dell-smo8800.c diff --git a/drivers/platform/x86/dell-wmi-aio.c b/drivers/platform/x86/dell/dell-wmi-aio.c similarity index 100% rename from drivers/platform/x86/dell-wmi-aio.c rename to drivers/platform/x86/dell/dell-wmi-aio.c diff --git a/drivers/platform/x86/dell-wmi-descriptor.c b/drivers/platform/x86/dell/dell-wmi-descriptor.c similarity index 100% rename from drivers/platform/x86/dell-wmi-descriptor.c rename to drivers/platform/x86/dell/dell-wmi-descriptor.c diff --git a/drivers/platform/x86/dell-wmi-descriptor.h b/drivers/platform/x86/dell/dell-wmi-descriptor.h similarity index 100% rename from drivers/platform/x86/dell-wmi-descriptor.h rename to drivers/platform/x86/dell/dell-wmi-descriptor.h diff --git a/drivers/platform/x86/dell-wmi-led.c b/drivers/platform/x86/dell/dell-wmi-led.c similarity index 100% rename from drivers/platform/x86/dell-wmi-led.c rename to drivers/platform/x86/dell/dell-wmi-led.c diff --git a/drivers/platform/x86/dell-wmi-sysman/Makefile b/drivers/platform/x86/dell/dell-wmi-sysman/Makefile similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/Makefile rename to drivers/platform/x86/dell/dell-wmi-sysman/Makefile diff --git a/drivers/platform/x86/dell-wmi-sysman/biosattr-interface.c b/drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/biosattr-interface.c rename to drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c diff --git a/drivers/platform/x86/dell-wmi-sysman/dell-wmi-sysman.h b/drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/dell-wmi-sysman.h rename to drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h diff --git a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c b/drivers/platform/x86/dell/dell-wmi-sysman/enum-attributes.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/enum-attributes.c rename to drivers/platform/x86/dell/dell-wmi-sysman/enum-attributes.c diff --git a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c b/drivers/platform/x86/dell/dell-wmi-sysman/int-attributes.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/int-attributes.c rename to drivers/platform/x86/dell/dell-wmi-sysman/int-attributes.c diff --git a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c b/drivers/platform/x86/dell/dell-wmi-sysman/passobj-attributes.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c rename to drivers/platform/x86/dell/dell-wmi-sysman/passobj-attributes.c diff --git a/drivers/platform/x86/dell-wmi-sysman/passwordattr-interface.c b/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/passwordattr-interface.c rename to drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c diff --git a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c b/drivers/platform/x86/dell/dell-wmi-sysman/string-attributes.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/string-attributes.c rename to drivers/platform/x86/dell/dell-wmi-sysman/string-attributes.c diff --git a/drivers/platform/x86/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c similarity index 100% rename from drivers/platform/x86/dell-wmi-sysman/sysman.c rename to drivers/platform/x86/dell/dell-wmi-sysman/sysman.c diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell/dell-wmi.c similarity index 100% rename from drivers/platform/x86/dell-wmi.c rename to drivers/platform/x86/dell/dell-wmi.c diff --git a/drivers/platform/x86/dell_rbu.c b/drivers/platform/x86/dell/dell_rbu.c similarity index 100% rename from drivers/platform/x86/dell_rbu.c rename to drivers/platform/x86/dell/dell_rbu.c -- 2.25.1