From: Greg KH <gregkh@linuxfoundation.org>
To: "Shilimkar, Santosh" <santosh.shilimkar@ti.com>
Cc: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
Aneesh V <aneesh@ti.com>,
tony@atomide.com
Subject: Re: [PATCH v4 4/4] memory: emif: add device tree support to emif driver
Date: Tue, 17 Jul 2012 10:58:32 -0700 [thread overview]
Message-ID: <20120717175832.GA20806@kroah.com> (raw)
In-Reply-To: <CAMQu2gw2Zt3E8byD=_nUXya-xU=gOA71arbbSh7gzxQhet0Vtg@mail.gmail.com>
On Tue, Jul 17, 2012 at 10:37:45PM +0530, Shilimkar, Santosh wrote:
> On Tue, Jul 17, 2012 at 10:06 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> > On Mon, Jul 09, 2012 at 07:02:36PM +0530, Shilimkar, Santosh wrote:
> >> Greg,
> >>
>
> [...]
>
> >> > To elaborate more, I have created below patch.
> >> > Let me know what do you think ?
> >> >
> >> Any comments ??
> >
> > Becides the obvious one of sending a line-wrapped patch that can not be
> > applied? :)
> >
> My bad. Sorry about that.
> Sending it again and also attaching it in case mailer screws it up.
>
> -->>
> >From 74688a87fd490909e9122bf757c0096480e9fc11 Mon Sep 17 00:00:00 2001
> From: Aneesh V <aneesh@ti.com>
> Date: Mon, 30 Jan 2012 20:06:30 +0530
> Subject: [PATCH 4/4] memory: emif: add device tree support to emif driver
>
> Device tree support for the EMIF driver. LPDDR2 generic timings
> extraction from device is managed using couple of helper
> functions which can be used by other memory controller
> drivers.
>
> Reviewed-by: Benoit Cousson <b-cousson@ti.com>
> Reviewed-by: Grant Likely <grant.likely@secretlab.ca>
> Tested-by: Lokesh Vutla <lokeshvutla@ti.com>
> Signed-off-by: Aneesh V <aneesh@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/memory/Makefile | 1 +
> drivers/memory/emif.c | 182 +++++++++++++++++++++++++++++++++++++++++++-
> drivers/memory/of_memory.c | 153 +++++++++++++++++++++++++++++++++++++
> drivers/memory/of_memory.h | 36 +++++++++
> 4 files changed, 371 insertions(+), 1 deletion(-)
> create mode 100644 drivers/memory/of_memory.c
> create mode 100644 drivers/memory/of_memory.h
>
> diff --git a/drivers/memory/Makefile b/drivers/memory/Makefile
> index 42b3ce9..cd8486b 100644
> --- a/drivers/memory/Makefile
> +++ b/drivers/memory/Makefile
> @@ -2,6 +2,7 @@
> # Makefile for memory devices
> #
>
> +obj-$(CONFIG_OF) += of_memory.o
> obj-$(CONFIG_TI_EMIF) += emif.o
> obj-$(CONFIG_TEGRA20_MC) += tegra20-mc.o
> obj-$(CONFIG_TEGRA30_MC) += tegra30-mc.o
> diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c
> index 33a4396..06b4eb7 100644
> --- a/drivers/memory/emif.c
> +++ b/drivers/memory/emif.c
> @@ -18,6 +18,7 @@
> #include <linux/platform_device.h>
> #include <linux/interrupt.h>
> #include <linux/slab.h>
> +#include <linux/of.h>
> #include <linux/debugfs.h>
> #include <linux/seq_file.h>
> #include <linux/module.h>
> @@ -25,6 +26,7 @@
> #include <linux/spinlock.h>
> #include <memory/jedec_ddr.h>
> #include "emif.h"
> +#include "of_memory.h"
>
> /**
> * struct emif_data - Per device static data for driver's use
> @@ -49,6 +51,7 @@
> * frequency in effect at the moment)
> * @plat_data: Pointer to saved platform data.
> * @debugfs_root: dentry to the root folder for EMIF in debugfs
> + * @np_ddr: Pointer to ddr device tree node
> */
> struct emif_data {
> u8 duplicate;
> @@ -63,6 +66,7 @@ struct emif_data {
> struct emif_regs *curr_regs;
> struct emif_platform_data *plat_data;
> struct dentry *debugfs_root;
> + struct device_node *np_ddr;
> };
>
> static struct emif_data *emif1;
> @@ -1148,6 +1152,168 @@ static int is_custom_config_valid(struct
> emif_custom_configs *cust_cfgs,
> return valid;
> }
>
> +#if defined(CONFIG_OF)
> +static void __init_or_module of_get_custom_configs(struct device_node *np_emif,
> + struct emif_data *emif)
Why can't all of this code be in the of_memory.c file?
> +static struct emif_data * __init_or_module of_get_device_details(
> + struct device_node *np_emif, struct device *dev)
of_get_memory_device_details()?
> +{
> + struct emif_data *emif = NULL;
> + struct ddr_device_info *dev_info = NULL;
> + struct emif_platform_data *pd = NULL;
> + struct device_node *np_ddr;
> + int len;
> +
> + np_ddr = of_parse_phandle(np_emif, "device-handle", 0);
> + if (!np_ddr)
> + goto error;
> + emif = devm_kzalloc(dev, sizeof(struct emif_data), GFP_KERNEL);
> + pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
> + dev_info = devm_kzalloc(dev, sizeof(*dev_info), GFP_KERNEL);
> +
> + if (!emif || !pd || !dev_info) {
> + dev_err(dev, "%s: of_get_device_details() failure!!\n",
> + __func__);
Look at what that error message just printed out. Redundancy is nice,
but come on, that's not ok :)
thanks,
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: gregkh@linuxfoundation.org (Greg KH)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 4/4] memory: emif: add device tree support to emif driver
Date: Tue, 17 Jul 2012 10:58:32 -0700 [thread overview]
Message-ID: <20120717175832.GA20806@kroah.com> (raw)
In-Reply-To: <CAMQu2gw2Zt3E8byD=_nUXya-xU=gOA71arbbSh7gzxQhet0Vtg@mail.gmail.com>
On Tue, Jul 17, 2012 at 10:37:45PM +0530, Shilimkar, Santosh wrote:
> On Tue, Jul 17, 2012 at 10:06 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> > On Mon, Jul 09, 2012 at 07:02:36PM +0530, Shilimkar, Santosh wrote:
> >> Greg,
> >>
>
> [...]
>
> >> > To elaborate more, I have created below patch.
> >> > Let me know what do you think ?
> >> >
> >> Any comments ??
> >
> > Becides the obvious one of sending a line-wrapped patch that can not be
> > applied? :)
> >
> My bad. Sorry about that.
> Sending it again and also attaching it in case mailer screws it up.
>
> -->>
> >From 74688a87fd490909e9122bf757c0096480e9fc11 Mon Sep 17 00:00:00 2001
> From: Aneesh V <aneesh@ti.com>
> Date: Mon, 30 Jan 2012 20:06:30 +0530
> Subject: [PATCH 4/4] memory: emif: add device tree support to emif driver
>
> Device tree support for the EMIF driver. LPDDR2 generic timings
> extraction from device is managed using couple of helper
> functions which can be used by other memory controller
> drivers.
>
> Reviewed-by: Benoit Cousson <b-cousson@ti.com>
> Reviewed-by: Grant Likely <grant.likely@secretlab.ca>
> Tested-by: Lokesh Vutla <lokeshvutla@ti.com>
> Signed-off-by: Aneesh V <aneesh@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/memory/Makefile | 1 +
> drivers/memory/emif.c | 182 +++++++++++++++++++++++++++++++++++++++++++-
> drivers/memory/of_memory.c | 153 +++++++++++++++++++++++++++++++++++++
> drivers/memory/of_memory.h | 36 +++++++++
> 4 files changed, 371 insertions(+), 1 deletion(-)
> create mode 100644 drivers/memory/of_memory.c
> create mode 100644 drivers/memory/of_memory.h
>
> diff --git a/drivers/memory/Makefile b/drivers/memory/Makefile
> index 42b3ce9..cd8486b 100644
> --- a/drivers/memory/Makefile
> +++ b/drivers/memory/Makefile
> @@ -2,6 +2,7 @@
> # Makefile for memory devices
> #
>
> +obj-$(CONFIG_OF) += of_memory.o
> obj-$(CONFIG_TI_EMIF) += emif.o
> obj-$(CONFIG_TEGRA20_MC) += tegra20-mc.o
> obj-$(CONFIG_TEGRA30_MC) += tegra30-mc.o
> diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c
> index 33a4396..06b4eb7 100644
> --- a/drivers/memory/emif.c
> +++ b/drivers/memory/emif.c
> @@ -18,6 +18,7 @@
> #include <linux/platform_device.h>
> #include <linux/interrupt.h>
> #include <linux/slab.h>
> +#include <linux/of.h>
> #include <linux/debugfs.h>
> #include <linux/seq_file.h>
> #include <linux/module.h>
> @@ -25,6 +26,7 @@
> #include <linux/spinlock.h>
> #include <memory/jedec_ddr.h>
> #include "emif.h"
> +#include "of_memory.h"
>
> /**
> * struct emif_data - Per device static data for driver's use
> @@ -49,6 +51,7 @@
> * frequency in effect at the moment)
> * @plat_data: Pointer to saved platform data.
> * @debugfs_root: dentry to the root folder for EMIF in debugfs
> + * @np_ddr: Pointer to ddr device tree node
> */
> struct emif_data {
> u8 duplicate;
> @@ -63,6 +66,7 @@ struct emif_data {
> struct emif_regs *curr_regs;
> struct emif_platform_data *plat_data;
> struct dentry *debugfs_root;
> + struct device_node *np_ddr;
> };
>
> static struct emif_data *emif1;
> @@ -1148,6 +1152,168 @@ static int is_custom_config_valid(struct
> emif_custom_configs *cust_cfgs,
> return valid;
> }
>
> +#if defined(CONFIG_OF)
> +static void __init_or_module of_get_custom_configs(struct device_node *np_emif,
> + struct emif_data *emif)
Why can't all of this code be in the of_memory.c file?
> +static struct emif_data * __init_or_module of_get_device_details(
> + struct device_node *np_emif, struct device *dev)
of_get_memory_device_details()?
> +{
> + struct emif_data *emif = NULL;
> + struct ddr_device_info *dev_info = NULL;
> + struct emif_platform_data *pd = NULL;
> + struct device_node *np_ddr;
> + int len;
> +
> + np_ddr = of_parse_phandle(np_emif, "device-handle", 0);
> + if (!np_ddr)
> + goto error;
> + emif = devm_kzalloc(dev, sizeof(struct emif_data), GFP_KERNEL);
> + pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
> + dev_info = devm_kzalloc(dev, sizeof(*dev_info), GFP_KERNEL);
> +
> + if (!emif || !pd || !dev_info) {
> + dev_err(dev, "%s: of_get_device_details() failure!!\n",
> + __func__);
Look at what that error message just printed out. Redundancy is nice,
but come on, that's not ok :)
thanks,
greg k-h
next prev parent reply other threads:[~2012-07-17 17:58 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-29 13:43 [PATCH v4 0/4] dt: device tree support for TI EMIF driver for 3.6 Santosh Shilimkar
2012-06-29 13:43 ` Santosh Shilimkar
2012-06-29 13:43 ` [PATCH v4 1/4] dt: device tree bindings for LPDDR2 memories Santosh Shilimkar
2012-06-29 13:43 ` Santosh Shilimkar
2012-06-29 13:43 ` [PATCH v4 2/4] dt: emif: device tree bindings for TI's EMIF sdram controller Santosh Shilimkar
2012-06-29 13:43 ` Santosh Shilimkar
2012-06-29 13:43 ` [PATCH v4 3/4] arm: dts: EMIF and LPDDR2 device tree data for OMAP4 boards Santosh Shilimkar
2012-06-29 13:43 ` Santosh Shilimkar
2012-06-29 13:43 ` [PATCH v4 4/4] memory: emif: add device tree support to emif driver Santosh Shilimkar
2012-06-29 13:43 ` Santosh Shilimkar
2012-06-30 4:08 ` Shilimkar, Santosh
2012-06-30 4:08 ` Shilimkar, Santosh
2012-06-30 4:23 ` Greg KH
2012-06-30 4:23 ` Greg KH
2012-06-30 4:42 ` Shilimkar, Santosh
2012-06-30 4:42 ` Shilimkar, Santosh
2012-07-02 13:18 ` Shilimkar, Santosh
2012-07-02 13:18 ` Shilimkar, Santosh
2012-07-09 13:32 ` Shilimkar, Santosh
2012-07-09 13:32 ` Shilimkar, Santosh
2012-07-17 16:36 ` Greg KH
2012-07-17 16:36 ` Greg KH
2012-07-17 17:07 ` Shilimkar, Santosh
2012-07-17 17:07 ` Shilimkar, Santosh
2012-07-17 17:58 ` Greg KH [this message]
2012-07-17 17:58 ` Greg KH
2012-07-18 6:44 ` Shilimkar, Santosh
2012-07-18 6:44 ` Shilimkar, Santosh
2012-08-13 5:27 ` Shilimkar, Santosh
2012-08-13 5:27 ` Shilimkar, Santosh
2012-08-16 18:45 ` Greg KH
2012-08-16 18:45 ` Greg KH
2012-08-17 8:50 ` Shilimkar, Santosh
2012-08-17 8:50 ` Shilimkar, Santosh
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=20120717175832.GA20806@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=aneesh@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=santosh.shilimkar@ti.com \
--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.