From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Kishon Vijay Abraham I <kishon@ti.com>
Cc: tony@atomide.com, linux@arm.linux.org.uk, b-cousson@ti.com,
arnd@arndb.de, olof@lixom.net, rdunlap@xenotime.net,
balbi@ti.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
linux-omap@vger.kernel.org
Subject: Re: [PATCH 3/3] ARM: OMAP: ocp2scp: create omap device for ocp2scp
Date: Sat, 06 Oct 2012 00:30:01 +0200 [thread overview]
Message-ID: <506F5F69.6040104@mvista.com> (raw)
In-Reply-To: <1349431628-2819-4-git-send-email-kishon@ti.com>
Hello.
On 05-10-2012 12:07, Kishon Vijay Abraham I wrote:
> Platfrom device for ocp2scp is created using omap_device_build in
> devices file. This is used for both omap4(musb) and omap5(dwc3).
>
> Signed-off-by: Kishon Vijay Abraham I<kishon@ti.com>
> ---
> arch/arm/mach-omap2/devices.c | 72 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 72 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index c8c2117..e2ba505 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
[...]
> @@ -613,6 +614,76 @@ static void omap_init_vout(void)
[...]
> +static void omap_init_ocp2scp(void)
> +{
> + struct omap_hwmod *oh;
> + struct platform_device *pdev;
> + int bus_id = -1, dev_cnt = 0, i;
> + struct omap_ocp2scp_dev *ocp2scp_dev;
> + const char *oh_name, *name;
> + struct omap_ocp2scp_platform_data *pdata;
> +
> + oh_name = "ocp2scp_usb_phy";
> + name = "omap-ocp2scp";
> +
> + oh = omap_hwmod_lookup(oh_name);
> + if (!oh) {
> + pr_err("%s: could not find omap_hwmod for %s\n", __func__,
> + oh_name);
> + return;
> + }
> +
> + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
> + if (!pdata) {
> + pr_err("%s: No memory for ocp2scp pdata\n", __func__);
> + return;
> + }
> +
> + ocp2scp_dev = oh->dev_attr;
> + dev_cnt = count_ocp2scp_devices(ocp2scp_dev);
> +
> + if (!dev_cnt) {
> + pr_err("%s: No devices connected to ocp2scp\n", __func__);
> + return;
Don't you leak 'pdata' here?
> + }
> +
> + pdata->devices = kzalloc(sizeof(struct omap_ocp2scp_dev *)
> + * dev_cnt, GFP_KERNEL);
> + if (!pdata->devices) {
> + pr_err("%s: No memory for ocp2scp pdata devices\n", __func__);
> + return;
> + }
> +
> + for (i = 0; i< dev_cnt; i++, ocp2scp_dev++)
> + pdata->devices[i] = ocp2scp_dev;
> +
> + pdata->dev_cnt = dev_cnt;
> +
> + pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata), NULL,
> + 0, false);
> + if (IS_ERR(pdev)) {
> + pr_err("Could not build omap_device for %s %s\n",
> + name, oh_name);
> + return;
Don't you leak 'pdata' and 'pdata->devices' here?
> + }
> +}
>
WBR, Sergei
WARNING: multiple messages have this Message-ID (diff)
From: sshtylyov@mvista.com (Sergei Shtylyov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/3] ARM: OMAP: ocp2scp: create omap device for ocp2scp
Date: Sat, 06 Oct 2012 00:30:01 +0200 [thread overview]
Message-ID: <506F5F69.6040104@mvista.com> (raw)
In-Reply-To: <1349431628-2819-4-git-send-email-kishon@ti.com>
Hello.
On 05-10-2012 12:07, Kishon Vijay Abraham I wrote:
> Platfrom device for ocp2scp is created using omap_device_build in
> devices file. This is used for both omap4(musb) and omap5(dwc3).
>
> Signed-off-by: Kishon Vijay Abraham I<kishon@ti.com>
> ---
> arch/arm/mach-omap2/devices.c | 72 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 72 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index c8c2117..e2ba505 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
[...]
> @@ -613,6 +614,76 @@ static void omap_init_vout(void)
[...]
> +static void omap_init_ocp2scp(void)
> +{
> + struct omap_hwmod *oh;
> + struct platform_device *pdev;
> + int bus_id = -1, dev_cnt = 0, i;
> + struct omap_ocp2scp_dev *ocp2scp_dev;
> + const char *oh_name, *name;
> + struct omap_ocp2scp_platform_data *pdata;
> +
> + oh_name = "ocp2scp_usb_phy";
> + name = "omap-ocp2scp";
> +
> + oh = omap_hwmod_lookup(oh_name);
> + if (!oh) {
> + pr_err("%s: could not find omap_hwmod for %s\n", __func__,
> + oh_name);
> + return;
> + }
> +
> + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
> + if (!pdata) {
> + pr_err("%s: No memory for ocp2scp pdata\n", __func__);
> + return;
> + }
> +
> + ocp2scp_dev = oh->dev_attr;
> + dev_cnt = count_ocp2scp_devices(ocp2scp_dev);
> +
> + if (!dev_cnt) {
> + pr_err("%s: No devices connected to ocp2scp\n", __func__);
> + return;
Don't you leak 'pdata' here?
> + }
> +
> + pdata->devices = kzalloc(sizeof(struct omap_ocp2scp_dev *)
> + * dev_cnt, GFP_KERNEL);
> + if (!pdata->devices) {
> + pr_err("%s: No memory for ocp2scp pdata devices\n", __func__);
> + return;
> + }
> +
> + for (i = 0; i< dev_cnt; i++, ocp2scp_dev++)
> + pdata->devices[i] = ocp2scp_dev;
> +
> + pdata->dev_cnt = dev_cnt;
> +
> + pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(*pdata), NULL,
> + 0, false);
> + if (IS_ERR(pdev)) {
> + pr_err("Could not build omap_device for %s %s\n",
> + name, oh_name);
> + return;
Don't you leak 'pdata' and 'pdata->devices' here?
> + }
> +}
>
WBR, Sergei
next prev parent reply other threads:[~2012-10-05 22:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-05 10:07 [PATCH 0/3] ocp2scp: add non-dt support Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
[not found] ` <1349431628-2819-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2012-10-05 10:07 ` [PATCH 1/3] drivers: bus: ocp2scp: add pdata support Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` [PATCH 2/3] ARM: OMAP4: add _dev_attr_ to ocp2scp for representing usb_phy Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` [PATCH 3/3] ARM: OMAP: ocp2scp: create omap device for ocp2scp Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 10:07 ` Kishon Vijay Abraham I
2012-10-05 22:30 ` Sergei Shtylyov [this message]
2012-10-05 22:30 ` Sergei Shtylyov
2012-10-08 5:22 ` kishon
2012-10-08 5:22 ` kishon
2012-10-08 5:22 ` kishon
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=506F5F69.6040104@mvista.com \
--to=sshtylyov@mvista.com \
--cc=arnd@arndb.de \
--cc=b-cousson@ti.com \
--cc=balbi@ti.com \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=olof@lixom.net \
--cc=rdunlap@xenotime.net \
--cc=tony@atomide.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.