On 11/6/10 4:36 PM, repository service wrote:
Modified: trunk/src/superio/serverengines/pilot/pilot_early_init.c
--- trunk/src/superio/serverengines/pilot/pilot_early_init.c Sat Nov 6 01:57:19 2010 (r6029) +++ trunk/src/superio/serverengines/pilot/pilot_early_init.c Sun Nov 7 00:36:49 2010 (r6030) @@ -29,7 +29,7 @@ */ static void pilot_early_init(device_t dev) {
- unsigned port = dev >> 8;
u16 port = dev >> 8;
print_debug("Using port: "); print_debug_hex16(port);
@@ -55,6 +55,7 @@ pnp_set_enable(PNP_DEV(port, 0x3), 0); pnp_exit_ext_func_mode(dev); */
- pnp_enter_ext_func_mode(dev); pnp_set_logical_device(PNP_DEV(port, 0x4)); pnp_exit_ext_func_mode(dev);
@@ -95,6 +96,7 @@ pnp_enter_ext_func_mode(dev); pnp_set_enable(PNP_DEV(port, 0x7), 0); pnp_exit_ext_func_mode(dev);
/* pnp_enter_ext_func_mode(dev); pnp_set_logical_device(PNP_DEV(port, 0x8));
I know I have been one of the biggest advocators of this kind of change. However, I just recently got reminded that there are CPUs without I/O operations. On these the IO range is usually memory mapped. So this kind of trick with shifting dev and also assuming that a port I/O address fits in 16bit is not always possible. Now, who knows if any such system (except the dead alpha) exists that actually requires Super I/O drivers. However, we should keep this in mind for other code (like the UART stuff)
Stefan