Revision 646ebd4166ca00bdf682a36bd2e1c9a74d848ac6 authored by Leon Romanovsky on 08 February 2017, 15:04:09 UTC, committed by Doug Ledford on 08 February 2017, 17:28:49 UTC
Remove references to private kernel header and defines from exported
ib_user_verb.h file.

The code snippet below is used to reproduce the issue:

 #include <stdio.h>
 #include <rdma/ib_user_verb.h>

 int main(void)
 {
	printf("IB_USER_VERBS_ABI_VERSION = %d\n", IB_USER_VERBS_ABI_VERSION);
	return 0;
 }

It fails during compilation phase with an error:
➜  /tmp gcc main.c
main.c:2:31: fatal error: rdma/ib_user_verb.h: No such file or directory
 #include <rdma/ib_user_verb.h>
                               ^
compilation terminated.

Fixes: 189aba99e700 ("IB/uverbs: Extend modify_qp and support packet pacing")
CC: Bodong Wang <bodong@mellanox.com>
CC: Matan Barak <matanb@mellanox.com>
CC: Christoph Hellwig <hch@infradead.org>
Tested-by: Slava Shwartsman <slavash@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
1 parent 647bf3d
Raw File
emc1403
Kernel driver emc1403
=====================

Supported chips:
  * SMSC / Microchip EMC1402, EMC1412
    Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
    Prefix: 'emc1402'
    Datasheets:
	http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
  * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
    Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
    Prefix: 'emc1403', 'emc1404'
    Datasheets:
	http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
  * SMSC / Microchip EMC1422
    Addresses scanned: I2C 0x4c
    Prefix: 'emc1422'
    Datasheet:
	http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
  * SMSC / Microchip EMC1423, EMC1424
    Addresses scanned: I2C 0x4c
    Prefix: 'emc1423', 'emc1424'
    Datasheet:
	http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf

Author:
    Kalhan Trisal <kalhan.trisal@intel.com


Description
-----------

The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
contain up to four temperature sensors. EMC14x2 support two sensors
(one internal, one external). EMC14x3 support three sensors (one internal,
two external), and EMC14x4 support four sensors (one internal, three
external).

The chips implement three limits for each sensor: low (tempX_min), high
(tempX_max) and critical (tempX_crit.) The chips also implement an
hysteresis mechanism which applies to all limits. The relative difference
is stored in a single register on the chip, which means that the relative
difference between the limit and its hysteresis is always the same for
all three limits.

This implementation detail implies the following:
* When setting a limit, its hysteresis will automatically follow, the
  difference staying unchanged. For example, if the old critical limit
  was 80 degrees C, and the hysteresis was 75 degrees C, and you change
  the critical limit to 90 degrees C, then the hysteresis will
  automatically change to 85 degrees C.
* The hysteresis values can't be set independently. We decided to make
  only temp1_crit_hyst writable, while all other hysteresis attributes
  are read-only. Setting temp1_crit_hyst writes the difference between
  temp1_crit_hyst and temp1_crit into the chip, and the same relative
  hysteresis applies automatically to all other limits.
* The limits should be set before the hysteresis.
back to top