From: Kishon Vijay Abraham I <kishon@ti.com>
To: Kamil Debski <k.debski@samsung.com>
Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
kyungmin.park@samsung.com, Tomasz Figa <t.figa@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
gautam.vivek@samsung.com, mat.krawczuk@gmail.com,
yulgon.kim@samsung.com, p.paneri@samsung.com,
av.tikhomirov@samsung.com, jg1.han@samsung.com,
galak@codeaurora.org, matt.porter@linaro.org,
tjakobi@math.uni-bielefeld.de, stern@rowland.harvard.edu
Subject: Re: [PATCH v5 3/9] phy: Add new Exynos USB 2.0 PHY driver
Date: Thu, 9 Jan 2014 10:57:31 +0530 [thread overview]
Message-ID: <52CE3343.3020902@ti.com> (raw)
In-Reply-To: <04dc01cf0c9a$f37c24d0$da746e70$%debski@samsung.com>
Hi,
On Wednesday 08 January 2014 11:26 PM, Kamil Debski wrote:
> Hi,
>
>> From: Kishon Vijay Abraham I [mailto:kishon@ti.com]
>> Sent: Monday, January 06, 2014 11:12 AM
>>
>> Hi,
>>
>> On Friday 20 December 2013 06:54 PM, Kamil Debski wrote:
>>> Add a new driver for the Exynos USB 2.0 PHY. The new driver uses the
>>> generic PHY framework. The driver includes support for the Exynos
>> 4x10
>>> and 4x12 SoC families.
>>>
>>> Signed-off-by: Kamil Debski <k.debski@samsung.com>
>>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>>> ---
>>> .../devicetree/bindings/phy/samsung-phy.txt | 55 ++++
>>> drivers/phy/Kconfig | 29 ++
>>> drivers/phy/Makefile | 3 +
>>> drivers/phy/phy-exynos4210-usb2.c | 257
>> ++++++++++++++++
>>> drivers/phy/phy-exynos4212-usb2.c | 306
>> ++++++++++++++++++++
>>> drivers/phy/phy-samsung-usb2.c | 226
>> +++++++++++++++
>>> drivers/phy/phy-samsung-usb2.h | 67 +++++
>>> 7 files changed, 943 insertions(+)
>>> create mode 100644 drivers/phy/phy-exynos4210-usb2.c
>>> create mode 100644 drivers/phy/phy-exynos4212-usb2.c
>>> create mode 100644 drivers/phy/phy-samsung-usb2.c
>>> create mode 100644 drivers/phy/phy-samsung-usb2.h
>>>
>> .
>> .
>> <snip>
>> .
>> .
>>
>>> diff --git a/drivers/phy/phy-samsung-usb2.h
>>> b/drivers/phy/phy-samsung-usb2.h new file mode 100644 index
>>> 0000000..ab89f91
>>> --- /dev/null
>>> +++ b/drivers/phy/phy-samsung-usb2.h
>>> @@ -0,0 +1,67 @@
>>> +/*
>>> + * Samsung SoC USB 1.1/2.0 PHY driver
>>> + *
>>> + * Copyright (C) 2013 Samsung Electronics Co., Ltd.
>>> + * Author: Kamil Debski <k.debski@samsung.com>
>>> + *
>>> + * This program is free software; you can redistribute it and/or
>>> +modify
>>> + * it under the terms of the GNU General Public License version 2 as
>>> + * published by the Free Software Foundation.
>>> + */
>>> +
>>> +#ifndef _PHY_EXYNOS_USB2_H
>>> +#define _PHY_EXYNOS_USB2_H
>>> +
>>> +#include <linux/clk.h>
>>> +#include <linux/phy/phy.h>
>>> +#include <linux/device.h>
>>> +#include <linux/regmap.h>
>>> +#include <linux/spinlock.h>
>>> +
>>> +#define KHZ 1000
>>> +#define MHZ (KHZ * KHZ)
>>> +
>>> +struct samsung_usb2_phy_driver;
>>> +struct samsung_usb2_phy_instance;
>>> +struct samsung_usb2_phy_config;
>>> +
>>> +struct samsung_usb2_phy_instance {
>>> + const struct samsung_usb2_common_phy *cfg;
>>> + struct clk *clk;
>>> + struct phy *phy;
>>> + struct samsung_usb2_phy_driver *drv;
>>> + unsigned long rate;
>>> + u32 clk_reg_val;
>>> + bool enabled;
>>> +};
>>> +
>>> +struct samsung_usb2_phy_driver {
>>> + const struct samsung_usb2_phy_config *cfg;
>>> + struct clk *clk;
>>> + struct device *dev;
>>> + void __iomem *reg_phy;
>>> + struct regmap *reg_pmu;
>>> + struct regmap *reg_sys;
>>> + spinlock_t lock;
>>> + struct samsung_usb2_phy_instance instances[0];
>>
>> I think having instances as array here would allocate more space while
>> allocating 'samsung_usb2_phy_driver' in 'samsung_usb2_phy_probe'.
>>
>
> I am not sure if I understand you correctly here. Maybe I will explain
> what I intended to write. An array with size 0 at the end of a structure
> takes no space in the structure. The benefit of using it is that after
> the structure one can allocate a number of the array elements and
> address them easily. Another option would be placing pointer in the
> samsung_usb2_phy_instance and allocate memory separately, but this would
> involve two allocations and a pointer would be always present in the
> structure.
Al-right.. makes sense.
Thanks
Kishon
>
> Best wishes,
>
next prev parent reply other threads:[~2014-01-09 5:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-20 13:24 [PATCH v5 0/9] phy: Add new Exynos USB 2.0 PHY driver Kamil Debski
2013-12-20 13:24 ` [PATCH v4 1/9] phy: core: Add an exported of_phy_get function Kamil Debski
[not found] ` <1387545857-9472-2-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-01-06 7:12 ` Kishon Vijay Abraham I
2013-12-20 13:24 ` [PATCH v4 2/9] phy: core: Add devm_of_phy_get to phy-core Kamil Debski
2014-01-06 7:14 ` Kishon Vijay Abraham I
2013-12-20 13:24 ` [PATCH v5 3/9] phy: Add new Exynos USB 2.0 PHY driver Kamil Debski
2014-01-06 10:12 ` Kishon Vijay Abraham I
[not found] ` <52CA818A.4090403-l0cyMroinI0@public.gmane.org>
2014-01-08 17:56 ` Kamil Debski
2014-01-09 5:27 ` Kishon Vijay Abraham I [this message]
2013-12-20 13:24 ` [PATCH v5 4/9] usb: ehci-s5p: Change to use phy provided by the generic phy framework Kamil Debski
2013-12-26 10:13 ` Vivek Gautam
2013-12-30 13:43 ` Kamil Debski
2013-12-20 13:24 ` [PATCH v5 5/9] usb: s3c-hsotg: Use the new Exynos USB phy driver with " Kamil Debski
2013-12-20 13:24 ` [PATCH v5 7/9] phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY driver Kamil Debski
2013-12-20 13:24 ` [PATCH v2 8/9] dts: Add usb2phy to Exynos 4 Kamil Debski
[not found] ` <1387545857-9472-1-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-20 13:24 ` [PATCH v5 6/9] phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver Kamil Debski
2014-01-04 14:37 ` [PATCH v6 " Tomasz Figa
2013-12-20 13:24 ` [PATCH v2 9/9] dts: Add usb2phy to Exynos 5250 Kamil Debski
[not found] ` <1387545857-9472-10-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-12-26 10:32 ` Vivek Gautam
2013-12-30 15:18 ` Kamil Debski
2013-12-20 13:24 ` [PATCH RFC alternative ver 1] phy: Exynos 421x USB 2.0 PHY support Kamil Debski
[not found] ` <1387545857-9472-11-git-send-email-k.debski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-01-06 10:24 ` Kishon Vijay Abraham I
2014-01-08 17:42 ` Kamil Debski
2014-01-02 16:20 ` [PATCH v5 0/9] phy: Add new Exynos USB 2.0 PHY driver Kamil Debski
2014-01-02 16:31 ` Kishon Vijay Abraham I
2013-12-20 13:24 ` [PATCH RFC alternative ver 2] phy: Exynos 421x USB 2.0 PHY support Kamil Debski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52CE3343.3020902@ti.com \
--to=kishon@ti.com \
--cc=av.tikhomirov@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=gautam.vivek@samsung.com \
--cc=jg1.han@samsung.com \
--cc=k.debski@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mat.krawczuk@gmail.com \
--cc=matt.porter@linaro.org \
--cc=p.paneri@samsung.com \
--cc=s.nawrocki@samsung.com \
--cc=stern@rowland.harvard.edu \
--cc=t.figa@samsung.com \
--cc=tjakobi@math.uni-bielefeld.de \
--cc=yulgon.kim@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).