linux/drivers/acpi/sbshc.h
<<
>>
Prefs
   1struct acpi_smb_hc;
   2enum acpi_smb_protocol {
   3        SMBUS_WRITE_QUICK = 2,
   4        SMBUS_READ_QUICK = 3,
   5        SMBUS_SEND_BYTE = 4,
   6        SMBUS_RECEIVE_BYTE = 5,
   7        SMBUS_WRITE_BYTE = 6,
   8        SMBUS_READ_BYTE = 7,
   9        SMBUS_WRITE_WORD  = 8,
  10        SMBUS_READ_WORD  = 9,
  11        SMBUS_WRITE_BLOCK = 0xa,
  12        SMBUS_READ_BLOCK = 0xb,
  13        SMBUS_PROCESS_CALL = 0xc,
  14        SMBUS_BLOCK_PROCESS_CALL = 0xd,
  15};
  16
  17static const u8 SMBUS_PEC = 0x80;
  18
  19enum acpi_sbs_device_addr {
  20        ACPI_SBS_CHARGER = 0x9,
  21        ACPI_SBS_MANAGER = 0xa,
  22        ACPI_SBS_BATTERY = 0xb,
  23};
  24
  25typedef void (*smbus_alarm_callback)(void *context);
  26
  27extern int acpi_smbus_read(struct acpi_smb_hc *hc, u8 protocol, u8 address,
  28               u8 command, u8 * data);
  29extern int acpi_smbus_write(struct acpi_smb_hc *hc, u8 protocol, u8 slave_address,
  30                u8 command, u8 * data, u8 length);
  31extern int acpi_smbus_register_callback(struct acpi_smb_hc *hc,
  32                                 smbus_alarm_callback callback, void *context);
  33extern int acpi_smbus_unregister_callback(struct acpi_smb_hc *hc);
  34