[PATCH 2/3] sparc: make driver/of/pdt no longer sparc-specific

Andres Salomon dilinger at queued.net
Mon Aug 16 14:22:44 EST 2010


On Sun, 08 Aug 2010 22:34:44 -0700 (PDT)
David Miller <davem at davemloft.net> wrote:

> From: Andres Salomon <dilinger at queued.net>
> Date: Mon, 9 Aug 2010 01:32:45 -0400
> 
> > On Sun, 8 Aug 2010 23:12:21 -0600
> > Grant Likely <grant.likely at secretlab.ca> wrote:
> > 
> >> If you have to explicitly cast these function pointers, then you're
> >> doing it wrong.  :-)  Listen to and fix the compiler complaint
> >> here.
> >> 
> > 
> > Hm, can you please expand on that?  The reason it's necessary to
> > cast is because sparc's prom_* functions are using ints instead of
> > phandles.  I don't understand why casting is the wrong thing here.
> > 
> > I could write some 1-line wrapper functions that simply call prom_*
> > rather than casting, I suppose.
> 
> There's no reason the Sparc interfaces can't take phandles since they
> are just ints, and that would make the call signatures of these
> functions compatible with the types used by the other architectures.

You're saying to convert the sparc code to use phandles?  Doing so has
caused phandles to show up in asm/openprom.h (linux_dev_v2_funcs's
v2_inst2pkg returns a phandle, and linux_nodeops use phandles).  This
is fine, except asm/openprom.h is an exported kernel header, and
linux/of.h is not.

I'm tempted to break the phandle/device_node/property stuff out into a
separate header (that gets exported), and include that from linux/of.h
and asm/openprom.h.


More information about the devicetree-discuss mailing list