>>>>> On Thu, 13 Jan 2005 21:48:36 +0000, Richard Sandiford <rsandifo@xxxxxxxxxx> said: rsandifo> You can't dereference it, obviously, just like you can't rsandifo> deference a normal "void *". But you can assign it to any rsandifo> "volatile T *" without an explicit cast. I assumed that's rsandifo> what was happening in this case? Assigning "void *" to "volatile T *" is not a problem. Compiler warns if you assigned "volatile T *" to "void *". The warnings I mentioned before are: /usr/src/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h: In function `ahc_inb': /usr/src/linux/drivers/scsi/aic7xxx/aic7xxx_osm.h:589: warning: passing arg 1 of `readb' discards qualifiers from pointer target type --- Atsushi Nemoto