Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 11/12] unicore32 machine related files: ps2 driver | Date | Thu, 17 Feb 2011 18:03:15 +0100 |
| |
On Wednesday 16 February 2011, Guan Xuetao wrote: > +/* > + * Register numbers. > + */ > +#define I8042_COMMAND_REG ((unsigned long)&PS2_COMMAND) > +#define I8042_STATUS_REG ((unsigned long)&PS2_STATUS) > +#define I8042_DATA_REG ((unsigned long)&PS2_DATA) > + > +static inline int i8042_read_data(void) > +{ > + return inb(I8042_DATA_REG); > +} > + > +static inline int i8042_read_status(void) > +{ > + return inb(I8042_STATUS_REG); > +} > +
This is not a correct way to use inb()/outb(), as far as I can tell: PS2_COMMAND is an mmio pointer (or should be, see my other message).
inb() however is only defined on PCI/ISA PIO port numbers, which are in the range between 0 and 65535, and typically get mapped into the memory from the PCI driver.
Arnd
| |