[PATCH V5 1/2] PHY: Exynos: Add Exynos5250 SATA PHY driver
From: Jingoo Han <hidden>
Date: 2014-01-10 01:16:41
Also in:
linux-devicetree, linux-ide, lkml
On Thursday, January 09, 2014 7:07 PM, Yuvaraj Kumar C D wrote:
This patch adds the SATA PHY driver for Exynos5250.Exynos5250 SATA PHY comprises of CMU and TRSV blocks which are of I2C register Map. So this patch also adds a i2c client driver, which is used configure the CMU and TRSV block of exynos5250 SATA PHY. This patch incorporates the generic PHY framework to deal with SATA PHY. This patch depends on the below patches [1].drivers: phy: add generic PHY framework by Kishon Vijay Abraham I[off-list ref] [2].ata: ahci_platform: Manage SATA PHY by Roger Quadros [off-list ref] Signed-off-by: Yuvaraj Kumar C D <redacted> Signed-off-by: Girish K S <redacted> Signed-off-by: Vasanth Ananthan <redacted>
Hi Yuvaraj Kumar, It looks good. However, I added some minor comments. :-) Also, you need to base against the following Kishon's PHY git tree, next branch. Then, Kishon will apply your patch more easily. T: git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git
quoted hunk ↗ jump to hunk
--- Changes from V4: 1.Made Exynos5250 SATA PHY driver by default selects CONFIG_I2C and CONFIG_I2C_S3C2410, as SATA PHY driver depends on I2C. 2.struct i2c_driver sataphy_i2c_driver made static which was earlier global type. 3.Renamed the files to phy-exynos5250-sata.c and phy-exynos5250-sata-i2c.c and CONFIG_EXYNOS5250_SATA_PHY to CONFIG_PHY_EXYNOS5250_SATA. Changes from V3: 1.Moved devm_phy_create before to devm_phy_provider_register. Changes from V2: 1.Removed of_match_table 2.Moved to syscon interface for PMU handling. Changes from V1: 1.Adapted to latest version of Generic PHY framework 2.Removed exynos_sata_i2c_remove function. drivers/phy/Kconfig | 13 ++ drivers/phy/Makefile | 1 + drivers/phy/phy-exynos5250-sata-i2c.c | 40 ++++++ drivers/phy/phy-exynos5250-sata.c | 238 +++++++++++++++++++++++++++++++++ 4 files changed, 292 insertions(+) create mode 100644 drivers/phy/phy-exynos5250-sata-i2c.c create mode 100644 drivers/phy/phy-exynos5250-sata.cdiff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig index d0611b8..de1c165 100644 --- a/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig@@ -57,4 +57,17 @@ config PHY_EXYNOS_DP_VIDEO 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 + 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
^ One space between 'speeds.' and 'It' is needed as below. + SATA 3.0 Gb/s, SATA 6.0 Gb/s speeds. It supports one SATA host
quoted hunk ↗ jump to hunk
+ port to accept one SATA device. + endmenudiff --git a/drivers/phy/Makefile b/drivers/phy/Makefile index 4e4adc9..8ccf8c3 100644 --- a/drivers/phy/Makefile +++ b/drivers/phy/Makefile@@ -8,3 +8,4 @@ obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o +obj-$(CONFIG_PHY_EXYNOS5250_SATA) += phy-exynos5250-sata.o phy-exynos5250-sata-i2c.odiff --git a/drivers/phy/phy-exynos5250-sata-i2c.c b/drivers/phy/phy-exynos5250-sata-i2c.c new file mode 100644 index 0000000..83bd6ee --- /dev/null +++ b/drivers/phy/phy-exynos5250-sata-i2c.c@@ -0,0 +1,40 @@
[.....]
+static struct i2c_driver sataphy_i2c_driver = {
+ .probe = exynos_sata_i2c_probe,
+ .id_table = sataphy_i2c_device_match,
+ .driver = {
+ .name = "exynos-sataphy-i2c",
+ .owner = THIS_MODULE,
+ },There is an indent coding style issue. The following is right. + }, [.....]
+
+MODULE_DESCRIPTION("Samsung SerDes PHY driver");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("ks.giri [off-list ref]");
The following is more preferable.
+MODULE_AUTHOR("Girish K S [off-list ref]");
Best regards,
Jingoo Han
+MODULE_AUTHOR("Yuvaraj C D [off-list ref]");
--
1.7.9.5