Skip to content
This repository was archived by the owner on Feb 9, 2023. It is now read-only.

Commit cbd7b8a

Browse files
committed
Merge tag 'platform-drivers-x86-v4.16-1' of git://git.infradead.org/linux-platform-drivers-x86
Pull x86 platform-driver updates from Darren Hart: "New model support added for Dell, Ideapad, Acer, Asus, Thinkpad, and GPD laptops. Improvements to the common intel-vbtn driver, including tablet mode, rotate, and front button support. Intel CPU support added for Cannonlake and platform support for Dollar Cove power button. Overhaul of the mellanox platform driver, creating a new platform/mellanox directory for the newly multi-architecture regmap interface. Significant Intel PMC update with CannonLake support, Coffeelake update, CPUID enumeration, module support, new read64 API, refactoring and cleanups. Revert the apple-gmux iGP IO lock, addressing reported issues with non-binary drivers, leaving Nvidia binary driver users to comment out conflicting code. Miscellaneous fixes and cleanups" * tag 'platform-drivers-x86-v4.16-1' of git://git.infradead.org/linux-platform-drivers-x86: (81 commits) platform/x86: mlx-platform: Fix an ERR_PTR vs NULL issue platform/x86: intel_pmc_core: Special case for Coffeelake platform/x86: intel_pmc_core: Add CannonLake PCH support x86/cpu: Add Cannonlake to Intel family platform/x86: intel_pmc_core: Read base address from LPIT ACPI / LPIT: Export lpit_read_residency_count_address() platform/x86: intel-vbtn: Replace License by SDPX identifier platform/x86: intel-vbtn: Remove redundant inclusions platform/x86: intel-vbtn: Support tablet mode switch platform/x86: dell-laptop: Allocate buffer on heap rather than globally platform/x86: intel_pmc_core: Remove unused header file platform/x86: mlx-platform: Add hotplug device unregister to error path platform/x86: mlx-platform: fix module aliases platform/mellanox: mlxreg-hotplug: Add check for negative adapter number platform/x86: mlx-platform: Add IO access verification callbacks platform/x86: mlx-platform: Document pdev_hotplug field platform/x86: mlx-platform: Allow compilation for 32 bit arch platform/mellanox: mlxreg-hotplug: Enable building for ARM platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface platform/mellanox: Group create/destroy with attribute functions ...
2 parents 3f551e3 + 8a0f5b6 commit cbd7b8a

38 files changed

Lines changed: 2301 additions & 1111 deletions

Documentation/ABI/testing/sysfs-driver-samsung-laptop

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Date: January 1, 2010
33
KernelVersion: 2.6.33
44
Contact: Greg Kroah-Hartman <[email protected]>
55
Description: Some Samsung laptops have different "performance levels"
6-
that are can be modified by a function key, and by this
6+
that can be modified by a function key, and by this
77
sysfs file. These values don't always make a whole lot
88
of sense, but some users like to modify them to keep
99
their fans quiet at all costs. Reading from this file

MAINTAINERS

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6001,6 +6001,12 @@ L: [email protected]
60016001
S: Maintained
60026002
F: drivers/input/touchscreen/goodix.c
60036003

6004+
GPD POCKET FAN DRIVER
6005+
M: Hans de Goede <[email protected]>
6006+
6007+
S: Maintained
6008+
F: drivers/platform/x86/gpd-pocket-fan.c
6009+
60046010
GPIO ACPI SUPPORT
60056011
M: Mika Westerberg <[email protected]>
60066012
M: Andy Shevchenko <[email protected]>
@@ -8939,12 +8945,13 @@ W: http://www.mellanox.com
89398945
Q: http://patchwork.ozlabs.org/project/netdev/list/
89408946
F: drivers/net/ethernet/mellanox/mlxfw/
89418947

8942-
MELLANOX MLX CPLD HOTPLUG DRIVER
8948+
MELLANOX HARDWARE PLATFORM SUPPORT
8949+
M: Andy Shevchenko <[email protected]>
8950+
M: Darren Hart <[email protected]>
89438951
M: Vadim Pasternak <[email protected]>
89448952
89458953
S: Supported
8946-
F: drivers/platform/x86/mlxcpld-hotplug.c
8947-
F: include/linux/platform_data/mlxcpld-hotplug.h
8954+
F: drivers/platform/mellanox/
89488955

89498956
MELLANOX MLX4 core VPI driver
89508957
M: Tariq Toukan <[email protected]>
@@ -15134,7 +15141,7 @@ X86 PLATFORM DRIVERS
1513415141
M: Darren Hart <[email protected]>
1513515142
M: Andy Shevchenko <[email protected]>
1513615143
15137-
T: git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
15144+
T: git git://git.infradead.org/linux-platform-drivers-x86.git
1513815145
S: Maintained
1513915146
F: drivers/platform/x86/
1514015147
F: drivers/platform/olpc/

arch/x86/include/asm/intel-family.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
*
1111
* Things ending in "2" are usually because we have no better
1212
* name for them. There's no processor called "SILVERMONT2".
13+
*
14+
* While adding a new CPUID for a new microarchitecture, add a new
15+
* group to keep logically sorted out in chronological order. Within
16+
* that group keep the CPUID for the variants sorted by model number.
1317
*/
1418

1519
#define INTEL_FAM6_CORE_YONAH 0x0E
@@ -49,6 +53,8 @@
4953
#define INTEL_FAM6_KABYLAKE_MOBILE 0x8E
5054
#define INTEL_FAM6_KABYLAKE_DESKTOP 0x9E
5155

56+
#define INTEL_FAM6_CANNONLAKE_MOBILE 0x66
57+
5258
/* "Small Core" Processors (Atom) */
5359

5460
#define INTEL_FAM6_ATOM_PINEVIEW 0x1C

arch/x86/include/asm/intel_pmc_ipc.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ int intel_pmc_ipc_command(u32 cmd, u32 sub, u8 *in, u32 inlen,
3838
u32 *out, u32 outlen);
3939
int intel_pmc_s0ix_counter_read(u64 *data);
4040
int intel_pmc_gcr_read(u32 offset, u32 *data);
41+
int intel_pmc_gcr_read64(u32 offset, u64 *data);
4142
int intel_pmc_gcr_write(u32 offset, u32 data);
4243
int intel_pmc_gcr_update(u32 offset, u32 mask, u32 val);
4344

@@ -70,6 +71,11 @@ static inline int intel_pmc_gcr_read(u32 offset, u32 *data)
7071
return -EINVAL;
7172
}
7273

74+
static inline int intel_pmc_gcr_read64(u32 offset, u64 *data)
75+
{
76+
return -EINVAL;
77+
}
78+
7379
static inline int intel_pmc_gcr_write(u32 offset, u32 data)
7480
{
7581
return -EINVAL;

arch/x86/include/asm/pmc_core.h

Lines changed: 0 additions & 27 deletions
This file was deleted.

drivers/acpi/acpi_lpit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ int lpit_read_residency_count_address(u64 *address)
100100

101101
return 0;
102102
}
103+
EXPORT_SYMBOL_GPL(lpit_read_residency_count_address);
103104

104105
static void lpit_update_residency(struct lpit_residency_info *info,
105106
struct acpi_lpit_native *lpit_native)

drivers/platform/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ endif
88
source "drivers/platform/goldfish/Kconfig"
99

1010
source "drivers/platform/chrome/Kconfig"
11+
12+
source "drivers/platform/mellanox/Kconfig"

drivers/platform/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55

66
obj-$(CONFIG_X86) += x86/
7+
obj-$(CONFIG_MELLANOX_PLATFORM) += mellanox/
78
obj-$(CONFIG_MIPS) += mips/
89
obj-$(CONFIG_OLPC) += olpc/
910
obj-$(CONFIG_GOLDFISH) += goldfish/

drivers/platform/mellanox/Kconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Platform support for Mellanox hardware
4+
#
5+
6+
menuconfig MELLANOX_PLATFORM
7+
bool "Platform support for Mellanox hardware"
8+
depends on X86 || ARM || COMPILE_TEST
9+
---help---
10+
Say Y here to get to see options for platform support for
11+
Mellanox systems. This option alone does not add any kernel code.
12+
13+
If you say N, all options in this submenu will be skipped and disabled.
14+
15+
if MELLANOX_PLATFORM
16+
17+
config MLXREG_HOTPLUG
18+
tristate "Mellanox platform hotplug driver support"
19+
depends on REGMAP
20+
depends on HWMON
21+
depends on I2C
22+
---help---
23+
This driver handles hot-plug events for the power suppliers, power
24+
cables and fans on the wide range Mellanox IB and Ethernet systems.
25+
26+
endif # MELLANOX_PLATFORM

drivers/platform/mellanox/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Makefile for linux/drivers/platform/mellanox
4+
# Mellanox Platform-Specific Drivers
5+
#
6+
obj-$(CONFIG_MLXREG_HOTPLUG) += mlxreg-hotplug.o

0 commit comments

Comments
 (0)