Subject: [PATCH 7/7] drivers: phy: renamed struct omap_control_usb to struct omap_control_phy

From: [email-masked] (Roger Quadros)
Date: Thu, 12 Sep 2013 16:42:28 +0300

Hi,

On 09/02/2013 06:43 PM, Kishon Vijay Abraham I wrote:
> renamed struct omap_control_usb to struct omap_control_phy since it can
> be used to control PHY of USB, SATA and PCIE. Also moved the driver and
> include files under *phy* and made the corresponding changes in the users
> of phy-omap-control.
> 
> Signed-off-by: Kishon Vijay Abraham I <[email-masked]>
> ---
>  drivers/phy/Kconfig                                |   14 +-
>  drivers/phy/Makefile                               |    1 +
>  drivers/{usb => }/phy/phy-omap-control.c           |  164 ++++++++++----------
>  drivers/phy/phy-omap-pipe3.c                       |    8 +-
>  drivers/phy/phy-omap-usb2.c                        |    8 +-
>  drivers/usb/musb/omap2430.c                        |    2 +-
>  drivers/usb/phy/Makefile                           |    1 -
>  .../omap_control_usb.h => phy/omap_control_phy.h}  |   32 ++--
>  8 files changed, 120 insertions(+), 110 deletions(-)
>  rename drivers/{usb => }/phy/phy-omap-control.c (55%)
>  rename include/linux/{usb/omap_control_usb.h => phy/omap_control_phy.h} (69%)
> 
> diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
> index 5c2e7a0..fd11294 100644
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -15,12 +15,22 @@ config GENERIC_PHY
>  	  phy users can obtain reference to the PHY. All the users of this
>  	  framework should select this config.
>  
> +config OMAP_CONTROL_PHY
> +	tristate "OMAP CONTROL PHY Driver"
> +	depends on ARCH_OMAP2PLUS || COMPILE_TEST
> +	help
> +	  Enable this to add support for the PHY part present in the control
> +	  module. This driver has API to power on the USB2 PHY and to write to
> +	  the mailbox. The mailbox is present only in omap4 and the register to
> +	  power on the USB2 PHY is present in OMAP4 and OMAP5. OMAP5 has
> +	  additional registers to power on PIPE3 PHYs.
> +
>  config OMAP_USB2
>  	tristate "OMAP USB2 PHY Driver"
>  	depends on ARCH_OMAP2PLUS
>  	select GENERIC_PHY
>  	select USB_PHY
> -	select OMAP_CONTROL_USB
> +	select OMAP_CONTROL_PHY
>  	help
>  	  Enable this to support the transceiver that is part of SOC. This
>  	  driver takes care of all the PHY functionality apart from comparator.
> @@ -30,7 +40,7 @@ config OMAP_USB2
>  config OMAP_PIPE3
>  	tristate "OMAP PIPE3 PHY Driver"
>  	select GENERIC_PHY
> -	select OMAP_CONTROL_USB
> +	select OMAP_CONTROL_PHY
>  	help
>  	  Enable this to support the PIPE3 PHY that is part of SOC. This
>  	  driver takes care of all the PHY functionality apart from comparator.
> diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
> index 48bf9f2..f0127f6 100644
> --- a/drivers/phy/Makefile
> +++ b/drivers/phy/Makefile
> @@ -3,6 +3,7 @@
>  #
>  
>  obj-$(CONFIG_GENERIC_PHY)	+= phy-core.o
> +obj-$(CONFIG_OMAP_CONTROL_PHY)	+= phy-omap-control.o
>  obj-$(CONFIG_OMAP_USB2)		+= phy-omap-usb2.o
>  obj-$(CONFIG_OMAP_PIPE3)	+= phy-omap-pipe3.o
>  obj-$(CONFIG_TWL4030_USB)	+= phy-twl4030-usb.o
> diff --git a/drivers/usb/phy/phy-omap-control.c b/drivers/phy/phy-omap-control.c
> similarity index 55%
> rename from drivers/usb/phy/phy-omap-control.c
> rename to drivers/phy/phy-omap-control.c
> index 1a7e19a..ece3573 100644
> --- a/drivers/usb/phy/phy-omap-control.c
> +++ b/drivers/phy/phy-omap-control.c
> @@ -1,5 +1,5 @@
>  /*
> - * omap-control-usb.c - The USB part of control module.
> + * phy-omap-control.c - The USB part of control module.
>   *
>   * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com
>   * This program is free software; you can redistribute it and/or modify
> @@ -24,36 +24,36 @@
>  #include <linux/err.h>
>  #include <linux/io.h>
>  #include <linux/clk.h>
> -#include <linux/usb/omap_control_usb.h>
> +#include <linux/phy/omap_control_phy.h>
>  

<snip>

>  #ifdef CONFIG_OF
>  
> -static const enum omap_control_usb_type omap4_data = OMAP_CTRL_TYPE_OMAP4;
> -static const enum omap_control_usb_type usb2_data = OMAP_CTRL_TYPE_USB2;
> -static const enum omap_control_usb_type usb3_data = OMAP_CTRL_TYPE_USB3;
> -static const enum omap_control_usb_type dra7_data = OMAP_CTRL_TYPE_DRA7;
> +static const enum omap_control_phy_type omap4_data = OMAP_CTRL_TYPE_OMAP4;
> +static const enum omap_control_phy_type usb2_data = OMAP_CTRL_TYPE_USB2;
> +static const enum omap_control_phy_type usb3_data = OMAP_CTRL_TYPE_USB3;
> +static const enum omap_control_phy_type dra7_data = OMAP_CTRL_TYPE_DRA7;
>  
> -static const struct of_device_id omap_control_usb_id_table[] = {
> +static const struct of_device_id omap_control_phy_id_table[] = {
>  	{
>  		.compatible = "ti,omap4-control-usb",
>  		.data = &omap4_data,
> @@ -286,31 +286,31 @@ static const struct of_device_id omap_control_usb_id_table[] = {
>  	},
>  	{},
>  };
> -MODULE_DEVICE_TABLE(of, omap_control_usb_id_table);
> +MODULE_DEVICE_TABLE(of, omap_control_phy_id_table);
>  #endif
>  
> -static struct platform_driver omap_control_usb_driver = {
> -	.probe		= omap_control_usb_probe,
> +static struct platform_driver omap_control_phy_driver = {
> +	.probe		= omap_control_phy_probe,
>  	.driver		= {
>  		.name	= "omap-control-usb",
>  		.owner	= THIS_MODULE,
> -		.of_match_table = of_match_ptr(omap_control_usb_id_table),
> +		.of_match_table = of_match_ptr(omap_control_phy_id_table),
>  	},
>  };
>  
> -static int __init omap_control_usb_init(void)
> +static int __init omap_control_phy_init(void)
>  {
> -	return platform_driver_register(&omap_control_usb_driver);
> +	return platform_driver_register(&omap_control_phy_driver);
>  }
> -subsys_initcall(omap_control_usb_init);
> +subsys_initcall(omap_control_phy_init);

Any specific reason for having this as subsys_initcall?

If not then you can use module_platform_driver().

>  
> -static void __exit omap_control_usb_exit(void)
> +static void __exit omap_control_phy_exit(void)
>  {
> -	platform_driver_unregister(&omap_control_usb_driver);
> +	platform_driver_unregister(&omap_control_phy_driver);
>  }
> -module_exit(omap_control_usb_exit);
> +module_exit(omap_control_phy_exit);
>  
> -MODULE_ALIAS("platform: omap_control_usb");
> +MODULE_ALIAS("platform: omap_control_phy");
>  MODULE_AUTHOR("Texas Instruments Inc.");
>  MODULE_DESCRIPTION("OMAP Control Module USB Driver");
>  MODULE_LICENSE("GPL v2");

cheers,
-roger