All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices
@ 2020-10-09 14:11 Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 1/5] platform: Add Surface platform directory Maximilian Luz
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

As has come up in the discussion around

  [RFC PATCH] Add support for Microsoft Surface System Aggregator Module

it may make sense to add a Microsoft Surface specific platform
subdirectory. Andy has suggested drivers/platform/surface for that.
This series follows said suggestion and creates that subdirectory, as
well as moves Microsoft Surface related drivers over to it and updates
their MAINTAINERS entries (if available) accordingly.

This series does not modify any existing driver code, symbols, or help
text.

More details regarding maintainership can be found in

  [PATCH v4 1/5] platform: Add Surface platform directory

Thanks,
Max

Link to discussion:
  https://lore.kernel.org/lkml/CAHp75Vfp86h38Rd-VEgER7ASADdmz5ymAkuHvD0Q6WPDqZBqHw@mail.gmail.com/

Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>

Changes in v2:
 - Rebase onto linux-platform-drivers-x86/for-next to incorporate
   changes in Maintainer file.

Changes in v3:
 - Add separate MAINTAINERS entry for platform/surface
 - Add Maximilian Luz as reviewer for platform/surface

Changes in v4:
 - Rebase onto platform-drivers-x86/for-next.
 - Restructure MAINTAINERS entry and Kconfig option to be more similar
   to platform/chrome.
 - Drop placeholder comments.

For more details regarding changes, refer to the individual patches.

P.S: for Andy:
  I have not added your Rb tag for 1 and 2 as I was not completely sure
  that the changes are as you intended.

Maximilian Luz (5):
  platform: Add Surface platform directory
  platform/surface: Move Surface 3 WMI driver to platform/surface
  platform/surface: Move Surface 3 Button driver to platform/surface
  platform/surface: Move Surface 3 Power OpRegion driver to
    platform/surface
  platform/surface: Move Surface Pro 3 Button driver to platform/surface

 MAINTAINERS                                   | 11 ++++-
 drivers/platform/Kconfig                      |  2 +
 drivers/platform/Makefile                     |  1 +
 drivers/platform/surface/Kconfig              | 49 +++++++++++++++++++
 drivers/platform/surface/Makefile             | 10 ++++
 .../platform/{x86 => surface}/surface3-wmi.c  |  0
 .../{x86 => surface}/surface3_button.c        |  0
 .../{x86 => surface}/surface3_power.c         |  0
 .../{x86 => surface}/surfacepro3_button.c     |  0
 drivers/platform/x86/Kconfig                  | 31 ------------
 drivers/platform/x86/Makefile                 |  6 ---
 11 files changed, 72 insertions(+), 38 deletions(-)
 create mode 100644 drivers/platform/surface/Kconfig
 create mode 100644 drivers/platform/surface/Makefile
 rename drivers/platform/{x86 => surface}/surface3-wmi.c (100%)
 rename drivers/platform/{x86 => surface}/surface3_button.c (100%)
 rename drivers/platform/{x86 => surface}/surface3_power.c (100%)
 rename drivers/platform/{x86 => surface}/surfacepro3_button.c (100%)

--
2.28.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 1/5] platform: Add Surface platform directory
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
@ 2020-10-09 14:11 ` Maximilian Luz
  2020-10-09 14:25   ` Andy Shevchenko
  2020-10-09 14:11 ` [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface Maximilian Luz
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

It may make sense to split the Microsoft Surface hardware platform
drivers out to a separate subdirectory, since some of it may be shared
between ARM and x86 in the future (regarding devices like the Surface
Pro X).

Further, newer Surface devices will require additional platform drivers
for fundamental support (mostly regarding their embedded controller),
which may also warrant this split from a size perspective.

This commit introduces a new platform/surface subdirectory for the
Surface device family, with subsequent commits moving existing Surface
drivers over from platform/x86.

A new MAINTAINERS entry is added for this directory. Patches to files in
this directory will be taken up by the platform-drivers-x86 team (i.e.
Hans de Goede and Mark Gross) after they have been reviewed by
Maximilian Luz.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---

Changes in v2:
 - Do not create a separate MAINTAINERS entry for platform/surface.
   Instead add drivers/platform/surface to x86 platform drivers entry.
   This incorporates recent changes in the x86 platform driver
   MAINTAINERS entry.
 - Fix typo in commit message.

Changes in v3:
 - Add separate MAINTAINERS entry for platform/surface
 - Add Maximilian Luz as reviewer for platform/surface

Changes in v4:
 - Rename MAINTAINERS entry to be similar to platform/chrome.
 - Rename Kconfig options to be similar to platform/chrome
   (PLATFORM -> PLATFORMS)
 - Drop placeholder comments.

---
 MAINTAINERS                       |  9 +++++++++
 drivers/platform/Kconfig          |  2 ++
 drivers/platform/Makefile         |  1 +
 drivers/platform/surface/Kconfig  | 14 ++++++++++++++
 drivers/platform/surface/Makefile |  5 +++++
 5 files changed, 31 insertions(+)
 create mode 100644 drivers/platform/surface/Kconfig
 create mode 100644 drivers/platform/surface/Makefile

diff --git a/MAINTAINERS b/MAINTAINERS
index 2a2170ff3a91..9fea3ce2db2d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11532,6 +11532,15 @@ F:	drivers/scsi/smartpqi/smartpqi*.[ch]
 F:	include/linux/cciss*.h
 F:	include/uapi/linux/cciss*.h
 
+MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT
+M:	Hans de Goede <hdegoede@redhat.com>
+M:	Mark Gross <mgross@linux.intel.com>
+M:	Maximilian Luz <luzmaximilian@gmail.com>
+L:	platform-driver-x86@vger.kernel.org
+S:	Maintained
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
+F:	drivers/platform/surface/
+
 MICROSOFT SURFACE PRO 3 BUTTON DRIVER
 M:	Chen Yu <yu.c.chen@intel.com>
 L:	platform-driver-x86@vger.kernel.org
diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig
index 971426bb4302..18fc6a08569e 100644
--- a/drivers/platform/Kconfig
+++ b/drivers/platform/Kconfig
@@ -13,3 +13,5 @@ source "drivers/platform/chrome/Kconfig"
 source "drivers/platform/mellanox/Kconfig"
 
 source "drivers/platform/olpc/Kconfig"
+
+source "drivers/platform/surface/Kconfig"
diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
index 6fda58c021ca..4de08ef4ec9d 100644
--- a/drivers/platform/Makefile
+++ b/drivers/platform/Makefile
@@ -9,3 +9,4 @@ obj-$(CONFIG_MIPS)		+= mips/
 obj-$(CONFIG_OLPC_EC)		+= olpc/
 obj-$(CONFIG_GOLDFISH)		+= goldfish/
 obj-$(CONFIG_CHROME_PLATFORMS)	+= chrome/
+obj-$(CONFIG_SURFACE_PLATFORMS)	+= surface/
diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
new file mode 100644
index 000000000000..b67926ece95f
--- /dev/null
+++ b/drivers/platform/surface/Kconfig
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Microsoft Surface Platform-Specific Drivers
+#
+
+menuconfig SURFACE_PLATFORMS
+	bool "Microsoft Surface Platform-Specific Device Drivers"
+	default y
+	help
+	  Say Y here to get to see options for platform-specific device drivers
+	  for Microsoft Surface devices. This option alone does not add any
+	  kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
new file mode 100644
index 000000000000..3700f9e84299
--- /dev/null
+++ b/drivers/platform/surface/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Makefile for linux/drivers/platform/surface
+# Microsoft Surface Platform-Specific Drivers
+#
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 1/5] platform: Add Surface platform directory Maximilian Luz
@ 2020-10-09 14:11 ` Maximilian Luz
  2020-10-09 14:26   ` Andy Shevchenko
  2020-10-09 14:11 ` [PATCH v4 3/5] platform/surface: Move Surface 3 Button " Maximilian Luz
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

Move the Surface 3 WMI driver from platform/x86 to the newly created
platform/surface directory.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 drivers/platform/surface/Kconfig                 | 16 ++++++++++++++++
 drivers/platform/surface/Makefile                |  2 ++
 drivers/platform/{x86 => surface}/surface3-wmi.c |  0
 drivers/platform/x86/Kconfig                     | 12 ------------
 drivers/platform/x86/Makefile                    |  1 -
 5 files changed, 18 insertions(+), 13 deletions(-)
 rename drivers/platform/{x86 => surface}/surface3-wmi.c (100%)

diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
index b67926ece95f..326f7bbf83d7 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -12,3 +12,19 @@ menuconfig SURFACE_PLATFORMS
 	  kernel code.
 
 	  If you say N, all options in this submenu will be skipped and disabled.
+
+if SURFACE_PLATFORMS
+
+config SURFACE3_WMI
+	tristate "Surface 3 WMI Driver"
+	depends on ACPI_WMI
+	depends on DMI
+	depends on INPUT
+	depends on SPI
+	help
+	  Say Y here if you have a Surface 3.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called surface3-wmi.
+
+endif # SURFACE_PLATFORMS
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
index 3700f9e84299..f889d521420f 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -3,3 +3,5 @@
 # Makefile for linux/drivers/platform/surface
 # Microsoft Surface Platform-Specific Drivers
 #
+
+obj-$(CONFIG_SURFACE3_WMI)		+= surface3-wmi.o
diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c
similarity index 100%
rename from drivers/platform/x86/surface3-wmi.c
rename to drivers/platform/surface/surface3-wmi.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 0d91d136bc3b..0759913c9846 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -870,18 +870,6 @@ config INTEL_VBTN
 	  To compile this driver as a module, choose M here: the module will
 	  be called intel_vbtn.
 
-config SURFACE3_WMI
-	tristate "Surface 3 WMI Driver"
-	depends on ACPI_WMI
-	depends on DMI
-	depends on INPUT
-	depends on SPI
-	help
-	  Say Y here if you have a Surface 3.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called surface3-wmi.
-
 config SURFACE_3_BUTTON
 	tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
 	depends on ACPI && KEYBOARD_GPIO && I2C
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 5f823f7eff45..29563a32b3e3 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -82,7 +82,6 @@ obj-$(CONFIG_INTEL_OAKTRAIL)		+= intel_oaktrail.o
 obj-$(CONFIG_INTEL_VBTN)		+= intel-vbtn.o
 
 # Microsoft
-obj-$(CONFIG_SURFACE3_WMI)		+= surface3-wmi.o
 obj-$(CONFIG_SURFACE_3_BUTTON)		+= surface3_button.o
 obj-$(CONFIG_SURFACE_3_POWER_OPREGION)	+= surface3_power.o
 obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 3/5] platform/surface: Move Surface 3 Button driver to platform/surface
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 1/5] platform: Add Surface platform directory Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface Maximilian Luz
@ 2020-10-09 14:11 ` Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 4/5] platform/surface: Move Surface 3 Power OpRegion " Maximilian Luz
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

Move the Surface 3 Button driver from platform/x86 to the newly created
platform/surface directory.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/platform/surface/Kconfig                    | 6 ++++++
 drivers/platform/surface/Makefile                   | 1 +
 drivers/platform/{x86 => surface}/surface3_button.c | 0
 drivers/platform/x86/Kconfig                        | 6 ------
 drivers/platform/x86/Makefile                       | 1 -
 5 files changed, 7 insertions(+), 7 deletions(-)
 rename drivers/platform/{x86 => surface}/surface3_button.c (100%)

diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
index 326f7bbf83d7..1a7cf6a73d52 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -27,4 +27,10 @@ config SURFACE3_WMI
 	  To compile this driver as a module, choose M here: the module will
 	  be called surface3-wmi.
 
+config SURFACE_3_BUTTON
+	tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
+	depends on ACPI && KEYBOARD_GPIO && I2C
+	help
+	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
+
 endif # SURFACE_PLATFORMS
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
index f889d521420f..8588dc178245 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -5,3 +5,4 @@
 #
 
 obj-$(CONFIG_SURFACE3_WMI)		+= surface3-wmi.o
+obj-$(CONFIG_SURFACE_3_BUTTON)		+= surface3_button.o
diff --git a/drivers/platform/x86/surface3_button.c b/drivers/platform/surface/surface3_button.c
similarity index 100%
rename from drivers/platform/x86/surface3_button.c
rename to drivers/platform/surface/surface3_button.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 0759913c9846..5fba590a1a67 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -870,12 +870,6 @@ config INTEL_VBTN
 	  To compile this driver as a module, choose M here: the module will
 	  be called intel_vbtn.
 
-config SURFACE_3_BUTTON
-	tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
-	depends on ACPI && KEYBOARD_GPIO && I2C
-	help
-	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
-
 config SURFACE_3_POWER_OPREGION
 	tristate "Surface 3 battery platform operation region support"
 	depends on ACPI && I2C
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 29563a32b3e3..0fd70d5d2cf3 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -82,7 +82,6 @@ obj-$(CONFIG_INTEL_OAKTRAIL)		+= intel_oaktrail.o
 obj-$(CONFIG_INTEL_VBTN)		+= intel-vbtn.o
 
 # Microsoft
-obj-$(CONFIG_SURFACE_3_BUTTON)		+= surface3_button.o
 obj-$(CONFIG_SURFACE_3_POWER_OPREGION)	+= surface3_power.o
 obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 4/5] platform/surface: Move Surface 3 Power OpRegion driver to platform/surface
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
                   ` (2 preceding siblings ...)
  2020-10-09 14:11 ` [PATCH v4 3/5] platform/surface: Move Surface 3 Button " Maximilian Luz
@ 2020-10-09 14:11 ` Maximilian Luz
  2020-10-09 14:11 ` [PATCH v4 5/5] platform/surface: Move Surface Pro 3 Button " Maximilian Luz
  2020-10-27 11:54 ` [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Hans de Goede
  5 siblings, 0 replies; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

Move the Surface 3 Power operation region driver from platform/x86 to
the newly created platform/surface directory.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/platform/surface/Kconfig                   | 7 +++++++
 drivers/platform/surface/Makefile                  | 1 +
 drivers/platform/{x86 => surface}/surface3_power.c | 0
 drivers/platform/x86/Kconfig                       | 7 -------
 drivers/platform/x86/Makefile                      | 1 -
 5 files changed, 8 insertions(+), 8 deletions(-)
 rename drivers/platform/{x86 => surface}/surface3_power.c (100%)

diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
index 1a7cf6a73d52..ac1c749a7a2f 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -33,4 +33,11 @@ config SURFACE_3_BUTTON
 	help
 	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
 
+config SURFACE_3_POWER_OPREGION
+	tristate "Surface 3 battery platform operation region support"
+	depends on ACPI && I2C
+	help
+	  This driver provides support for ACPI operation
+	  region of the Surface 3 battery platform driver.
+
 endif # SURFACE_PLATFORMS
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
index 8588dc178245..4940d4db58b2 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -6,3 +6,4 @@
 
 obj-$(CONFIG_SURFACE3_WMI)		+= surface3-wmi.o
 obj-$(CONFIG_SURFACE_3_BUTTON)		+= surface3_button.o
+obj-$(CONFIG_SURFACE_3_POWER_OPREGION)	+= surface3_power.o
diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/surface/surface3_power.c
similarity index 100%
rename from drivers/platform/x86/surface3_power.c
rename to drivers/platform/surface/surface3_power.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 5fba590a1a67..8417ee0178d0 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -870,13 +870,6 @@ config INTEL_VBTN
 	  To compile this driver as a module, choose M here: the module will
 	  be called intel_vbtn.
 
-config SURFACE_3_POWER_OPREGION
-	tristate "Surface 3 battery platform operation region support"
-	depends on ACPI && I2C
-	help
-	  This driver provides support for ACPI operation
-	  region of the Surface 3 battery platform driver.
-
 config SURFACE_PRO3_BUTTON
 	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
 	depends on ACPI && INPUT
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 0fd70d5d2cf3..ffa31f57d9a2 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -82,7 +82,6 @@ obj-$(CONFIG_INTEL_OAKTRAIL)		+= intel_oaktrail.o
 obj-$(CONFIG_INTEL_VBTN)		+= intel-vbtn.o
 
 # Microsoft
-obj-$(CONFIG_SURFACE_3_POWER_OPREGION)	+= surface3_power.o
 obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
 
 # MSI
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v4 5/5] platform/surface: Move Surface Pro 3 Button driver to platform/surface
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
                   ` (3 preceding siblings ...)
  2020-10-09 14:11 ` [PATCH v4 4/5] platform/surface: Move Surface 3 Power OpRegion " Maximilian Luz
@ 2020-10-09 14:11 ` Maximilian Luz
  2020-10-27 11:54 ` [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Hans de Goede
  5 siblings, 0 replies; 9+ messages in thread
From: Maximilian Luz @ 2020-10-09 14:11 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, linux-kernel, Maximilian Luz

Move the Surface Pro 3 Button driver from platform/x86 to the newly
created platform/surface directory.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Chen Yu <yu.c.chen@intel.com>
---
 MAINTAINERS                                            | 2 +-
 drivers/platform/surface/Kconfig                       | 6 ++++++
 drivers/platform/surface/Makefile                      | 1 +
 drivers/platform/{x86 => surface}/surfacepro3_button.c | 0
 drivers/platform/x86/Kconfig                           | 6 ------
 drivers/platform/x86/Makefile                          | 3 ---
 6 files changed, 8 insertions(+), 10 deletions(-)
 rename drivers/platform/{x86 => surface}/surfacepro3_button.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9fea3ce2db2d..8ff126ced757 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11545,7 +11545,7 @@ MICROSOFT SURFACE PRO 3 BUTTON DRIVER
 M:	Chen Yu <yu.c.chen@intel.com>
 L:	platform-driver-x86@vger.kernel.org
 S:	Supported
-F:	drivers/platform/x86/surfacepro3_button.c
+F:	drivers/platform/surface/surfacepro3_button.c
 
 MICROTEK X6 SCANNER
 M:	Oliver Neukum <oliver@neukum.org>
diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
index ac1c749a7a2f..10902ea43861 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -40,4 +40,10 @@ config SURFACE_3_POWER_OPREGION
 	  This driver provides support for ACPI operation
 	  region of the Surface 3 battery platform driver.
 
+config SURFACE_PRO3_BUTTON
+	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
+	depends on ACPI && INPUT
+	help
+	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
+
 endif # SURFACE_PLATFORMS
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
index 4940d4db58b2..dcb1df06d57a 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -7,3 +7,4 @@
 obj-$(CONFIG_SURFACE3_WMI)		+= surface3-wmi.o
 obj-$(CONFIG_SURFACE_3_BUTTON)		+= surface3_button.o
 obj-$(CONFIG_SURFACE_3_POWER_OPREGION)	+= surface3_power.o
+obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
diff --git a/drivers/platform/x86/surfacepro3_button.c b/drivers/platform/surface/surfacepro3_button.c
similarity index 100%
rename from drivers/platform/x86/surfacepro3_button.c
rename to drivers/platform/surface/surfacepro3_button.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 8417ee0178d0..6083f8241b7d 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -870,12 +870,6 @@ config INTEL_VBTN
 	  To compile this driver as a module, choose M here: the module will
 	  be called intel_vbtn.
 
-config SURFACE_PRO3_BUTTON
-	tristate "Power/home/volume buttons driver for Microsoft Surface Pro 3/4 tablet"
-	depends on ACPI && INPUT
-	help
-	  This driver handles the power/home/volume buttons on the Microsoft Surface Pro 3/4 tablet.
-
 config MSI_LAPTOP
 	tristate "MSI Laptop Extras"
 	depends on ACPI
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index ffa31f57d9a2..aeff497e23a5 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -81,9 +81,6 @@ obj-$(CONFIG_INTEL_MENLOW)		+= intel_menlow.o
 obj-$(CONFIG_INTEL_OAKTRAIL)		+= intel_oaktrail.o
 obj-$(CONFIG_INTEL_VBTN)		+= intel-vbtn.o
 
-# Microsoft
-obj-$(CONFIG_SURFACE_PRO3_BUTTON)	+= surfacepro3_button.o
-
 # MSI
 obj-$(CONFIG_MSI_LAPTOP)	+= msi-laptop.o
 obj-$(CONFIG_MSI_WMI)		+= msi-wmi.o
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 1/5] platform: Add Surface platform directory
  2020-10-09 14:11 ` [PATCH v4 1/5] platform: Add Surface platform directory Maximilian Luz
@ 2020-10-09 14:25   ` Andy Shevchenko
  0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2020-10-09 14:25 UTC (permalink / raw)
  To: Maximilian Luz
  Cc: Platform Driver, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, Linux Kernel Mailing List

On Fri, Oct 9, 2020 at 5:11 PM Maximilian Luz <luzmaximilian@gmail.com> wrote:
>
> It may make sense to split the Microsoft Surface hardware platform
> drivers out to a separate subdirectory, since some of it may be shared
> between ARM and x86 in the future (regarding devices like the Surface
> Pro X).
>
> Further, newer Surface devices will require additional platform drivers
> for fundamental support (mostly regarding their embedded controller),
> which may also warrant this split from a size perspective.
>
> This commit introduces a new platform/surface subdirectory for the
> Surface device family, with subsequent commits moving existing Surface
> drivers over from platform/x86.
>
> A new MAINTAINERS entry is added for this directory. Patches to files in
> this directory will be taken up by the platform-drivers-x86 team (i.e.
> Hans de Goede and Mark Gross) after they have been reviewed by
> Maximilian Luz.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
> ---
>
> Changes in v2:
>  - Do not create a separate MAINTAINERS entry for platform/surface.
>    Instead add drivers/platform/surface to x86 platform drivers entry.
>    This incorporates recent changes in the x86 platform driver
>    MAINTAINERS entry.
>  - Fix typo in commit message.
>
> Changes in v3:
>  - Add separate MAINTAINERS entry for platform/surface
>  - Add Maximilian Luz as reviewer for platform/surface
>
> Changes in v4:
>  - Rename MAINTAINERS entry to be similar to platform/chrome.
>  - Rename Kconfig options to be similar to platform/chrome
>    (PLATFORM -> PLATFORMS)
>  - Drop placeholder comments.
>
> ---
>  MAINTAINERS                       |  9 +++++++++
>  drivers/platform/Kconfig          |  2 ++
>  drivers/platform/Makefile         |  1 +
>  drivers/platform/surface/Kconfig  | 14 ++++++++++++++
>  drivers/platform/surface/Makefile |  5 +++++
>  5 files changed, 31 insertions(+)
>  create mode 100644 drivers/platform/surface/Kconfig
>  create mode 100644 drivers/platform/surface/Makefile
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2a2170ff3a91..9fea3ce2db2d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11532,6 +11532,15 @@ F:     drivers/scsi/smartpqi/smartpqi*.[ch]
>  F:     include/linux/cciss*.h
>  F:     include/uapi/linux/cciss*.h
>
> +MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT
> +M:     Hans de Goede <hdegoede@redhat.com>
> +M:     Mark Gross <mgross@linux.intel.com>
> +M:     Maximilian Luz <luzmaximilian@gmail.com>
> +L:     platform-driver-x86@vger.kernel.org
> +S:     Maintained
> +T:     git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
> +F:     drivers/platform/surface/
> +
>  MICROSOFT SURFACE PRO 3 BUTTON DRIVER
>  M:     Chen Yu <yu.c.chen@intel.com>
>  L:     platform-driver-x86@vger.kernel.org
> diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig
> index 971426bb4302..18fc6a08569e 100644
> --- a/drivers/platform/Kconfig
> +++ b/drivers/platform/Kconfig
> @@ -13,3 +13,5 @@ source "drivers/platform/chrome/Kconfig"
>  source "drivers/platform/mellanox/Kconfig"
>
>  source "drivers/platform/olpc/Kconfig"
> +
> +source "drivers/platform/surface/Kconfig"
> diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
> index 6fda58c021ca..4de08ef4ec9d 100644
> --- a/drivers/platform/Makefile
> +++ b/drivers/platform/Makefile
> @@ -9,3 +9,4 @@ obj-$(CONFIG_MIPS)              += mips/
>  obj-$(CONFIG_OLPC_EC)          += olpc/
>  obj-$(CONFIG_GOLDFISH)         += goldfish/
>  obj-$(CONFIG_CHROME_PLATFORMS) += chrome/
> +obj-$(CONFIG_SURFACE_PLATFORMS)        += surface/
> diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
> new file mode 100644
> index 000000000000..b67926ece95f
> --- /dev/null
> +++ b/drivers/platform/surface/Kconfig
> @@ -0,0 +1,14 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# Microsoft Surface Platform-Specific Drivers
> +#
> +
> +menuconfig SURFACE_PLATFORMS
> +       bool "Microsoft Surface Platform-Specific Device Drivers"
> +       default y
> +       help
> +         Say Y here to get to see options for platform-specific device drivers
> +         for Microsoft Surface devices. This option alone does not add any
> +         kernel code.
> +
> +         If you say N, all options in this submenu will be skipped and disabled.
> diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
> new file mode 100644
> index 000000000000..3700f9e84299
> --- /dev/null
> +++ b/drivers/platform/surface/Makefile
> @@ -0,0 +1,5 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for linux/drivers/platform/surface
> +# Microsoft Surface Platform-Specific Drivers
> +#
> --
> 2.28.0
>


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface
  2020-10-09 14:11 ` [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface Maximilian Luz
@ 2020-10-09 14:26   ` Andy Shevchenko
  0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2020-10-09 14:26 UTC (permalink / raw)
  To: Maximilian Luz
  Cc: Platform Driver, Darren Hart, Hans de Goede, Mark Gross,
	Mika Westerberg, Gayatri Kammela, Enric Balletbo i Serra,
	Blaž Hrastnik, Stephen Just, Dan Carpenter,
	Benjamin Tissoires, Chen Yu, Linux Kernel Mailing List

On Fri, Oct 9, 2020 at 5:11 PM Maximilian Luz <luzmaximilian@gmail.com> wrote:
>
> Move the Surface 3 WMI driver from platform/x86 to the newly created
> platform/surface directory.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
> ---
>  drivers/platform/surface/Kconfig                 | 16 ++++++++++++++++
>  drivers/platform/surface/Makefile                |  2 ++
>  drivers/platform/{x86 => surface}/surface3-wmi.c |  0
>  drivers/platform/x86/Kconfig                     | 12 ------------
>  drivers/platform/x86/Makefile                    |  1 -
>  5 files changed, 18 insertions(+), 13 deletions(-)
>  rename drivers/platform/{x86 => surface}/surface3-wmi.c (100%)
>
> diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
> index b67926ece95f..326f7bbf83d7 100644
> --- a/drivers/platform/surface/Kconfig
> +++ b/drivers/platform/surface/Kconfig
> @@ -12,3 +12,19 @@ menuconfig SURFACE_PLATFORMS
>           kernel code.
>
>           If you say N, all options in this submenu will be skipped and disabled.
> +
> +if SURFACE_PLATFORMS
> +
> +config SURFACE3_WMI
> +       tristate "Surface 3 WMI Driver"
> +       depends on ACPI_WMI
> +       depends on DMI
> +       depends on INPUT
> +       depends on SPI
> +       help
> +         Say Y here if you have a Surface 3.
> +
> +         To compile this driver as a module, choose M here: the module will
> +         be called surface3-wmi.
> +
> +endif # SURFACE_PLATFORMS
> diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
> index 3700f9e84299..f889d521420f 100644
> --- a/drivers/platform/surface/Makefile
> +++ b/drivers/platform/surface/Makefile
> @@ -3,3 +3,5 @@
>  # Makefile for linux/drivers/platform/surface
>  # Microsoft Surface Platform-Specific Drivers
>  #
> +
> +obj-$(CONFIG_SURFACE3_WMI)             += surface3-wmi.o
> diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c
> similarity index 100%
> rename from drivers/platform/x86/surface3-wmi.c
> rename to drivers/platform/surface/surface3-wmi.c
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index 0d91d136bc3b..0759913c9846 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -870,18 +870,6 @@ config INTEL_VBTN
>           To compile this driver as a module, choose M here: the module will
>           be called intel_vbtn.
>
> -config SURFACE3_WMI
> -       tristate "Surface 3 WMI Driver"
> -       depends on ACPI_WMI
> -       depends on DMI
> -       depends on INPUT
> -       depends on SPI
> -       help
> -         Say Y here if you have a Surface 3.
> -
> -         To compile this driver as a module, choose M here: the module will
> -         be called surface3-wmi.
> -
>  config SURFACE_3_BUTTON
>         tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
>         depends on ACPI && KEYBOARD_GPIO && I2C
> diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
> index 5f823f7eff45..29563a32b3e3 100644
> --- a/drivers/platform/x86/Makefile
> +++ b/drivers/platform/x86/Makefile
> @@ -82,7 +82,6 @@ obj-$(CONFIG_INTEL_OAKTRAIL)          += intel_oaktrail.o
>  obj-$(CONFIG_INTEL_VBTN)               += intel-vbtn.o
>
>  # Microsoft
> -obj-$(CONFIG_SURFACE3_WMI)             += surface3-wmi.o
>  obj-$(CONFIG_SURFACE_3_BUTTON)         += surface3_button.o
>  obj-$(CONFIG_SURFACE_3_POWER_OPREGION) += surface3_power.o
>  obj-$(CONFIG_SURFACE_PRO3_BUTTON)      += surfacepro3_button.o
> --
> 2.28.0
>


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices
  2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
                   ` (4 preceding siblings ...)
  2020-10-09 14:11 ` [PATCH v4 5/5] platform/surface: Move Surface Pro 3 Button " Maximilian Luz
@ 2020-10-27 11:54 ` Hans de Goede
  5 siblings, 0 replies; 9+ messages in thread
From: Hans de Goede @ 2020-10-27 11:54 UTC (permalink / raw)
  To: Maximilian Luz, platform-driver-x86
  Cc: Andy Shevchenko, Darren Hart, Mark Gross, Mika Westerberg,
	Gayatri Kammela, Enric Balletbo i Serra, Blaž Hrastnik,
	Stephen Just, Dan Carpenter, Benjamin Tissoires, Chen Yu,
	linux-kernel

Hi,

On 10/9/20 4:11 PM, Maximilian Luz wrote:
> As has come up in the discussion around
> 
>   [RFC PATCH] Add support for Microsoft Surface System Aggregator Module
> 
> it may make sense to add a Microsoft Surface specific platform
> subdirectory. Andy has suggested drivers/platform/surface for that.
> This series follows said suggestion and creates that subdirectory, as
> well as moves Microsoft Surface related drivers over to it and updates
> their MAINTAINERS entries (if available) accordingly.
> 
> This series does not modify any existing driver code, symbols, or help
> text.

Thank you for your patch-series, I've applied the series to my
review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up there once I've pushed my local branch there,
which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-10-27 11:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-09 14:11 [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Maximilian Luz
2020-10-09 14:11 ` [PATCH v4 1/5] platform: Add Surface platform directory Maximilian Luz
2020-10-09 14:25   ` Andy Shevchenko
2020-10-09 14:11 ` [PATCH v4 2/5] platform/surface: Move Surface 3 WMI driver to platform/surface Maximilian Luz
2020-10-09 14:26   ` Andy Shevchenko
2020-10-09 14:11 ` [PATCH v4 3/5] platform/surface: Move Surface 3 Button " Maximilian Luz
2020-10-09 14:11 ` [PATCH v4 4/5] platform/surface: Move Surface 3 Power OpRegion " Maximilian Luz
2020-10-09 14:11 ` [PATCH v4 5/5] platform/surface: Move Surface Pro 3 Button " Maximilian Luz
2020-10-27 11:54 ` [PATCH v4 0/5] platform/surface: Create a platform subdirectory for Microsoft Surface devices Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.