Re: [RFC PATCH] phy: samsung: move the Samsung specific phy files to "samsung" directory

From: Kishon Vijay Abraham I
Date: Thu Mar 09 2017 - 06:57:45 EST


Hi,

On Thursday 09 March 2017 05:03 PM, Jaehoon Chung wrote:
> Make the "samsung" directory and move the Samsung specific files to
> there for maintaining the files relevant to Samsung.

The number of phy drivers in drivers/phy is getting unmanageable. I think this
is a good step to make it a little better. Can you also add a MAINTAINER for
drivers/phy/samsung?

Thanks
Kishon
>
> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx>
> ---
> drivers/phy/Kconfig | 96 +----------------------
> drivers/phy/Makefile | 14 +---
> drivers/phy/samsung/Kconfig | 92 ++++++++++++++++++++++
> drivers/phy/samsung/Makefile | 11 +++
> drivers/phy/{ => samsung}/phy-exynos-dp-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-mipi-video.c | 0
> drivers/phy/{ => samsung}/phy-exynos-pcie.c | 0
> drivers/phy/{ => samsung}/phy-exynos4210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c | 0
> drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-sata.c | 0
> drivers/phy/{ => samsung}/phy-exynos5250-usb2.c | 0
> drivers/phy/{ => samsung}/phy-s5pv210-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.c | 0
> drivers/phy/{ => samsung}/phy-samsung-usb2.h | 0
> 15 files changed, 108 insertions(+), 105 deletions(-)
> create mode 100644 drivers/phy/samsung/Kconfig
> create mode 100644 drivers/phy/samsung/Makefile
> rename drivers/phy/{ => samsung}/phy-exynos-dp-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-mipi-video.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos-pcie.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos4x12-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5-usbdrd.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-sata.c (100%)
> rename drivers/phy/{ => samsung}/phy-exynos5250-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-s5pv210-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.c (100%)
> rename drivers/phy/{ => samsung}/phy-samsung-usb2.h (100%)
>
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index dc5277a..10de740 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -72,16 +72,6 @@ config PHY_DM816X_USB
> help
> Enable this for dm816x USB to work.
>
> -config PHY_EXYNOS_MIPI_VIDEO
> - tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> - depends on HAS_IOMEM
> - depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> - select GENERIC_PHY
> - default y if ARCH_S5PV210 || ARCH_EXYNOS
> - help
> - Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> - and EXYNOS SoCs.
> -
> config PHY_LPC18XX_USB_OTG
> tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
> depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
> @@ -194,15 +184,6 @@ config TWL4030_USB
> This transceiver supports high and full speed devices plus,
> in host mode, low speed.
>
> -config PHY_EXYNOS_DP_VIDEO
> - tristate "EXYNOS SoC series Display Port PHY driver"
> - depends on OF
> - depends on ARCH_EXYNOS || COMPILE_TEST
> - default ARCH_EXYNOS
> - select GENERIC_PHY
> - help
> - Support for Display Port PHY found on Samsung EXYNOS SoCs.
> -
> config BCM_KONA_USB2_PHY
> tristate "Broadcom Kona USB2 PHY Driver"
> depends on HAS_IOMEM
> @@ -210,21 +191,6 @@ config BCM_KONA_USB2_PHY
> help
> Enable this to support the Broadcom Kona USB 2.0 PHY.
>
> -config PHY_EXYNOS5250_SATA
> - tristate "Exynos5250 Sata SerDes/PHY driver"
> - depends on SOC_EXYNOS5250
> - depends on HAS_IOMEM
> - depends on OF
> - select GENERIC_PHY
> - select I2C
> - select I2C_S3C2410
> - select MFD_SYSCON
> - help
> - Enable this to support SATA SerDes/Phy found on Samsung's
> - Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> - SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> - port to accept one SATA device.
> -
> config PHY_HIX5HD2_SATA
> tristate "HIX5HD2 SATA PHY Driver"
> depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
> @@ -280,65 +246,6 @@ config PHY_SUN9I_USB
>
> This driver controls each individual USB 2 host PHY.
>
> -config PHY_SAMSUNG_USB2
> - tristate "Samsung USB 2.0 PHY driver"
> - depends on HAS_IOMEM
> - depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default ARCH_EXYNOS
> - help
> - Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> - SoCs. This driver provides the interface for USB 2.0 PHY. Support
> - for particular PHYs will be enabled based on the SoC type in addition
> - to this driver.
> -
> -config PHY_S5PV210_USB2
> - bool "Support for S5PV210"
> - depends on PHY_SAMSUNG_USB2
> - depends on ARCH_S5PV210
> - help
> - Enable USB PHY support for S5PV210. This option requires that Samsung
> - USB 2.0 PHY driver is enabled and means that support for this
> - particular SoC is compiled in the driver. In case of S5PV210 two phys
> - are available - device and host.
> -
> -config PHY_EXYNOS4210_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default CPU_EXYNOS4210
> -
> -config PHY_EXYNOS4X12_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> -
> -config PHY_EXYNOS5250_USB2
> - bool
> - depends on PHY_SAMSUNG_USB2
> - default SOC_EXYNOS5250 || SOC_EXYNOS5420
> -
> -config PHY_EXYNOS5_USBDRD
> - tristate "Exynos5 SoC series USB DRD PHY driver"
> - depends on ARCH_EXYNOS && OF
> - depends on HAS_IOMEM
> - depends on USB_DWC3_EXYNOS
> - select GENERIC_PHY
> - select MFD_SYSCON
> - default y
> - help
> - Enable USB DRD PHY support for Exynos 5 SoC series.
> - This driver provides PHY interface for USB 3.0 DRD controller
> - present on Exynos5 SoC series.
> -
> -config PHY_EXYNOS_PCIE
> - bool "Exynos PCIe PHY driver"
> - depends on OF && (ARCH_EXYNOS || COMPILE_TEST)
> - select GENERIC_PHY
> - help
> - Enable PCIe PHY support for Exynos SoC series.
> - This driver provides PHY interface for Exynos PCIe controller.
> -
> config PHY_PISTACHIO_USB
> tristate "IMG Pistachio USB2.0 PHY driver"
> depends on MACH_PISTACHIO
> @@ -518,4 +425,7 @@ config PHY_NSP_USB3
> help
> Enable this to support the Broadcom Northstar plus USB3 PHY.
> If unsure, say N.
> +
> +source "drivers/phy/samsung/Kconfig"
> +
> endmenu
> diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
> index e7b0feb..c39c3c4 100644
> --- a/drivers/phy/Makefile
> +++ b/drivers/phy/Makefile
> @@ -2,6 +2,8 @@
> # Makefile for the phy drivers.
> #
>
> +obj-$(CONFIG_ARCH_EXYNOS) += samsung/
> +
> obj-$(CONFIG_GENERIC_PHY) += phy-core.o
> obj-$(CONFIG_PHY_BCM_NS_USB2) += phy-bcm-ns-usb2.o
> obj-$(CONFIG_PHY_BCM_NS_USB3) += phy-bcm-ns-usb3.o
> @@ -11,8 +13,6 @@ obj-$(CONFIG_PHY_DA8XX_USB) += phy-da8xx-usb.o
> obj-$(CONFIG_PHY_DM816X_USB) += phy-dm816x-usb.o
> obj-$(CONFIG_ARMADA375_USBCLUSTER_PHY) += phy-armada375-usb2.o
> obj-$(CONFIG_BCM_KONA_USB2_PHY) += phy-bcm-kona-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> -obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
> obj-$(CONFIG_PHY_PXA_28NM_USB2) += phy-pxa-28nm-usb2.o
> obj-$(CONFIG_PHY_PXA_28NM_HSIC) += phy-pxa-28nm-hsic.o
> @@ -24,20 +24,10 @@ obj-$(CONFIG_OMAP_CONTROL_PHY) += phy-omap-control.o
> obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
> obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
> obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
> -obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
> -obj-$(CONFIG_PHY_HIX5HD2_SATA) += phy-hix5hd2-sata.o
> obj-$(CONFIG_PHY_HI6220_USB) += phy-hi6220-usb.o
> obj-$(CONFIG_PHY_MT65XX_USB3) += phy-mt65xx-usb3.o
> obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
> obj-$(CONFIG_PHY_SUN9I_USB) += phy-sun9i-usb.o
> -obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> -phy-exynos-usb2-y += phy-samsung-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> -phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> -obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> -obj-$(CONFIG_PHY_EXYNOS_PCIE) += phy-exynos-pcie.o
> obj-$(CONFIG_PHY_QCOM_APQ8064_SATA) += phy-qcom-apq8064-sata.o
> obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
> obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o
> diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
> new file mode 100644
> index 0000000..f1226c0
> --- /dev/null
> +++ b/drivers/phy/samsung/Kconfig
> @@ -0,0 +1,92 @@
> +config PHY_EXYNOS_MIPI_VIDEO
> + tristate "S5P/EXYNOS SoC series MIPI CSI-2/DSI PHY driver"
> + depends on HAS_IOMEM
> + depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
> + select GENERIC_PHY
> + default y if ARCH_S5PV210 || ARCH_EXYNOS
> + help
> + Support for MIPI CSI-2 and MIPI DSI DPHY found on Samsung S5P
> + and EXYNOS SoCs.
> +
> +config PHY_EXYNOS_DP_VIDEO
> + tristate "EXYNOS SoC series Display Port PHY driver"
> + depends on OF
> + depends on ARCH_EXYNOS || COMPILE_TEST
> + default ARCH_EXYNOS
> + select GENERIC_PHY
> + help
> + Support for Display Port PHY found on Samsung EXYNOS SoCs.
> +
> +config PHY_EXYNOS5250_SATA
> + tristate "Exynos5250 Sata SerDes/PHY driver"
> + depends on SOC_EXYNOS5250
> + depends on HAS_IOMEM
> + depends on OF
> + select GENERIC_PHY
> + select I2C
> + select I2C_S3C2410
> + select MFD_SYSCON
> + help
> + Enable this to support SATA SerDes/Phy found on Samsung's
> + Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
> + SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
> + port to accept one SATA device.
> +
> +config PHY_SAMSUNG_USB2
> + tristate "Samsung USB 2.0 PHY driver"
> + depends on HAS_IOMEM
> + depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default ARCH_EXYNOS
> + help
> + Enable this to support the Samsung USB 2.0 PHY driver for Samsung
> + SoCs. This driver provides the interface for USB 2.0 PHY. Support
> + for particular PHYs will be enabled based on the SoC type in addition
> + to this driver.
> +
> +config PHY_S5PV210_USB2
> + bool "Support for S5PV210"
> + depends on PHY_SAMSUNG_USB2
> + depends on ARCH_S5PV210
> + help
> + Enable USB PHY support for S5PV210. This option requires that Samsung
> + USB 2.0 PHY driver is enabled and means that support for this
> + particular SoC is compiled in the driver. In case of S5PV210 two phys
> + are available - device and host.
> +
> +config PHY_EXYNOS4210_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default CPU_EXYNOS4210
> +
> +config PHY_EXYNOS4X12_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS3250 || SOC_EXYNOS4212 || SOC_EXYNOS4412
> +
> +config PHY_EXYNOS5250_USB2
> + bool
> + depends on PHY_SAMSUNG_USB2
> + default SOC_EXYNOS5250 || SOC_EXYNOS5420
> +
> +config PHY_EXYNOS5_USBDRD
> + tristate "Exynos5 SoC series USB DRD PHY driver"
> + depends on ARCH_EXYNOS && OF
> + depends on HAS_IOMEM
> + depends on USB_DWC3_EXYNOS
> + select GENERIC_PHY
> + select MFD_SYSCON
> + default y
> + help
> + Enable USB DRD PHY support for Exynos 5 SoC series.
> + This driver provides PHY interface for USB 3.0 DRD controller
> + present on Exynos5 SoC series.
> +
> +config PHY_EXYNOS_PCIE
> + bool "Exynos PCIe PHY driver"
> + depends on OF && (ARCH_EXYNOS || COMPILE_TEST)
> + select GENERIC_PHY
> + help
> + Enable PCIe PHY support for Exynos SoC series.
> + This driver provides PHY interface for Exynos PCIe controller.
> diff --git a/drivers/phy/samsung/Makefile b/drivers/phy/samsung/Makefile
> new file mode 100644
> index 0000000..bbafe19
> --- /dev/null
> +++ b/drivers/phy/samsung/Makefile
> @@ -0,0 +1,11 @@
> +obj-$(CONFIG_PHY_EXYNOS_DP_VIDEO) += phy-exynos-dp-video.o
> +obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
> +obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o
> +obj-$(CONFIG_PHY_SAMSUNG_USB2) += phy-exynos-usb2.o
> +phy-exynos-usb2-y += phy-samsung-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4210_USB2) += phy-exynos4210-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS4X12_USB2) += phy-exynos4x12-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_EXYNOS5250_USB2) += phy-exynos5250-usb2.o
> +phy-exynos-usb2-$(CONFIG_PHY_S5PV210_USB2) += phy-s5pv210-usb2.o
> +obj-$(CONFIG_PHY_EXYNOS5_USBDRD) += phy-exynos5-usbdrd.o
> +obj-$(CONFIG_PHY_EXYNOS_PCIE) += phy-exynos-pcie.o
> diff --git a/drivers/phy/phy-exynos-dp-video.c b/drivers/phy/samsung/phy-exynos-dp-video.c
> similarity index 100%
> rename from drivers/phy/phy-exynos-dp-video.c
> rename to drivers/phy/samsung/phy-exynos-dp-video.c
> diff --git a/drivers/phy/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c
> similarity index 100%
> rename from drivers/phy/phy-exynos-mipi-video.c
> rename to drivers/phy/samsung/phy-exynos-mipi-video.c
> diff --git a/drivers/phy/phy-exynos-pcie.c b/drivers/phy/samsung/phy-exynos-pcie.c
> similarity index 100%
> rename from drivers/phy/phy-exynos-pcie.c
> rename to drivers/phy/samsung/phy-exynos-pcie.c
> diff --git a/drivers/phy/phy-exynos4210-usb2.c b/drivers/phy/samsung/phy-exynos4210-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-exynos4210-usb2.c
> rename to drivers/phy/samsung/phy-exynos4210-usb2.c
> diff --git a/drivers/phy/phy-exynos4x12-usb2.c b/drivers/phy/samsung/phy-exynos4x12-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-exynos4x12-usb2.c
> rename to drivers/phy/samsung/phy-exynos4x12-usb2.c
> diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
> similarity index 100%
> rename from drivers/phy/phy-exynos5-usbdrd.c
> rename to drivers/phy/samsung/phy-exynos5-usbdrd.c
> diff --git a/drivers/phy/phy-exynos5250-sata.c b/drivers/phy/samsung/phy-exynos5250-sata.c
> similarity index 100%
> rename from drivers/phy/phy-exynos5250-sata.c
> rename to drivers/phy/samsung/phy-exynos5250-sata.c
> diff --git a/drivers/phy/phy-exynos5250-usb2.c b/drivers/phy/samsung/phy-exynos5250-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-exynos5250-usb2.c
> rename to drivers/phy/samsung/phy-exynos5250-usb2.c
> diff --git a/drivers/phy/phy-s5pv210-usb2.c b/drivers/phy/samsung/phy-s5pv210-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-s5pv210-usb2.c
> rename to drivers/phy/samsung/phy-s5pv210-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.c b/drivers/phy/samsung/phy-samsung-usb2.c
> similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.c
> rename to drivers/phy/samsung/phy-samsung-usb2.c
> diff --git a/drivers/phy/phy-samsung-usb2.h b/drivers/phy/samsung/phy-samsung-usb2.h
> similarity index 100%
> rename from drivers/phy/phy-samsung-usb2.h
> rename to drivers/phy/samsung/phy-samsung-usb2.h
>