• Johan Hedberg's avatar
    Bluetooth: Implement automatic setup procedure for local adapters · ab81cbf9
    Johan Hedberg authored
    This patch implements automatic initialization of basic information
    about newly registered Bluetooth adapters. E.g. the address and features
    are always needed so it makes sense for the kernel to automatically
    power on adapters and read this information. A new HCI_SETUP flag is
    added to track this state.
    
    In order to not consume unnecessary amounts of power if there isn't a
    user space available that could switch the adapter back off, a timer is
    added to do this automatically as long as no Bluetooth user space seems
    to be present. A new HCI_AUTO_OFF flag is added that user space needs to
    clear to avoid the automatic power off.
    
    Additionally, the management interface index_added event is moved to the
    end of the HCI_SETUP stage so a user space supporting the managment
    inteface has all the necessary information available for fetching when
    it gets notified of a new adapter. The HCI_DEV_REG event is kept in the
    same place as before since existing HCI raw socket based user space
    versions depend on seeing the kernels initialization sequence
    (hci_init_req) to determine when the adapter is ready for use.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@nokia.com>
    Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
    ab81cbf9
hci_core.h 18.1 KB