P-G, Vitaly, > > I would say our design would map like this: > common-hci-module: cg2900_core > serial, spi, i2c,... : cg2900_uart together with hci_ldisc (for other transports it would be different files) > bt, ti-radio, st-e-radio,...: cg2900_chip together with btcg2900 and other users per channel (cg2900_char_devices for users in User space) > So it is not a 1-to-1 mapping for the upper parts. I would draw it like this: > >                bt  st-e-radio Âst-e-gps >                Â|     |     Â| >                Â+---------+----------+ >                     Â| >          ti-xx        Âst-e cg2900... >           |          Â| >           +---------+----------+ >                | >            common-hci-module >                | >          +-----------+-----------+ >          |    Â|    |   Â| >         serial  Âspi   i2c  Â... regarding the architecture above suggested... Is having the common-hci-module, only way ? Why is this dependency on bluetooth at all? for example: today I don't compile my kernel with BT support, but still want to use the chip for FM & GPS, It should be possible correct ? Even in TI case, although the firmware download is HCI-VS way, we don't use hci_core to interpret the responses... instead of common-hci-module, why not create a algo-driver layer 'ala i2c ? where individual drivers can register their receive handlers for data interpretation ? > > The reason for this difference I've gone through before. Basically there are so many special behaviors and needed handling that is individual for each chip (like startup and shutdown and in the case of CG2900 flow control over FM and BT channels for audio commands). If you then look at the users I guess it would be possible to have one BT user, but it would have to be modified to handle vendor specific commands (as btcg2900 does with BT_ENABLE command). As Arnd has drawn for FM and GPS the users would be completely individual since they don't have a standardized Âinterface. > > /P-G > -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html