I wrote: > > Maybe ahc(4) was the only one that was broken. The point is that you > > could have found this by comparing the object files. > > Although ahc(4) has many quirks (to share sources among *BSD/Linux), > only aic7xxx_osm.c belongs to ahc(4) and it doesn't have any bad cast, > per output of grep adapt_dev sys/dev/ic/*.
Ah, in ahc_detach(), there is one misleading cast against device_t self to get softc. In this case, maybe ahc_detach() should be changed to take softc... (ahc_cardbus.c passes (void *)ahc to ahc_detach()'s device_t arg. Oh well.) Maybe we should discuss which arg should such MI detach functions take, since detach functions in frontends take device_t... --- Izumi Tsutsui