<br><br><div class="gmail_quote">On Fri, Nov 14, 2008 at 9:58 AM, Myles Watson <span dir="ltr"><<a href="mailto:mylesgw@gmail.com">mylesgw@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="Ih2E3d">On Fri, Nov 14, 2008 at 9:55 AM, ron minnich <span dir="ltr"><<a href="mailto:rminnich@gmail.com" target="_blank">rminnich@gmail.com</a>></span> wrote:<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">
<div>On Fri, Nov 14, 2008 at 8:50 AM, Myles Watson <<a href="mailto:mylesgw@gmail.com" target="_blank">mylesgw@gmail.com</a>> wrote:<br></div></div><div class="Ih2E3d"><div><br>
> If we're going that way, I'd rather just use what we have and change the PNP<br>
> code to match. (Let it create dynamic devices but pass more information in<br>
> the info structure so that the enables get set, etc.)  The hierarchy buys us<br>
> nothing if we just make lots of little files and types.<br>
<br>
</div>I think this makes the most sense.</div></blockquote><div><br>I'll implement this one and send a patch. I don't like it being labeled dynamic, but I will live (or else I'll change it.)<br></div></div>
</blockquote></div><br>I changed it so that the names look like this:<br> ioport_2e(IOPORT: 2e): enabled 1 have_resources 0 devfn ff<br>  ioport_2e_pnp_child_0(PNP: 002e.0): enabled 0 have_resources 0 devfn 0<br>  ioport_2e_pnp_child_0(PNP: 002e.1): enabled 0 have_resources 0 devfn 1<br>
  ioport_2e_pnp_child_0(PNP: 002e.2): enabled 1 have_resources 0 devfn 2<br>  ioport_2e_pnp_child_0(PNP: 002e.3): enabled 0 have_resources 0 devfn 3<br>  ioport_2e_pnp_child_0(PNP: 002e.5): enabled 1 have_resources 0 devfn 5<br>
  ioport_2e_pnp_child_0(PNP: 002e.6): enabled 0 have_resources 0 devfn 6<br>  ioport_2e_pnp_child_0(PNP: 002e.7): enabled 0 have_resources 0 devfn 7<br>  ioport_2e_pnp_child_0(PNP: 002e.8): enabled 0 have_resources 0 devfn 8<br>
  ioport_2e_pnp_child_0(PNP: 002e.9): enabled 0 have_resources 0 devfn 9<br>  ioport_2e_pnp_child_0(PNP: 002e.a): enabled 0 have_resources 0 devfn a<br>  ioport_2e_pnp_child_0(PNP: 002e.b): enabled 1 have_resources 0 devfn b<br>
<br><br>This patch changes PNP support for devices so that the dts values get passed<br>in.  Build and run-tested only on Serengeti.  It will probably require the rework of other SuperIOs.<br><br>include/device/pnp.h:<br>
    Add enable, val, and irq & drq structs.<br><br>superio/winbond/w83627hf/superio.c:<br>    Change functions to operate on children.<br>    Add device ID to ops.<br>    Add enables to pnp_dev_info table.<br>    Fill in dts values.<br>
<br>superio/winbond/w83627hf/dts:<br>    Get rid of device number parameters.<br>    Add config parameters so we know when they're set.<br><br>device/pnp_device.c:<br>    Allocate devices as children to SuperIO.<br><br>
<br>device/pnp_device.c:<br>    Allocate devices as children to SuperIO.<br><br>mainboard/amd/serengeti/dts:<br>    Move ioport so it's found. (Not its permanent resting place I hope.)<br>    Add enables for KBC, SP1, and HWM to show it off.<br>
<br>Signed-off-by: Myles Watson <<a href="mailto:mylesgw@gmail.com">mylesgw@gmail.com</a>><br><br>Thanks,<br>Myles<br>