[PATCH v7 14/22] mfd: omap-usb-host: cleanup clock management code

Roger Quadros rogerq at ti.com
Thu Jan 17 07:07:34 EST 2013


On 01/17/2013 01:44 PM, Felipe Balbi wrote:
> On Thu, Jan 17, 2013 at 01:30:23PM +0200, Roger Quadros wrote:
>> All ports have similarly named port clocks so we can
>> bunch them into a port data structure and use for loop
>> to enable/disable the clocks.
>>
>> Dynamically allocate and get clocks based on number of ports
>> available on the platform
>>
>> Signed-off-by: Roger Quadros <rogerq at ti.com>
>> ---
>>  drivers/mfd/omap-usb-host.c |  180 ++++++++++++++++++++++++------------------
>>  1 files changed, 103 insertions(+), 77 deletions(-)
>>
>> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
>> index 779588b..c75b79d 100644
>> --- a/drivers/mfd/omap-usb-host.c
>> +++ b/drivers/mfd/omap-usb-host.c
>> @@ -92,13 +92,12 @@
>>  
>>  struct usbhs_hcd_omap {
>>  	int				nports;
>> +	struct clk			**utmi_clk;
>>  
>>  	struct clk			*xclk60mhsp1_ck;
>>  	struct clk			*xclk60mhsp2_ck;
>> -	struct clk			*utmi_p1_fck;
>> -	struct clk			*usbhost_p1_fck;
>> -	struct clk			*utmi_p2_fck;
>> -	struct clk			*usbhost_p2_fck;
>> +	struct clk			*utmi_p1_gfclk;
>> +	struct clk			*utmi_p2_gfclk;
>>  	struct clk			*init_60m_fclk;
>>  	struct clk			*ehci_logic_fck;
>>  
>> @@ -276,6 +275,7 @@ static int usbhs_runtime_resume(struct device *dev)
>>  	struct usbhs_hcd_omap		*omap = dev_get_drvdata(dev);
>>  	struct usbhs_omap_platform_data	*pdata = omap->pdata;
>>  	unsigned long			flags;
>> +	int i, r;
>>  
>>  	dev_dbg(dev, "usbhs_runtime_resume\n");
>>  
>> @@ -285,13 +285,18 @@ static int usbhs_runtime_resume(struct device *dev)
>>  	if (omap->ehci_logic_fck && !IS_ERR(omap->ehci_logic_fck))
>>  		clk_enable(omap->ehci_logic_fck);
>>  
>> -	if (is_ehci_tll_mode(pdata->port_mode[0]))
>> -		clk_enable(omap->usbhost_p1_fck);
>> -	if (is_ehci_tll_mode(pdata->port_mode[1]))
>> -		clk_enable(omap->usbhost_p2_fck);
>> -
>> -	clk_enable(omap->utmi_p1_fck);
>> -	clk_enable(omap->utmi_p2_fck);
>> +	for (i = 0; i < omap->nports; i++) {
>> +		if (is_ehci_tll_mode(pdata->port_mode[i])) {
>> +			if (omap->utmi_clk[i]) {
>> +				r = clk_enable(omap->utmi_clk[i]);
>> +				if (r) {
>> +					dev_err(dev,
>> +					 "Can't enable port %d clk : %d\n",
>> +					 i, r);
>> +				}
>> +			}
>> +		}
>> +	}
> 
> you can decrease indentation here a little bit:
> 
> 	for (i = 0; i < omap->nports; i++) {
> 		if (!is_ehci_tll_mode(pdata->port_mode[i]))
> 			continue;
> 
> 		if (!omap->utmi_clk[i])
> 			continue;
> 
> 		r = clk_enable(omap->utmi_clk[i]);
> 		if (r) {
> 			dev_err(dev,
> 			 "Can't enable port %d clk : %d\n",
> 			 i, r);
> 		}
> 	}

OK.

--
cheers,
-roger



More information about the linux-arm-kernel mailing list