On Thu, Nov 13, 2008 at 12:14 PM, ron minnich <rminnich@gmail.com> wrote:
{
       device_operations = "w83627thg_ops";
       /* To override any of these, put the over-ride in mainboard dts. */

       /* COM1 */
       pnp@2{
                com1dev = "2";
                com1enable = "0";
                com1io = "0x3f8";
                com1irq = "4";
       };



Questions I have no answer to:
Before I put the pnp2 in , we got this:


struct superio_winbond_w83627thg_dts_config domain_0_ioport_2e = {
       .com1dev = 0x2,
       .com1enable = 0x0,
       .com1io = 0x3f8,

etc.

What should we get now?
struct superio_common_pnp domain_0_ioport_2e_pnp_2 = {
        .enable = 0x0,
        .io = 3f8,

struct superio_common_pnp domain_0_ioport_2e_pnp_5 = {
        .enable = 0x0,
        .io = 3f8,
etc.
 
Should pnp2 be a device?
That's the way it is now.  I'm just making them static instead of dynamic.
Child or sibling of w83627thg?
Child?  That's how I did it.
 
What
device_operations should it have?
Enable and set.
 
One possibiltiy: if no
device_operations property in the pnp@2 node,
inherit from parent.

That's how I did it the first time, but then I saw that you were already passing it into the PNP code in the info structure, so I took it back out.
 

What do you want to see?

I'm not picky if it works.  I could go back and implement it with it all inside the device.  I would just have to change the PNP code a _lot_ more than I did.  There would have to be more passes so that you could get the devices set up, then go back and initialize them with resources.  I was trying to minimize changes.

Thanks,
Myles