[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110317234814.421f1aa4@lxorguk.ukuu.org.uk>
Date: Thu, 17 Mar 2011 23:48:14 +0000
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Grant Likely <grant.likely@...retlab.ca>
Cc: David Daney <ddaney@...iumnetworks.com>,
linux-serial@...r.kernel.org, gregkh@...e.de,
linux-kernel@...r.kernel.org, devicetree-discuss@...ts.ozlabs.org
Subject: Re: [RFC PATCH 1/2] serial: 8250: Add a notifier chain for driver
registration.
> Device registration isn't the problem. The problem is supplying
> machine-specific callbacks from the board support code to the
> drivers. When devices are sourced from a device tree, it is easy to
> get data about the device out of the tree, but it is really hard to
> get callback pointers. To make it all work without this fiddling
> about, the octeon serial_{in,out} implementation would need to be
> rolled into of_serial.c (which FWIW, I have absolutely no problem
> with).
Disagree - the arch code needs to register I/O method descriptions with
the of_serial code they don't neccessarily need to be in it.
Ie you'd have something like
of_serial8250_register_ops("dt-op-type-name-blah", &ops);
in the early boot code, and the ops can be in the arch, providing the ops
has a module owner field the rest can even work modular. Sure the stuff
should be able to describe standard forms directly without extra methods
being registered but for the special stuff I think that is the right
approach
Funnily enough I'm in the middle of trying to rip the rm9k, au and other
crap out of 8250.c by doing this for the UPIO_xxx ids and once you have
an ops struct you can also then go and boot out the resource claim crap
and package it all nicely.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists