how to best ioremap() the ranges part of a "simple-bus" device?

Martin Kaiser lists at kaiser.cx
Wed Aug 1 04:34:43 EDT 2018


Thus wrote Martin Kaiser (lists at kaiser.cx):

> Thus wrote rpjday at crashcourse.ca (rpjday at crashcourse.ca):


> > i'll need to access that device tree entry and effectively ioremap()
> > slave0's physical address to a usable virtual address.

> >   is there a canonical way to do this? short of manually extracting
> > the appropriate device tree node and reading that property and calling
> > ioremap()? is there a wrapper for that sort of operation, which i
> > imagine must be fairly common?

> I guess that of_iomap() does what you need here.

Oh, I missed your point. You were asking specifically about ranges,
of_remap() searches for a reg property.

I'm not aware of any generic function to parse ranges. All I found was
of_pci_range_to_resource() which is specific to PCI...

You could search the dt files for "ranges =", find the corresponding
drivers and see how they parse the info.

Sorry for the noise,
Martin



More information about the Kernelnewbies mailing list