2020-10-09 14:15:14

by Maximilian Luz

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

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 <[email protected]>
---

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 <[email protected]>
+M: Mark Gross <[email protected]>
+M: Maximilian Luz <[email protected]>
+L: [email protected]
+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 <[email protected]>
L: [email protected]
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


2020-10-09 19:44:31

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v4 1/5] platform: Add Surface platform directory

On Fri, Oct 9, 2020 at 5:11 PM Maximilian Luz <[email protected]> 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 <[email protected]>

> Signed-off-by: Maximilian Luz <[email protected]>
> ---
>
> 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 <[email protected]>
> +M: Mark Gross <[email protected]>
> +M: Maximilian Luz <[email protected]>
> +L: [email protected]
> +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 <[email protected]>
> L: [email protected]
> 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