Appropriate method of io remapping a single memory location?
maitysanchayan at gmail.com
maitysanchayan at gmail.com
Tue May 5 09:29:04 EDT 2015
Hello Carlo,
On 15-05-05 14:25:25, Carlo Caione wrote:
> On Tue, May 5, 2015 at 12:18 PM, <maitysanchayan at gmail.com> wrote:
> > Hello,
> >
> > I am adding a small piece of code to expose SoC specific information
> > while following the below information, for a Cortex A5 platform.
> >
> > https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-soc
> >
> > For the SoC device attribute revision, I need to access a location 0x80
> > for reading the ROM revision information. I am kinda stuck at trying to
> > find the appropriate way to read this location.
> >
> > The devm_ioremap* functions take a device pointer which I can manage but
> > they also need a struct resource argument and devm_ioremap requries a
> > resource_size_t as well. Having only a specific location to read,
> > without having any struct resource what would be the appropriate way to
> > get this information.
>
> If the register / memory location is only used for that specific
> purpose then using something like reg = <0x00000080 0x4> in the DT
> node is perfectly fine. But if the register is part of a larger device
> you can use a syscon device to represent that.
Thanks for the reply. Hmm... I did not think of a DT entry as it is a
single location and not part of any particular peripheral. Not even
mentioned in the memory map.
I tried grepping for ioremap functions instead of devm ones and saw one
instance and I wrote mine like this
rom_rev = ioremap(ROM_REVISION_REGISTER, SZ_1);
if (rom_rev)
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%08x",
readl(rom_rev));
Is something like this valid? Or use of devm_* functions is
recommeneded? Since this ioremap is gonna be called from a function
which is bound to the .init_machine entry of DT_MACHINE_START any harm
in doing this ioremap directly or the DT method would be recommended?
Perhaps the side effect would be the stale mapping lying aroung even
once the .init section is reclaimed?
>
> --
> Carlo Caione
Thanks & Regards,
Sanchayan Maity.
More information about the Kernelnewbies
mailing list