From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv9 1/3] mfd: altera: Add Altera SDRAM Controller
Date: Mon, 4 Aug 2014 09:41:26 +0100 [thread overview]
Message-ID: <20140804084126.GD3935@lee--X1> (raw)
In-Reply-To: <53DC146D.1070504@opensource.altera.com>
On Fri, 01 Aug 2014, Thor Thayer wrote:
> On 08/01/2014 03:13 AM, Lee Jones wrote:
> >On Thu, 31 Jul 2014, Thor Thayer wrote:
> >>On 07/31/2014 03:26 AM, Lee Jones wrote:
> >>>On Wed, 30 Jul 2014, tthayer at opensource.altera.com wrote:
> >>>
> >>>>From: Thor Thayer <tthayer@opensource.altera.com>
> >>>>
> >>>>Add a simple MFD for the Altera SDRAM Controller.
> >>>>
> >>>>Signed-off-by: Alan Tull <atull@opensource.altera.com>
> >>>>Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
> >>>>---
> >>>>v1-8: The MFD implementation was not included in the original series.
> >>>>
> >>>>v9: New MFD implementation.
> >>>>---
> >>>> MAINTAINERS | 5 ++
> >>>> drivers/mfd/Kconfig | 7 ++
> >>>> drivers/mfd/Makefile | 1 +
> >>>> drivers/mfd/altera-sdr.c | 162 ++++++++++++++++++++++++++++++++++++++++
> >>>> include/linux/mfd/altera-sdr.h | 102 +++++++++++++++++++++++++
> >>>> 5 files changed, 277 insertions(+)
> >>>> create mode 100644 drivers/mfd/altera-sdr.c
> >>>> create mode 100644 include/linux/mfd/altera-sdr.h
[...]
> >>>>+ return readl(sdr->reg_base + reg_offset);
> >>>>+}
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_readl);
> >>>>+
> >>>>+void altera_sdr_writel(struct altera_sdr *sdr, u32 reg_offset, u32 value)
> >>>>+{
> >>>>+ writel(value, sdr->reg_base + reg_offset);
> >>>>+}
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_writel);
> >>>Why are you abstracting these?
You still didn't answer this?
> >>>Might be better to use Regmap even.
> >>regmap seems unnecessarily complex for what we're doing which is why
> >>this method was chosen.
> >>
> >>Future drivers will access different sets of registers in the
> >>device. These drivers won't share bitfields in the same register so
> >>the MFD seemed like the best solution. Originally we implemented
> >>this using syscon but that seems to be frowned upon so we changed to
> >>using a MFD.
> >Why was the use of syscon frowned upon? Can you link me to the
> >thread? Writing directly to the registers sounds to me a lot worse
> >than using infrastructure which was designed for these kinds of
> >accesses.
> >
> >If you do choose to fiddle with the registers in this manner, is there
> >any reason why you're calling back into here, rather than using
> >readl() and writel() directly?
> >
> We'd prefer to use syscon and that is what we started with. If you'd
> like to be our advocate, I will return to that because it was pretty
> clean. My primary concern is to get it upstreamed and if it is MFD
> then I'll make the changes.
>
> Here are the threads.
> http://marc.info/?l=linux-kernel&m=140128791902800&w=2
> and
> http://article.gmane.org/gmane.linux.kernel/1679601
Syscon looks the most appropriate to me.
[...]
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_mem_size);
> >>>Should this really be done in here? Isn't this an SDRAM function?
> >>>
> >>This register is part of the SDRAM controller and size information
> >>may be required by the other drivers that share this memory
> >>area/need SDRAM information.
> >Then export a function from the SDRAM driver, not from here.
> We don't have an SDRAM driver. Although I could put this in the
> EDAC driver it would be lost to anyone else wanting this
> functionality so this seemed to be the logical place.
Why can't you export it from the EDAC driver?
[...]
> >>>>+static int __init altera_sdr_init(void)
> >>>>+{
> >>>>+ return platform_driver_register(&altera_sdr_driver);
> >>>>+}
> >>>>+postcore_initcall(altera_sdr_init);
> >>>Why was this chosen?
> >>We want this to happen pretty early.
> >If you _need_ this is happen early, core_initcall() is more commonly
> >used, but _why_ do you need it to happen this early?
> The syscon driver used this designation. After talking with Alan,
> this could be changed to a core_initcall(). However, it could also
> be a subsys_initcall which seems to be more common in the MFD
> drivers.
That doesn't answer my question still.
What is the reason, requirement, need for this driver to be probed so
early during the boot process?
[...]
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Thor Thayer <tthayer@opensource.altera.com>
Cc: robherring2@gmail.com, pawel.moll@arm.com, mark.rutland@arm.com,
ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
rob@landley.net, linux@arm.linux.org.uk, atull@altera.com,
delicious.quinoa@gmail.com, dinguyen@altera.com,
dougthompson@xmission.com, grant.likely@linaro.org, bp@alien8.de,
sameo@linux.intel.com, devicetree@vger.kernel.org,
linux-doc@vger.kernel.org, linux-edac@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, tthayer.linux@gmail.com,
Alan Tull <atull@opensource.altera.com>
Subject: Re: [PATCHv9 1/3] mfd: altera: Add Altera SDRAM Controller
Date: Mon, 4 Aug 2014 09:41:26 +0100 [thread overview]
Message-ID: <20140804084126.GD3935@lee--X1> (raw)
In-Reply-To: <53DC146D.1070504@opensource.altera.com>
On Fri, 01 Aug 2014, Thor Thayer wrote:
> On 08/01/2014 03:13 AM, Lee Jones wrote:
> >On Thu, 31 Jul 2014, Thor Thayer wrote:
> >>On 07/31/2014 03:26 AM, Lee Jones wrote:
> >>>On Wed, 30 Jul 2014, tthayer@opensource.altera.com wrote:
> >>>
> >>>>From: Thor Thayer <tthayer@opensource.altera.com>
> >>>>
> >>>>Add a simple MFD for the Altera SDRAM Controller.
> >>>>
> >>>>Signed-off-by: Alan Tull <atull@opensource.altera.com>
> >>>>Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
> >>>>---
> >>>>v1-8: The MFD implementation was not included in the original series.
> >>>>
> >>>>v9: New MFD implementation.
> >>>>---
> >>>> MAINTAINERS | 5 ++
> >>>> drivers/mfd/Kconfig | 7 ++
> >>>> drivers/mfd/Makefile | 1 +
> >>>> drivers/mfd/altera-sdr.c | 162 ++++++++++++++++++++++++++++++++++++++++
> >>>> include/linux/mfd/altera-sdr.h | 102 +++++++++++++++++++++++++
> >>>> 5 files changed, 277 insertions(+)
> >>>> create mode 100644 drivers/mfd/altera-sdr.c
> >>>> create mode 100644 include/linux/mfd/altera-sdr.h
[...]
> >>>>+ return readl(sdr->reg_base + reg_offset);
> >>>>+}
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_readl);
> >>>>+
> >>>>+void altera_sdr_writel(struct altera_sdr *sdr, u32 reg_offset, u32 value)
> >>>>+{
> >>>>+ writel(value, sdr->reg_base + reg_offset);
> >>>>+}
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_writel);
> >>>Why are you abstracting these?
You still didn't answer this?
> >>>Might be better to use Regmap even.
> >>regmap seems unnecessarily complex for what we're doing which is why
> >>this method was chosen.
> >>
> >>Future drivers will access different sets of registers in the
> >>device. These drivers won't share bitfields in the same register so
> >>the MFD seemed like the best solution. Originally we implemented
> >>this using syscon but that seems to be frowned upon so we changed to
> >>using a MFD.
> >Why was the use of syscon frowned upon? Can you link me to the
> >thread? Writing directly to the registers sounds to me a lot worse
> >than using infrastructure which was designed for these kinds of
> >accesses.
> >
> >If you do choose to fiddle with the registers in this manner, is there
> >any reason why you're calling back into here, rather than using
> >readl() and writel() directly?
> >
> We'd prefer to use syscon and that is what we started with. If you'd
> like to be our advocate, I will return to that because it was pretty
> clean. My primary concern is to get it upstreamed and if it is MFD
> then I'll make the changes.
>
> Here are the threads.
> http://marc.info/?l=linux-kernel&m=140128791902800&w=2
> and
> http://article.gmane.org/gmane.linux.kernel/1679601
Syscon looks the most appropriate to me.
[...]
> >>>>+EXPORT_SYMBOL_GPL(altera_sdr_mem_size);
> >>>Should this really be done in here? Isn't this an SDRAM function?
> >>>
> >>This register is part of the SDRAM controller and size information
> >>may be required by the other drivers that share this memory
> >>area/need SDRAM information.
> >Then export a function from the SDRAM driver, not from here.
> We don't have an SDRAM driver. Although I could put this in the
> EDAC driver it would be lost to anyone else wanting this
> functionality so this seemed to be the logical place.
Why can't you export it from the EDAC driver?
[...]
> >>>>+static int __init altera_sdr_init(void)
> >>>>+{
> >>>>+ return platform_driver_register(&altera_sdr_driver);
> >>>>+}
> >>>>+postcore_initcall(altera_sdr_init);
> >>>Why was this chosen?
> >>We want this to happen pretty early.
> >If you _need_ this is happen early, core_initcall() is more commonly
> >used, but _why_ do you need it to happen this early?
> The syscon driver used this designation. After talking with Alan,
> this could be changed to a core_initcall(). However, it could also
> be a subsys_initcall which seems to be more common in the MFD
> drivers.
That doesn't answer my question still.
What is the reason, requirement, need for this driver to be probed so
early during the boot process?
[...]
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2014-08-04 8:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-30 18:22 [PATCHv9 0/3] Addition of Altera EDAC support tthayer at opensource.altera.com
2014-07-30 18:22 ` tthayer
2014-07-30 18:22 ` tthayer
2014-07-30 18:22 ` [PATCHv9 1/3] mfd: altera: Add Altera SDRAM Controller tthayer at opensource.altera.com
2014-07-30 18:22 ` tthayer
2014-07-30 18:22 ` tthayer-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx
2014-07-31 8:26 ` Lee Jones
2014-07-31 8:26 ` Lee Jones
2014-07-31 20:00 ` Thor Thayer
2014-07-31 20:00 ` Thor Thayer
2014-07-31 20:00 ` Thor Thayer
2014-08-01 8:13 ` Lee Jones
2014-08-01 8:13 ` Lee Jones
2014-08-01 22:27 ` Thor Thayer
2014-08-01 22:27 ` Thor Thayer
2014-08-01 22:27 ` Thor Thayer
2014-08-02 17:08 ` Steffen Trumtrar
2014-08-02 17:08 ` Steffen Trumtrar
2014-08-04 16:09 ` Thor Thayer
2014-08-04 16:09 ` Thor Thayer
2014-08-04 16:09 ` Thor Thayer
2014-08-04 8:41 ` Lee Jones [this message]
2014-08-04 8:41 ` Lee Jones
2014-07-30 18:22 ` [PATCHv9 2/3] edac: altera: Add Altera EDAC support tthayer at opensource.altera.com
2014-07-30 18:22 ` tthayer
2014-07-30 18:22 ` tthayer-yzvPICuk2ABMcg4IHK0kFoH6Mc4MB0Vx
2014-07-30 18:22 ` [PATCHv9 3/3] arm: dts: Add Altera SDRAM controller bindings tthayer at opensource.altera.com
2014-07-30 18:22 ` tthayer
2014-07-30 18:22 ` tthayer
2014-08-18 0:50 ` Rob Herring
2014-08-18 0:50 ` Rob Herring
2014-08-18 14:44 ` Thor Thayer
2014-08-18 14:44 ` Thor Thayer
2014-08-18 14:44 ` Thor Thayer
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=20140804084126.GD3935@lee--X1 \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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.